Eclipse für PHP unter Opensuse – III

Die Anbindung der Verzeichnisse und Dateien eines PHP-Projektes an ein Versionskontrollsystem ist aus meiner Sicht fundamental für größere Entwicklungsarbeiten. In diesem dritten Beitrag der Eclipse-Reihe erweitern wir daher unser Eclipse-System zunächst um die benötigten SVN-Komponenten. Diese Komponenten werden im nächsten Beitrag vorausgesetzt und dienen hier als Beispiel dafür, wie man Eclipse-Erweiterungen verfügbar macht.

Danach werfen wir einen kurzen Blick auf die Möglichkeit zum Update des Systems. Abschließend gebe ich eine Übersicht über andere Pakete, die wir im Verlauf der weiteren Beiträge benötigen, und die ein PHP/Ajax-Entwickler früher oder später installieren sollte.

Voraussetzungen:

  • Eclipse ist wie im Teil II beschrieben eingerichtet.
  • Es liegt ein PHP-Projekt “myproject” vor – im Verzeichnis

    /MY_PFAD/wsp_ecl/myproject

    Dieses Projekt kann im PHP-Explorer angesehen werden.

Den Einsatz der linken oder rechten Maustaste deuten wir nachfolgend durch die Abkürzungen

  • LMT: Linke Maustaste
  • RMT: Rechte Maustaste

an.

Schritt 1: Hinzufügen von SW-Sites für Updates

Eclipse kann man über spezifische Sites und Repositories im Internet und eigene Verwaltungsfeatures erweitern und updaten. Es hat keinen Sinn, Eclipse über Yast, RPM- oder Debian-Paket-Manager hinsichtlich des Paket- oder Plugin-Umfangs zu verwalten. Die Eclipse eigenen Installations- und Update-Tools findet man unter

  • Help >> Install New Software
  • Help >> Check for Updates
  • Help >> Eclipse Market Place

Wir befassen uns hier kurz mit den ersten beiden Punkten. Die Entdeckung des “Market Place” überlassen wir dem Leser selbst.

Eine Übersicht über diejenigen SW-Sites, die momentan für Installationen/Updates zur Verfügung stehen, erhält man über den Menüpunkt

Help >> Install New Software

Auf dem sich öffnenden Dialog klicken wir oben auf den Link

“Available Software Sites”

und sehen etwa folgendes:

eclipse SWSites

Über die Bedienleiste rechts (oben nicht abgebildet) kann man auch Sites hinzufügen, wenn man von neuen interessanten Eclipse-Erweiterungen im Netz Kenntnis erhält. In meinem Fall sind folgende Sites installiert und aktiviert:

  • Helios – http://download.eclipse.org/releases/helios
  • Helios – http://download.eclipse.org/releases/helios/201102250900
  • PTP Updates – http://download.eclipse.org/tools/pdt/updates/2.2/milestones
  • Subversive Site – http://download.eclipse.org/technology/subversive/0.7/update-site/
  • Polarion Subversive SVN Connectors Site – http://community.polarion.com/projects/subversive/download/eclipse/2.0/update-site/
  • The Eclipse Project Updates – http://download.eclipse.org/eclipse/updates/3.6
  • PTP Updates Helios – http://download.eclipse.org/tools/ptp/updates/helios
  • TPTP Updates – http://download.eclipse.org/tptp/updates/
    Modelling Updates – http://www.eclipse.org/modeling/updates/

Eine Liste interessanter Update Sites für verschiedene Eclipse-Versionen findet man hier:

http://ekkescorner.wordpress.com/eclipse/update-sites/

Sites für SVN-Erweiterungen

Für die
Installation der SVN-Unterstützung sind die Subversion betreffenden Sites von Interesse. Siehe auch:

http://www.eclipse.org/subversive/
http://www.polarion.com/products/svn/subversive.php

An dieser Stelle sei darauf hingewiesen, dass es neben dem hier aufgeführten Subversion-Projekt von polarion.com auch die Erweiterung “Subclipse” von tigris.org gibt. Weitere Informationen findet man hier:

http://subclipse.tigris.org/

Bzgl. “Subclipse” habe ich leider keinerlei persönliche Erfahrungen. Das ist rein zufällig so – ich habe mit den “Subversion”-Erweiterungen von Polarion begonnen und war bislang zufrieden – und schlicht zu faul, mich zusätzlich um Subclipse zu kümmern. Das beinhaltet aber keinerlei fundierte Wertung über die Qualität oder Performance beider Erweiterungspakete. Ich habe über beide Erweiterungen Positives wie Negatives gelesen.

Schritt 2: Hinzufügen von SVN-Erweiterungen

Wir gehen nun erneut zu “Help” >> “Install New Software”. Dort wählen wir bei der Combobox

“Work With” : “– All Available Sites –”

und erhalten dann eine Liste installierbarer Pakete. Subpakete zu einem Hauptpaket sieht man, wenn man auf das Dreieck vor dem Haupt-Paket klickt.

Hinweis:    Will man wissen, welche Pakete bereits installiert sind, kann man den Link “What is already installed?” unten rechts auf der Seite verwenden.

Wir scrollen die alphabetisch sortierte Liste der installierbaren Erweiterungen zu den Paketen mit Subversive-Bezug. Da der Zugriff auf einige der Seites, von denen die Pakete geladen werden müssen, etwas träg ist, installieren wir die Pakete Stück für Stück, um Timeouts der Installationsroutine zu vermeiden.

Eclipse New SW

Wir beginnen mit dem Paket

“Subversive SVN Connectors”

und haken das ab. Dann klicken wir auf den Button “Next”. Auf der nächsten Seite kommen nun möglicherweise Meldungen, dass die Subpakete zu den “Win32 Binaries” nicht installiert werden können. Wir wählen diese Pakete daher im oberen Seitenbereich ab und drücken erneut auf den Button “Next”. Danach bestätigen wir die Installation und verfolgen den Status der Installation.

Anschließend verfahren wir ganz analog mit den Erweiterungspaketen

  • Subversive SVN Team Provider Plugin (Incubation)
  • Subversive Integration Plug-Ins (Incubation) (für Mylyn)

und bei Interesse installieren wir auch die zugehörigen Source-Pakete

  • Subversive Source
  • Subversive SVN Connector Sources

Der Download der Pakate und deren Installation kann etwas Zeit in Anspruch nehmen. Nach jedem installierten Paket werden wir zum Neustart von Eclipse aufgefordert. Wir müssen die spätestens nach der letzten Paket-Installation machen, um die installierten Pakete in Eclipse zu aktivieren und die entsprechenden GUI-Elemente anzeigen zu können.

Schritt 3: Erweiterung von Menüs und Icon-Leisten um SVN-Bedienelemente

Die Installation eines neuen Paketes bedeutet nicht automatisch, dass alle damit verbundenen Bedienelemente in der Form angezeigt werden, wie man das wünscht. Bzgl. SVN sorgen wir zunächst um die entsprechenden Erweiterungend er Menüleiste und der grafischen Icon-Leisten.

Wir haben im Eclipse-Fenster den PHP-Explorer geöffnet. Nun öffnen wir

Window >> Customize Perspective

oder klicken mit RMT auf die Icon-Leiste unter der Menü-Leiste und wählen dort “Customize Perspective”. In der dort erscheinenden Leiste verfügbarer Menü-Punkte unter dem Reiter “Tool Bar Visibility” taucht der Punkt “SVN” leider nur ausgegraut auf.

Eclipse Customize Perspective

Dies liegt daran, dass die “SVN-Kommando-Gruppe” noch nicht aktiviert wurde. Wir öffnen daher den Reiter

“Command Groups Availability”.

Dort markieren wir im linken Seitenbereich die Checkbox für “SVN”.

Eclipse Command Groups

Es werden uns dann die Punkte für das Menü und die Toolbars angezeigt. Will man die Menge der Items reduzieren, kann man das nun über die Reiter “Tool Bar Visibility” und “Menu Visibility” tun.

Danach prüfen wir, dass in der PHP-Explorer-Ansicht unseres Projektes “myproject” die Icon-Toolbar um einen SVN-Bereich erweitert wurde – wenn auch noch ausgegraut, da unser Projekt noch nicht mit einem SVN-Repository verbunden wurde.

Nun prüfen wir auch noch, dass sich die “SVN-Repository-Ansicht” öffnen lässt. Hierzu klicken wir in unserer PHP-Perspective auf

Window >> Show View >> Other >> SVN >> SVN Repositories

Neben dem PHP-Reiter öffnet sich nun ein neuer Reiter mit der Bezeichnung “SVN” und das zugehörige Fenster. Dieses Fenster ist noch leer, da wir keine Projekte angelegt haben. Das nachfolgende Bild zeigt den Blick auf ein bereits angelegtes Repository, wobei im rechten Bereich zusätzlich der “SVN Repository Browser” geöffnet wurde.

SVN 600

Schritt 4: Updates der bereits installierten Eclipse-Pakete

Wie hält man das Eclipse-System nun auf dem neuesten Stand? Dies ist relativ einfach – zumindest solange sich keine neue Abhängigkeiten durch Modernisierungen ins System einschleichen. Man benutzt einfach manuell :

Help >> Check for Updates

Das System wird dann auf den oben eingerichteten Sites nach neuen Paketen suchen und deren Installation vorschlagen. Sollten viele neue Pakete vorhanden sein, empfiehlt sich wiederum eine Paket für Paket -Installation, um Timeouts zu vermeiden.

Automatische Updates

Man kann das Update-Verhalten in Grenzen auch automatisieren. Die notwendigen Einstellungen nimmt man unter

Window >> Preferences >> Install/Update >> Automatic Updates

vor.

Schritt 5: Weitere nützliche Erweiterungen für die Web-Entwicklung

Ich gebe nachfolgend eine Übersicht über die Haupt-Erweiterungspakete, die auf meinem Eclipse-System installiert sind.

  • Axis2 Tools
  • Eclipse IDE for PHP Developers (essentiell in meinem Entwicklungsumfeld)
  • Eclipse Web Developer Tools (essentiell)
  • Javascript Development Tools (essentiell)
  • JAX-Ws DOM Tools
  • JAX-WS Tools
  • Native JavaHL 1.4 Implementation (essentiell)
  • Native JavaHL 1.5 Implementation (essentiell)
  • Native JavaHL 1.6 Implementation (essentiell)
  • PHP Development Tools (PDT) SDK Feature (essentiell)
  • PTD RDT Remote Toools Support (essentiell)
  • PTP Remote System
    Explorer Adapter
  • Remote System Explorer End-User Runtime
  • Remote System Explorer User Actions
  • Rich Ajax Platform (RAP) Tooling
  • Subversive Revision Graph
  • Subversive SVN Connectors
  • Subversion SVN Integration for the Mylyn Project
  • Subversive SVN JDT Ignore Extensions
  • Subversive SVN Team Provider
  • Subversive SVN Team Provider Localization
  • Subversive SVN Team Provider Sources
  • SVN Team Provider Connector Sources
  • SVNKit 1.1.7 Implementation
  • SVNKit 1.2.2 Implementation
  • SVNKit 1.3.5 Implementation
  • Target Management Terminal
  • Web Page Editor
  • WST Server Adapters

Man erkennt, dass manche der Pakete der reinen Unterstützung der Web-Entwicklung dienen, während andere die Anbindung von Eclipse an SVN und Remote-Systeme unterstützen.

Alle Pakete/Sub-Pakete findet man in der Übersicht unter “Install New Software”. Bei einigen muss man die Hauptpakete öffnen, indem man auf das horizontale Dreieck vor dem Paket klickt.

Eclipse für PHP unter Opensuse – II

In diesem 2-ten Teil der Beiträge zum Einsatz von Eclipse unter Opensuse 11.3/11.4 wollen wir Eclipse selbst auf unserem lokalen Entwicklungssystem installieren.

Wir beschreiben nachfolgend nur eine sehr individuelle Installation in einem persönlichen Verzeichnis mit Hilfe von Dateien, die wir aus dem Netz herunterladen. [Für eine systemweite Installation für mehrere User unter Opensuse und anderen Systemen sehen Sie bitte entsprechende Hinweise in einigen der Links am Ende dieses Beitrags.]

Angemerkt sei auch, dass einige Anwender Schwierigkeiten mit der Installation von Eclipse unter Opensuse 11.3 hatten – und zwar immer dann, wenn sie RPM-Pakete verwendeten. Wir werden nachfolgend dagegen die aktuellen Helios-Archive von den www.eclipse.org Websites und keine RPMs benutzen. Opensuse 11.4 beinhaltet übrigens auch kein Eclipse-RPMs mehr – zumindest nicht in den Standardrepositories von Opensuse.

Das Schöne an einer persönlichen Eclipse-Installation ist nun, dass sie im wesentlichen im Bereitstellen von Dateien eines Archivs in einem Verzeichnis im eigenen Verzeichnisbaum besteht. Das erleichtert die individuelle Kontrolle sowie Backups und Transfers auf andere Systeme enorm.

Voraussetzungen der Installation

Als Voraussetzungen nehmen wir zwar grundsätzlich an:

Das System ist gem. der Angaben des 1-ten Teils der Eclipse-Beiträge aufgesetzt.
https://linux-blog.anracom.com/2011/02/27/php-entwicklungssystem-mit-eclipse-i/

Tatsächlich benötigen wir für eine reine Eclipse-Installation ohne Anbindung an eine Testumgebung aber weder den Apache-Server, noch MySQL, noch SVN etc.. Diese kommen erst später – also in nachfolgenden Artikeln – ins Spiel.

Eclipse ist allerdings ein java-basiertes System. Um Eclipse in elementarer Form zum Laufen zu bringen, ist deshalb eine “Java Runtime”-Umgebung (JRE) erforderlich. Ich selbst habe auf meinem Opensuse 11.4 – System zwei JREs installiert:

java-1_6_0-openjdk – Java runtime environment based on OpenJDK 6 and IcedTea 6
und
java-1_6_0-sun – Java(TM) 6 Runtime Environment.

Ecdlipse arbeitet mit beiden Umgebungen gut zusammen. Natürlich ist unter Opensuse nur immer eine Umgebung wirksam – bei mir aktuell die OpenJdk-Umgebung. Wie man die Umgebung mit Hilfe des Kommandos

update-alternatives –config java

einstellt und wie man zwischen den Umgebungen wechselt, verrät folgender Artikel:

http://de.opensuse.org/Java#Zwischen_verschiedenen_Java_JREs_oder_SDKs_wechseln

Verwendete Abkürzungen: Nachfolgend verstehen wir unter “RMT” im übrigen die Anwendung der rechten Maustaste.

Schritt 1: Herunterladen und Entpacken von Eclipse

Wer sich über aktuelle und kommende Releases von Eclipse informieren will, findet erste Informationen hier:

http://en.wikipedia.org/wiki/Eclipse_%28software%29

Um Eclipse Helios für PHP in einer aktuellen Version zu installieren, kann man sich die notwendigen Pakte von folgender Adresse herunterladen:

http://www.eclipse.org/downloads/packages/release/helios/sr2

Dort wählt man das Paket “Eclipse for PHP Developers” und lädt es sich in ein Verzeichnis seiner Wahl herunter.
Anschließend expandiert man das tar.gz-Archiv (z.B. mit dem Tool “ark”) an einen Platz seiner Wahl im Verzeichnisbaum. Z.B. nach:

/MY_PFAD/eclipse

MY_PFAD steht hier für einen Pfad zu einem Verzeichnis, das mir zugänglich ist. Zur Not eben das HOME-Verzeichnis. In der Praxis halte ich aber meine Entwicklungstools und -Daten auf einer separaten Partition, für die ich besondere Backup-Regeln anwende, da ein Teil meines Geschäfts von den Ergebnissen der Entwicklungsarbeit abhängt.

Danach legen wir uns in Form eines weiteren Verzeichnisses unserer Wahl einen sog. “Eclipse Workspace” an, in dem wir PHP-Projekte unterbringen können. Solche Workspaces kann es mehrere geben. Mit Workspaces sind auch individuell, spezifische Konfigurationseinstellungen (u.a. der Benutzeroberfläche) von Eclipse verbunden. Eclipse fragt beim Öffnen normalerweise nach, welchen Workspace wir für die aktuelle Sitzung benutzen wollen. (Falls wir diese Nachfrage nicht explizit abschalten).

Ich lege für meinen ersten Workspace ein Verzeichnis

/MY_PFAD/ecl_wsp

an.

In dieses Verzeichnis hinein kopiere ich anschließend ein umfassendes Unter-Verzeichnis “myproject” mit diversen HTML-, DWT- und PHP5-Dateien, die ich in einem aktuellen Projekt verwenden will.

/MY_PFAD/ecl_wsp/myproject

Auf diesem Verzeichnis muss ich volle Schreibrechte besitzen. An dieser Stelle ist jeder natürlich selbst gefordert, eigene PHP-Projektdateien unterzubringen. Man kann das Verzeichnis “myproject” anfangs auch leer lassen und seine Dateien erst später in das Verzeichnis kopieren oder eben mit Hilfe von Eclipse selbst anlegen.

Schritt 2: Öffnen von Eclipse

Wir öffnen nun Eclipse, indem wir das Programm

/PFAD/eclipse/eclipse

starten. Z.B. über ein Terminal-Fenster und die Kommandofolge :

cd /PFAD/eclipse/
./eclipse

Man sollte vorab prüfen, dass die genannte Datei auch ausführbar ist und das ggf. ändern.

Bzgl. der Aufnahme des Eclipse Executables in den eigenen Pfad hilft folgendes (s. auch http://www.fedoranews.org/contributors/yves_janse/eclipse/06.shtml):

Anlegen eines Files ” /etc/profile.d/eclipse.sh” mit dem Inhalt:

export ECLIPSE_HOME=/usr/local/eclipse
export PATH=$PATH:$ECLIPSE_HOME

Ausführbar machen und in der aktuellen Shell ausführen:

sudo chmod +x /etc/profile.d/eclipse.sh
source /etc/profile.d/eclipse.sh

Danach kann man Eclipse auf der Kommandozeile einfach mittels des Kommandos “eclipse” starten. Auf meinem KDE-Desktop – genauer im “KDE-Arbeitsordner”- lege ich mir aber zusätzlich ein Icon zum schnellen Starten von Eclipse mittels der Maus an.

Auf die Rückfrage von Eclipse beim Starten, welchen Workspace wir öffnen wollen, geben wir das gerade angelegte Verzeichnis an. Dort liegen zwar Dateien; diese sind aber von Eclipse noch keinem Projekt zugeordnet, und es wurden daher auch keine entsprechenden “Metadaten” im Projektverzeichnis angelegt. Deshalb erscheint zunächst eine relativ einfache Eclipse-Oberfläche, die u.a. Links zu Informationen und Tutorials bietet. (Zu dieser Eröffnungsseite gelangt man später in Eclipse übrigens durch den Menüpunkt “HELP” >> “Welcome”).

eclipse_start

Schritt 3: Wechsel zur Workbench

Ganz rechts auf dem Begrüßungsschirm finden wir einen Link zur sog. Workbench, den wir benutzen.
Bei der sich nun öffnenden “Workbench” handelt es sich um ein mehrfach unterteiltes Fenster, das wir uns später per Maus sehr flexibel und persönlich einrichten können. Ganz links erkennen wir den sog. “PHP-Explorer”, in dem wir später unsere Projekte und entspr. Verzeichnisstrukturen in einer hierarchischen Gliederung sehen werden. Die nachfolgende Abbildung gibt darauf einen Vorgeschmack.

eclipse_workbench

Das Eclipse-Fenster stellt in der Regel sogenannte “Perspectives” dar. Davon gibt es – je nach Entwicklungsarbeit und Projekttyp – eine Vielzahl. Bei der oben dargestellten Perspektive handelt es sich um die sog.

PHP Perspective.

Andere Perspektiven öffnet man in Eclipse über den Menüpunkt

Window >> Open Perspective >> Other.

Innerhalb einer Perspektive kann man zusätzlich diverse sog. “Views” auf bestimmte Projektdaten oder Projektaspekte öffnen. Dies geschieht über den Menüpunkt

Window >> Show View

So werden wir unsere “PHP Perspective” später noch um einen “SVN Repository View”, einen “Task View” und einen “Remote System View” ergänzen.

Schritt 4: Anlegen eines ersten PHP-Projekts

Um ein erstes Erfolgserlebnis zu haben, legen wir nun ein PHP-Projekt an, das unsere bisherigen Dateien im Verzeichnis “myproject” unterhalb der Workbench umfassen soll. Wir nutzen hierfür den Menüpunkt:

“File” >> “New” >> “PHP Project”

Im sich öffnenden Dialog wählen wir einen Projektnamen, z.B.: “my_project”.

Eclipse New Project

Wir klicken auf den Radiobutton “Create new projects in workspace”.

Falls wir bestimmte PHP-Versionsprüfungen aktivieren wollen, wählen wir dies unter “Use project specific settings”. In meinem Fall “PHP 5.1/5.2”. Wir klicken ferner “use project as source folder”.

Den Punkt “Enable JavaScript support for this project” kann man bei sehr großen Projekten zunächst auch weglassen (dies kostet sehr viel zeitlichen Overhead bei den von Eclipse durchgeführten Fehler-Prüfungen und lohnt sich nur, wenn man viel mit Javascript-Programmen arbeitet).

Zu den Projekteinstellungen noch zwei Hinweise:

  • Hinweis 1: Ein Klick auf das Hilfe-Icon (Fragezeichen) führt zu Hilfeseiten mit vielen nützlichen Kurzinformationen zu den eben benutzten Optionen.
  • Hinweis 2: Die Javascript-Unterstützung kann man einem Projekt (ebenso wie die PHP-Unterstützung) auch noch im nachhinein zufügen. Die relevanten Menüpunkte findet man unter
    RMT auf das Projekt >> Configure

    Auf Details von Projekteinstellungen gehe ich aber noch in einem späteren Beitrag ein.

Nach den Festlegungen für unser Projekt klicken wir auf den Button “Weiter”. Auf der nächsten Konfigurationsseite wird angezeigt, dass unser Projekt-Verzeichnis als Source-Folder in den Include-Pfad eingefügt wurde. Man erkennt, dass man hier bei Bedarf noch andere Ressourcen in den Include-Pfad integrieren könnte. Die anderen verfügbaren Reiter ignorieren wir und drücken schließlich auf den Button “Finish”.

Im PHP-Explorer-Fenster wird nun das PHP-Projekt angelegt. Dass es sich tatsächlich um ein PHP-Projekt handelt, erkennt man am kleinen “P” oberhalb des Namens. (Ein
anderer Web-Projekttyp könnte etwa ein Javascript-Projekt sein – dieses würde dann über ein “JS” oberhalb des Namens angezeigt werden).

Eclipse PHP Explorer

Rechts unten in der Fußzeile des Eclipse-Fensters sehen wir übrigens für einige Sekunden (je nach Größe und Anzahl der bereits vorhandenen Dateien) den Fortschritt der sog. “Build-Operationen” für das Projekt. Hier werden u.a. auch alle Dateien auf Fehler oder Probleme geprüft, die dann zu entsprechenden Hinweisen im Eclipse-System führen (unter der Ansicht “Problems”, die sich standardmäßig im unteren Fensterbereich befindet.

Schritt 5: Modifikation der Default Character Codes für die Dateien des Projekts

Nun klicken wir per RMT auf den Projektnamen im PHP-Explorer und öffnen im Kontext-Menü den Punkt “Eigenschaften”. Im dortigen Dialog stellen wir bei Bedarf die Default-Character-Kodierung der Projektdateien um, um beim Betrachten der Dateien im Editor problematische Zeichen zu vermeiden. Will man den verwendeten Character-Set für den Workspace generell ändern, muss man den entsprechenden Punkt unter

Window >> Preferences >> General >> Workspace

einstellen.

Eclipse Preferences

Character-Code-Einstellungen kann man übrigens auch pro Datei vornehmen (s.u.).

Schritt 6: Öffnen von Dateien und elementare Einstellungen des Eclipse PHP-Editors

Nun können wir auch eine unserer Projekt-Dateien im Eclipse Editor (für PHP) öffnen. Dazu klappen wir die Verzeichnisstruktur des Projekts im PHP Explorer auf (Klicks auf die dem Projekt und seinen Unterverzeichnissen vorangestellten Dreiecke). Eine Datei öffnet man durch Doppelklick auf den Dateinamen. Hierbei öffnet sich rechts der in Eclipse integrierte “PHP Editor”.

Andere Möglichkeiten zum Öffnen einer Datei erreicht man über einen RMT-Klick auf den Dateinamen im PHP-Explorer und die Optionen des sich öffnenden Kontext-Menüs. Externe Editoren erreicht man über

RMT auf Dateinamen >> Open With >> Other >> External Programs

Font- und Farb-Preferenzen für den Editor

Welche Schriften und Markierungen der Eclipse eigene PHP-Editor benutzen soll, legen wir auch unter den “Preferences” fest:

Window >> Preferences >> General >> Appearance >> Structured Text Editors

Dort kann die Vorgabe der Fonts für den Editor editiert werden. Wesentliche Farben für die Hervorhebung bestimmter Elemente eines PHP-Programms definieren wir dagegen über den Menüpunkt

Window >> Preferences >> PHP >> Editor >> Syntax Coloring.

(Diese Umstellung kostet nach dem “Apply” manchmal leider etwas Zeit – vor allem wenn die Farben zur Hervorhebung von Klassenelementen geändert werden.)

Anzeige von PHP-Konstrukten im Outline View

Standardmäßig führt das Öffnen einer Datei mit dem eingebauten Editor auch zu einer Anzeige der wesentlichen definitorischen Elemente – wie Klassen, Methoden, Variablen etc. im sog. “Outline”-Fenster, das in der Regel rechts neben dem Editor-Fenster angezeigt wird.

Character Code pro Datei einstellen

Dies geht bei geöffneter Datei im Eclipse-eigenen Editor (der Mauscursor muss im Editor aktiv sein) über den Menüpunkt

Edit >> Set Encoding

Schritt 7: Sichten und weitere Fenster

Alle angebotenen “Sichten” oder “Perspektiven” von Eclipse auf die aktuellen Projekte und Daten (je nach aktueller Installation von Eclipse-Paketen und Plugins) kann man

  • entweder über die Menüpunkte “Window” >> “Open Perspective” oder “Window” >> “Show View”
  • oder ganz links unten über das langgestreckte Symbol mit dem Pluszeichen rechts

eclipse_view_but

öffnen und per Maus im Hauptfenster oder einem seiner Teilfenster an passender Position anordnen. Hier hilft dir durchgehende Reiter-Technologie von Eclipse dabei, die Übersicht zu behalten.

Links mit weiteren Hinweisen zur Installation


http://www.jacovosloo.info/blog/general-it/eclipseonopensuse113

http://www.unixboard.de/vb3/showthread.php?39958-Eclipse-installieren&p=314170
http://tropenhitze.wordpress.com/2010/02/01/installing-eclipse-ide-on-linux-opensuse-11-2/
http://forums.opensuse.org/english/get-technical-help-here/install-boot-login/406454-installing-eclipse.html
http://www.linux-club.de/viewtopic.php?f=28&t=95531
http://www.linuxquestions.org/questions/linux-software-2/guide-to-install-eclipse-564770/

http://www.fedoranews.org/contributors/yves_janse/eclipse/06.shtml

http://www.ubuntu-forum.de/artikel/443/eclipse-installieren.html
http://www-rbi.informatik.rwth-aachen.de/Helpdesk/eclipse-linux-installieren.php
http://wiki.ubuntuusers.de/Eclipse?action=export&format=raw&rev=29957
http://wiki.ubuntuusers.de/eclipse

Hinweise zu einer systemweiten Installation
Es empfiehlt sich dann aus meiner Sicht, eine Installation unter den Verzeichnissen “/opt”, “/usr/local” oder “/usr/share” mit hinreichenden Ausführungsrechten. Allerdings muss man sich dann auch intensiv Gedanken über die Update-Politik innerhalb von Eclipse machen. Da dies nicht zu den einfachsten Aufgaben gehört, habe ich das Thema bisher regelmäßig durch individuelle Installationen umgangen. getreu der Devise: Jeder Entwickler ist im Kern selbst für seine Entwicklungsumgebung verantwortlich.

http://divby0.blogspot.com/2007/08/howto-install-eclipse-for-multi-user.html
http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/multi_user_installs.html

Eclipse für PHP unter Opensuse – I

Einführung – Eclipse statt Dreamweaver für die PHP-Entwicklung

Lange Zeit habe ich bei einfachen PHP-Projekten aus historischen Gründen Dreamweaver CS4 als besseren “Editor” eingesetzt und damit “herumgedoktert”. Und das gleich in zweifacher Hinsicht:

  • Dreamweaver betreibt man trotz Wine und Crossover Office immer noch am besten unter Windows. Aber wer will als Linuxer schon auf Dauer mit einer solchen Umgebung leben? Selbst wenn sie sich nur in einer virtuellen Maschine entfalten darf …..
  • Zudem ist die Arbeit bei komplexen Projekten sehr unkomfortabel, denn für einen schnellen, organisierten Entwicklungsprozess fehlen Dreamweaver eine Reihe von Features, die man im Lauf der Zeit immer mehr vermisst

Nachfolgend nenne ich nur drei der Mängel:

Fehlende Editor-Funktionen und Unterstützung bei der Bearbeitung von Klassen in Dreamweaver
So ist eine aktive Unterstützung während des Editierprozesses speziell von Klassen (u.a. Syntaxprüfung, automat. Angebot an Membervariablen / Methoden) so gut wie nicht vorhanden. Das reduziert sich bei Dreamweaver im wesentlichen auf Code-Highlighting und Angaben zu Interfaces von PHP-Standard-Funktionen. Auch ist es für den Entwickler kaum möglich, bei umfangreichen Klassen einen schnellen Überblick über die benutzten Variablen und Methoden der Klasse mit entsprechenden Links zu den Codestellen im Editor zu bekommen.

Fehlende Anbindung an ein Versionskontrollsystem in Dreamweaver CS4
Vor allem aber erforderte ein vernünftiges Versionsmanagement zumindest bis zur CS4-Version einen mühsamen Umweg über den Linux-Host, um erstellte Dateien dort in eine aktuelle SVN-Version einchecken zu können. Ganz sinnvoll und praktikabel fand ich aber unter Dreamweaver das Checkout/Checkin-Verfahren mit den zugehörigen Dateisperren im Zusammenspeil mehrerer Entwickler. (Hinweisen möchte ich allerdings darauf, dass man seit der CS5-Ausgabe SVN Repositories auch für die SVN Version 1.6.x angeblich an Dreamweaver anbinden kann).

Kein integriertes Tool zur systematischen Erfassung von anstehenden Aufgaben
Ein Nachteil ist aus meiner Sicht auch, dass man das systematische Erfassen und Abarbeiten von Aufgaben mit separaten Tools (z.B. einem Task- oder Projektmanagement-Tool) übernehmen muss, die nicht in die Entwicklungsumgebung “Dreamweaver” integriert sind.

Diese Nachteile einer PHP-Entwicklung unter Adobes Dreamweaver lassen sich dann gut ertragen, wenn in der Regel nur zwei bis drei Personen mit einem Projekt beschäftigt sind, die Entwicklung der Benutzerschnittstelle im Vordergrund steht und die Projekte – speziell die Klassen-Bibliotheken – einen überschaubaren Umfang haben.

Eclipse “Helios” als Kern eines Linux-basierten PHP-Entwicklungssystems als kostenfreie Alternative
Im vergangenen Jahr wurden unsere Projekte aber immer komplizierter und die Anzahl der Klassenbibliotheken immer größer. Deshalb war es allerhöchste Zeit, zu einer besseren Entwicklungsumgebung zu wechseln. Im Frühjahr 2010 ist dann Eclipse in der “Helios”-Version erschienen. Dieser IDE ging ein guter Ruf voraus. Auch die früheren Schwieigkeiten bei der Einbindung von Subversion sollten dort behoben sein. Nach einigen Tests und einer Einarbeitungsphase bin ich inzwischen komplett auf Eclipse Helios unter Linux umgestiegen.

In der folgenden Serie von Artikeln in diesem Blog will ich die Installation und den Einsatz von Eclipse in einer Linux-Umgebung unter Opensuse 11.3/11.4 beschreiben. Wichtig ist mir dabie die Kombination mit SVN, einer Apache/MySQL-Test-Umgebung und nicht zuletzt auch mit Dreamweaver.

Kombination von Eclipse mit Adobe Dreamweaver möglich ?
Wenn mehrere Leute zusammenarbeiten und eine Person sich weiter mit der Wysiwyg-Umgebung Dreamweaver
um die Benutzerschnittstelle kümmern will oder muss, stellt sich natürlich die Frage, wie man die Eclipse-Helios-Welt unter Linux mit der Adobe Dreamweaver/Windows-Welt in einem geordneten Entwicklungsprozess kombinieren will. Das ist tatsächlich nicht ganz einfach, da das Checkout/Checkin-Verfahren der Dreamweaver-Umgebung schlecht zu Subversion passt. Hier wird vom Entwickler einige Disziplin verlangt. Dennoch ist ein geordnetes Vorgehen möglich.

Meine unter Eclipse entwickelten PHP-, HTML-, CSS-, Javascript-Dateien stehen heute – nach einigen Experimenten – immer auch meiner Mitarbeiterin zur Verfügung, die (noch) unter Dreamweaver weiterentwickelt und sich auf die Benutzerschnittstelle unserer Weblösungen konzentriert. Wir haben bei uns im Lauf der Zeit ein zweistufiges Entwicklungsverfahren unter der Einbeziehung von Eclipse unter Linux und Adobe Dreamweaver unter Windows etabliert. Das Vorgehen beruht wesentlich auf dem Einsatz von Samba als vermittelndem Verzeichnisdienst zwischen der Adobe-Umgebung in einem virtuellen Windows-System und der eigentlichen Web- und Datenbankserver-Umgebung unter Linux.

Einführung

Für wen ist die kommende Artikelserie zu Eclipse gedacht? Was werden die Inhalte sein?

Die nachfolgenden Artikel befassen sich mit der Implementierung von Eclipse und den ersten erforderlichen Schritten für den späteren produktiven Einsatz unter Opensuse-Linux. Die Artikelserie ist für Leute gedacht, die sich noch nicht mit Eclipse auseinandergesetzt haben, aber den Umstieg auf Eclipse und eine PHP-Entwicklungsumgebung unter Linux unter Einbeziehung eines Web- und Datenbankservers in Erwägung ziehen.

Administrative Grundkenntnisse im Umgang mit Linux (hier in der Opensuse-Ausprägung) sind dabei nötig. Das hält sich aber in Grenzen, da ich mich hier der Einfachheit halber hauptsächlich auf eine Implementierung auf einem einzigen lokalen Linux-System beschränken werde. Das Ergebnis entspricht dann etwa einem autonomen Entwicklungssystem auf einem Desktop-Rechner oder einem Laptop, auf dem eben auch einige einfach konfigurierte Serverkomponenten mitlaufen.

Man sollte also neben dem reinen Interesse für Eclipse auch den Ehrgeiz mitbringen, auf seinem Entwicklungssystem unter Linux auch einen Apache-Server und einen MySQL-Server aufzusetzen. Ohne einen Web- und Datenbank-Server macht ja eine PHP-Entwicklung ohnehin kaum Sinn. Ich werde mich in dieser Artikelreihe allerdings nicht mit den Details einer umfassenden Installation von Server-Modulen, geschweige denn mit der Konfiguration eines Netzwerkes mit Apache-, Samba-, DNS- und Datenbankservern befassen. Im hiesigen Zusammenhang müssen Hinweise auf eine lokale Server-Installation auf einem minimalen, aber hinreichenden Niveau genügen.

Ich selbst habe den Einstieg in Eclipse selbst insgesamt als etwas knifflig empfunden. Da ich auch nach fast 12 Monaten noch längst nicht alle Seiten der Eclipse IDE erkundet habe, bitte ich bei dem einen oder anderen möglichen Fehler oder der einen oder anderen Nachlässigkeit oder Unvollständigkeit der Ausführungen um Nachsicht.

Ich möchte an dieser Stelle nicht verhehlen, dass Eclipse auch einige Nachteile hat. U.a. ist die miserable Performance des eingebauten Editors bei der Behandlung großer Dateien (> 4000 Lines) zu nennen. Ferner kann es manchmal bei komplexen Operationen und Eingriffen in Dateiinhalte mit Fremd-Editoren zu merkwürdigen Kapriolen in der Versionsverwaltung kommen, die man nicht immer versteht. Zudem laufen Updates des Eclipse-Systems und seiner Plugins nicht immer anstandslos durch, weil ggf. Repositories fehlen oder nicht alle Abhängigkeiten aufgelöst werden können. Aber ich habe hier bislang noch immer in relativ kurzer Zeit ein Lösung gefunden.

Alles in allem möchte ich Leuten, die PHP-Entwicklung betreiben wollen und mit ihrer Entwicklungsumgebung – im speziellen Dreamweaver – unzufrieden sind, doch anraten, Eclipse wenigstens
einmal testweise auszuprobieren. Der Schritt von Eclipse zu umfangreicheren Umgebungen (z.B. zu einer voll ausgebauten Zend Entwicklungsumgebung) ist dann oft recht einfach.

Implementierung für ein lokales und autonomes Entwicklungssystem

Die Implementierung möchte ich zur Vereinfachung am Beispiel eines lokalen Entwicklungssystems unter Opensuse 11.3/11.4 darstellen. Ich selbst habe die hier beschriebenen Schritte zum Einsatz von Eclipse im Juli 2010 zunächst auf einem Laptop mit nagelneu installierten “Opensuse 11.3”-System und KDE 4.4.4 durchgeführt und habe danach eine Installation in einer Umgebung mit separaten File, Web- und Datenbank-Servern nachgezogen. (Heute läuft Eclipse bei mir auf mehreren Desktops und Laptops unter Opensuse 11.4 und KDE 4.6.1.)

Unser lokales, autonomes Entwicklungssystem soll nach seiner Implementierung folgende Komponenten umfassen:

  • einen SSL-fähigen Apache-Webserver mit “PHP 5.3”-Modulen,
  • MySQL 5,
  • SVN 1.6,
  • Eclipse Helios mit Erweiterungen für die PHP-Entwicklung, eine SVN-Anbindung und mit Tools für Remote System Interaktionen.

Hinzu kommen für die Kooperation mit Dreamweaver

  • eine lokale virtuelle Maschine (in meinem Fall unter VMware Workstation mit einem Windows-System und der Adobe Web Premium Suite CS4.
  • ein lokaler Samba-Server.

In diesem ersten Teil befasse ich mich kurz mit den notwendigen Installationsarbeiten zu Apache, MySQL und SVN. Im zweiten Teil gehe ich dann auf die eigentliche Eclipse-Installation inkl. der Anlage eines ersten PHP-Projektes ein. Im 3-ten Teil behandle ich kurz die Implementierung von Eclipse-Erweiterungen (speziell für SVN) samt Updates. In Teil 4 wird zunächst ein Testprojekt mit SVN verbunden. Danach erzeugen wir im fünften Teil 5 umgekehrt ein PHP-Projekt unter Eclipse aus den Inhalten eines bereits vorhandenen SVN-Repositories.

Im sechsten Teil dieser Reihe binden wir das Eclipse-Testprojekt dann an den Apache-Server an. In weiteren Teilen gehe ich noch auf Besonderheiten wie das Code-Debugging auf dem Webserver ein. Abschließend fasse ich einige persönliche Erfahrungen mit Eclipse zusammen und beschreibe zudem grob das Zusammenwirken mit Adobe Dreamweaver CS4 in einer virtuellen Windows-Umgebung unter Linux.

Hardware- und Betriebssystem-Umgebung – Hinweise zu HW-Voraussetzungen

Der bei meiner ersten Eclipse-Installation verwendete Laptop hatte 2 GB Hauptspeicher – und die braucht er auch, wenn neben Linux, KDE, Apache, MySQL auch Eclipse in einer Java-Runtime-Umgebung läuft. Der Speicherbedarf von Eclipse ist enorm, bei größeren Aufgaben auch der Bedarf an Zeigern des Betriebsystems zu offenen Dateien – speziell wenn man gleichzeitig SVN einsetzt. Hier sind entsprechende Anpassungen im OS nötig, auf die ich an passender Stelle eingehen werde.

Der Dual-Core Prozessor des Laptops war mit 2,14 GHz ist für ein flüssiges Arbeiten völlig ausreichend. Wegen der doch sehr umfassenden und in viele Teilbereiche gegliederten Benutzer-Oberfläche vom Eclipse war ich zudem sehr froh über den 17 Zoll-Schirm des Laptops und seine hohe Auflösung (1920×1200 px). Im professionellen Einsatz möchte ich allerdings zu einer Desktop-Umgebung raten, in der man mit 2 größeren Schirmen arbeitet. Dies gilt erst recht, wenn neben Eclipse auch noch Adobe’s CSx-Umgebung (in einem virtuellen Windows) zum Einsatz kommt.

Vorbereitung und Know-How-Aufbau

Da ich mich mit Eclipse für PHP in der Praxis so gut wie nicht auskannte, habe ich vor meinen ersten Schritten versucht, im Internet Informationen zu finden, die für Einsteiger geeignet sind. Leider sind die meisten Artikel, die ich
gesehen habe, naturgemäß an Java-Entwickler gerichtet – und die damit zusammenhängenden Verfahren und Subsysteme von Eclipse interessieren mich als PHP-Entwickler weniger. Leider sind die verfügbaren Artikel auch keineswegs immer so geschrieben, dass man das dort Gesagte einfach auf eine PHP-Entwicklungssituation übertragen könnte.

Wirklich hilfreich für mich war dann eine Video-Tutorial-Serie von “Ralphz” (s. die Links weiter unten), die ich empfehlen möchte. Sie betreffen zwar ältere Eclipse- und PTD-Versionen – aber didaktisch sind die Tutorials so gehalten, dass man das dort Gezeigte fast problemfrei auf die Helios-Umgebung übertragen kann.

Bitte also die Video-Tutorials in Ruhe und komplett ansehen, bevor man mit den Installationsarbeiten beginnt. Man sollte sich erst einen Überblick über die vielfältigen Möglichkeiten und PHP-relevanten Plugins sowie SVN-Plugins etc. verschafft haben, bevor man beginnt, seine persönliche Entwicklungsumgebung aufzubauen.

Die Tutorials machen auch klar, wie Eclipse mit SVN zusammenarbeitet. Man muss über SVN nicht viel wissen, um es zumindest für ein Projekt ohne Entwicklungsverzweigung unmittelbar einsetzen zu können. Ansonsten sei hier auf das auch von “Ralphz” zitierte Online-Buch zu Subversion verwiesen.

Links:

http://vimeo.com/1077103 und die dortigen weiteren Videos aus der Serie von “Ralphz”.
http://theorangeit.org/category/programming/php/page/3/ Ralphz’s Blog
http://www.eclipse.org/subversive/documentation/gettingStarted/aboutSubversive/install.php
– Installation-Info zum Subversion-Plugin

Installationsplanung

Mein Ziel war es wie gesagt, eine vollständige Entwicklungsumgebung auf einem Laptop zum Laufen zu bringen. Eclipse ist davon natürlich nur ein Teil und interagiert mit anderen Komponenten. Ich liste mal die wesentlichen Komponenten etwas detaillierter als oben auf:

  • Apache2-Server mit virtuellen, SSL-fähigen Domainen (warum letztere nützlich sind, erläutere ich weiter unten).
  • Apache’s PHP5-Modul zur Unterstützung von PHP
  • Einen laufenden MySQL5-Server.
  • PhpMyAdmin
  • SVN in der Version 1.6.6 als Versionsverwaltungstool.
  • KDESVN als primären SVN-Client
  • Java 6 JRE von SUN oder das Open-JDK in der Version 1.6
  • Kate als sekundären Editor
  • Firefox als Browser
  • Eclipse Helios mit folgende Plugins:
    • dem PTD-Plugin für die eigentliche PHP-Entwicklungsarbeit,
    • dem Subversive-Plugin und Subversive Connectors für die Anbindung an SVN,
    • dem Web-Entwicklungs-Plugin WTP plus Javascript Development-Unterstützung,
    • das Target-Management mit dem Remote-System-Explorer
    • XDebug als Debugging-Subsystem.

Bzgl. einiger Eclipse Plugins gibt es Alternativen – z.B. das “Subclipse”-Plugin statt des “Subversion”-Plugins für die Anbindung an SVN oder ZEN-Tools für das Debugging. Ich habe Subclipse noch nicht erforscht und kann daher dazu nichts Vernünftiges sagen. Die von mir installierten Subversion-Plugins funktionieren aber gut und ich kann damit im Moment leben.

Installation der Nicht-Eclipse-Komponenten

In diesem Beitrag kann ich die Installation von Apache, MySql, etc. nicht im Detail beschreiben. Das würde den Rahmen sprengen. Ich habe die Minimal-Installation für beide Systeme aber in früheren Blog-Artikeln dargestellt, auf die ich an dieser Stelle hinweise. Ansonsten
noch ein paar zusätzliche Anmerkungen:

Apache und PHP5 – lokale Installation

Das lokale Entwicklungssystem soll später autonom – d.h. ohne Netzverbindung funktionieren. Ein DNS-Dienst ist für ein rein lokales System überflüssig. Daher können Einträge in “/etc/hosts” das Loopback-Interface verwenden und etwa so aussehen.

127.0.0.1 localhost.localdomain localhost
127.0.0.2 mylap.myprivatedomain.de mylap
127.0.0.2 devdomain

Die IP-Adresse ist wichtig für das spätere Aufsetzen einer IP-basierten, SSL-fähigen virtuellen Web-Domaine “devdomain”. Unter dieser Domaine werden im weiteren Verlauf die Resuktate meines PHP-Projektes sichtbar werden. Als “Netzwerk-Adresse” in einem Browser muss dann halt eine Loopback-Adresse herhalten.

Es gibt im Internet immer wieder kritische Diskussionen zur Verwendung von Loopback-Adressen – ich denke, man kann das im hiesigen Zusammenhang mal getrost ignorieren. Der Weg über “/etc/hosts” und Loopback-Adressen ist eine Krücke Aber die wesentliche Funktionalität eines autonomen Entwicklungs- und Test-Systems lässt sich damit schnell, übersichtlich und ohne große Umwege erreichen.

Apache kann man unter Opensuse einfach über die Yast und die dortige Paketverwaltung installieren. Der folgende frühere Artikel in diesem Blog gibt eine Übersicht darüber, was zu tun ist, um auf die Schnelle die SSL-Fähigkeit des Servers zu aktivieren, eine Standarddomaine (für localhost) sowie eine SSL-fähige “devdomain” bereitzustellen.

Lokaler Apache auf die Schnelle

Die meisten meiner PHP-Lösungen für Kunden erzwingen in der Regel einen HTTPS-Verbindung. Wenn ich das lokal testen will, komme ich um SSL also nicht herum. SSL geht nur über IP-basierte virtuelle Domainen. Für den Standardhost “localhost” ist daher eine zweite separate virtuelle Domaine einzurichten. Siehe zu den Details und den Apache-Konfigurationsdateien den eben genannten, früheren Beitrag.

Die virtuelle SSL-Domaine “devdomain” des Apache-Servers wird über dei DocumentRoot-Anweisung in der Apache-Konfiguration später entweder dem Verzeichnis

DocumentRoot “/srv/www/htdocs/Entwicklung/devdomain/trunk”

oder aber einfacher dem Verzeichnis

DocumentRoot “/srv/www/htdocs/Entwicklung/devdomain/”

zugeordnet. Dieses Verzeichnis wird später auch über die Datei-Transfermechanismen des “Target-Managements” von Eclipse gefüllt.

Die erste Variante benötigt man, wenn man mit Entwicklungszweigen unter SVN arbeiten will. Die Zuordnung zu dem Unterverzeichnis “trunk” deutet bereits an, dass eine verzweigte SVN-Repository-Struktur auf den Apache-Server abgebildet wird. Man kann allerdings auf das “trunk”-Unterverzeichnis auch verzichten. In vielen einfachen Entwicklungsszenarien, in denen “Forks” keine Rolle spielen, ist das evtl. sogar hilfreich. Ich gehe auf beide Alternativen später beim Beschreiben (m)einer Variante des Zusammenspiels von Eclipse mit dem Apache-Server und auch Dreamweaver ein.

Die eingerichtete virtuelle Web-Domaine hilft später beim Testen übrigens auch deshalb erheblich, weil man damit die Tipparbeit in der Adresszeile des Browsers erheblich abkürzt.

Anpassungen der php.ini-Konfigurations-Datei

Auf einem Entwicklungssystem will man natürlich Fehlermeldungen und Warnungen zu PHP5-Programmen sehen. Evtl. hat man auch Programme, die mit der Kurzform der Script-Tags

statt

lauffähig sein sollen. Um zudem beim Einsatz der Funktion date() Warnungen zu vermeiden, ist man zudem genötigt, die Standardzeitzone für das PHP-Modul ein.

nFür all das muss man entsprechende Modifikationen an der Datei

“/etc/php5/apache2/php.ini”

vornehmen. Sehen Sie zu Details bitte den oben genannten, früheren Beitrag zur Apache-Installation .

XDebug

Plant man XDebug als Test- und Debug-Umgebung auf dem Apache/PHP-Server zu verwenden, so muss man unter Opensuse noch ein Repository für die Installation der zugehörigen Module aktivieren. Siehe:

http://download.opensuse.org/repositories/server:/php:/extensions/server_php_openSUSE_11.3

Generelle Informationen zu XDebug findet man unter:

http://www.xdebug.org/

Zur Installation von XDegbug sind ggf. folgende Beiträge hilfreich:

http://www.howtoforge.com/installing-php5-debugger-on-opensuse-11.3
http://serwatka.net/blog/xdebug_and_apc_on_opensuse
https://build.opensuse.org/package/show?package=php5-xdebug&project=server:php:extensions
http://osdir.com/ml/php.xdebug.general/2006-12/msg00015.html

Bzgl. Xdebug sind noch nachfolgende Einträge in der php.ini erwähnenswert. Ich folge hier im wesentlichen den Vorgaben des Videos 7 in der Eclipse-Video-Reihe von “ralphz” zu diesem Thema:

zend-extension=”/usr/lib64/php5/extensions/xdebug.so”

xdebug.remote_enable=On

xdebug.remote_host=”localhost”

xdebug.remote_port=9000

xdebug.dump_undefined=On

xdebug.collect_parms=4

xdebug.var_display_max_depth=4

Einheitliche Gruppe und Rechte für das Apache-Entwicklungs-Verzeichnis setzen

Nach der Einrichtung des Apache-Servers wollen wir uns das Leben bzgl. der Rechte auf dem lokalen Testserver etwas vereinfachen. Hierzu legen wir eine Gruppe “entwicklung” an, der der Apache-User – unter Opensuse “wwwrun” – und weitere Entwickler – hier “myself” und “developer” angehören sollen.

Alle Dateien, die wir später aus Eclipse in das zugeordnete Verzeichnis des Webservers – hier “/srv/www/htdocs/Entwicklung/devdomain/” – transportieren wollen, sollen automatisch Zughörigkeit zur Gruppe “entwicklung” und einen einheitlichen Rechtekamm für die Gruppenrechte erhalten.

Wie man zur Vererbung von Gruppenrechten mit ACLs vorgeht, ist ausführlich in einem früheren Beitrag beschrieben

Vererbung von Gruppenrechten mit ext3/ext4 und ACLs

Zunächst prüfen wir in der datei “/etc/fstab” nach, dass ACLs für das Dateisystem aktiv sind, auf dem auch die Apache DocumentRoot-Dateien untergebracht sind. Danach führen wir für das Apache-Haupt-Verzeichnis zu unseren Entwicklungsarbeiten

“/srv/www/htdocs/Entwicklung/”

folgende Kommandos durch (als root-User)

cd /srv/www/htdocs/

chgrp   entwicklung     Entwicklung

chmod   775     Entwicklung

chmod   g+s     Entwicklung

setfacl -m    m::rwx     Entwicklung

setfacl -dm   g:entwicklung:rwx     Entwicklung

Von nun an erben alle Verzeichnisse und Dateien, die später unterhalb des Verzeichnisses “/srv/www/htdocs/Entwicklung” angelegt werden, die Gruppenzugehörigkeit zur Gruppe “entwicklung” und die angegebenen vollen Gruppenrechte.

MySQL und PhpMyAdmin

Die MySQL-Installation unter Opensuse ist recht einfach. Sie ist in Grundzügen im Artikel

https://linux-blog.anracom.com/2010/08/28/lokale-mysql-phpmyadmin-installation/

beschrieben.

Installation SVN

Subversion ist schnell über entsprechende Pakete installiert:

subversion

subversion-server (wenn man plant, Subversion auf dem Apache-Server selbst laufen zu lassen)

svnmanager (wenn man plant, Subversion auf dem Apache-Server selbst zu administrieren)

subversion-tools

kdesvn (graphischer KDE Client für Subversion)

usvn (PHP-Tool für Subversion auf dem Apache Server)

Installation JRE

Die für Eclipse benötigte Runtime Umgebung installiert man unter Opensuse schnell mit Yast un der dortigen Paket-Verwaltung. Hier stehen das JDK und die Sun JRE zur Auswahl. Für weitere Informationen und zum Wechsel zwischen den Umgebungen – falls man beide installieren und ausprobieren will – siehe :

http://de.opensuse.org/Java#Zwischen_verschiedenen_Java_JREs_oder_SDKs_wechseln

So ausgestattet haben wir nun ein System, das alle elementaren Zutaten für eine autonome PHP-Web-Entwicklungsumgebung unter Opensuse 11.3/11.4 aufweist.

Im nächsten Beitrag beschäftigen wir uns dann mit der Eclipse-Installation und den erforderlichen Erweiterungen für PHP und Subversion.