PHP Applikationen entwickeln – das Entwicklungssystem einrichten
In dieser Folge der Reihe “PHP Applikationen entwickeln” beschäftigen wir uns damit, wie das Entwicklungsystem auf unserem Rechner eingerichtet wird. Zunächst besorgen wir uns die im letzten Artikel beschriebenen Werkzeuge und installieren sie. Das XAMPP-Paket sollte hierbei in das Wurzelverzeichnis installiert werden (also c:\xampp wie vom Installer vorgeschlagen). Alle anderen Pakete gehören ganz normal in das Programme-Verzeichnis. Das beschriebene Procedere gilt für Windows Rechner, ist aber auf Apple OS X oder Linux prinzipiell ähnlich.
Den Server installieren und einrichten
Die Installation ist denkbar einfach: Das Paket mit dem Installer herunterladen und starten. Nun ist eine lauffähige Installation auf dem eigenen Rechner vorhanden. Wenn man das Controlpanel öffnet lassen sich die Server einzeln starten und stoppen. Zuvor sollte man sich noch versichern, daß Skype nicht läuft, weil sonst der Port 80 für HTTP bereits blockiert ist. Starten wir nun den Webserver und den Datenbankserver.
Beim ersten Start erscheint ein Popup mit der Frage, ob die Firewall MySQL und Apache blockieren soll. Die Firewall soll natürlich entsprechende Anfragen niemals blockieren.
Wenn nun im Controlpanel für Apache und MySQL ‘running’ angezeigt wird, läuft unser Entwicklungsserver bereits. Davon können wir uns ganz einfach überzeugen, indem wir den Browser öffnen und in der Adresszeile http://localhost eingeben. Localhost ist immer der eigene Rechner. Der Computer fragt also sozusagen sich selbst, ob er eine Website anbietet. Der Browser sollte nun die folgende Seite anzeigen:
Der Webserver funktioniert. Nun müssen wir ihn noch ein wenig an unsere Bedürfnisse anpassen.
PHP Einstellungen
Die PHP Einstellungen stehen in der Datei c:\xampp\apache\bin\php.ini. Grundsätzlich sind die voreingestellten Werte für ein Entwicklungssystem bereits sehr gut geeignet. Ich möchte jedoch einige Erweiterungen aktivieren, die im Grundzustand deaktiviert sind, z.B. CURL. Dazu öffne ich die Datei und suche nach extension=php_curl.dll. Zum Aktivieren dieser Erweiterung muß das Semikolon am Zeilenanfang entfernt werden. Dasselbe mache ich mit extension=php_json.dll. Die Änderungen werden nach den Neustart des Webservers übernommen.
Projekte sauber trennen mit VHosts
Schnell kommt man an den Punkt, an dem man mehr als ein Projekt auf dem Rechner hat. Wir benötigen noch ein paar Änderungen, um verschiedene Projekte auf dem eigenen Entwicklungssystem unabhängig voneinander lauffähig zu halten – am Besten unter ihrem jeweiligen Namen. Wenn ich also am Projekt ‘Homepage’ entwickele, möchte ich das im Browser auch unter http://homepage aufrufen können. Dazu muss man dem Computer zunächst beibringen, daß er selbst gemeint ist, wenn der Browser (oder ein anderes Programm) nach dem Rechner namens ‘homepage’ fragt.
Dazu müssen wir die Datei hosts etwas erweitern, in der der Computer immer zuerst nachsieht, wenn er wissen will, welcher Rechner (besser gesagt: welche IP Adresse) sich hinter einem Namen verbirgt. Bei Unix-Systemen (also auch Linux und Mac OS X) ist diese Datei /etc/hosts. Bei Windows ist das c:\windows\system32\drivers\etc\hosts. Öffnen wir nun also diese Datei mit einem einfachen Texteditor. Vermutlich ist der einzige Eintrag, der unter den Kommentaren steht, der folgende:
127.0.0.1 localhost
Am Anfang eines Eintrags steht die IP-Adresse und dahinter der dazugehörige Hostname.
Die Zahlenfolge 127.0.0.1 ist die IP-Adresse des sogenannten loopback-devices. Jede Anfrage an diese IP-Adresse geht immer an den eigenen Rechner, egal wieviele andere Rechner noch im Netz sind. Danach folgt der Hostname ‘localhost’. Jede Anfrage an localhost wird also aufgrund dieses Eintrags an den eigenen Rechner gestellt. Wenn wir nun möchten, daß auch der Aufruf des Rechners mit den Namen ‘homepage’ an den eigenen Rechner gestellt wird, müssen wir diese Datei erweitern. Dazu fügen wir die folgende Zeile hinzu und speichern die Datei.
127.0.0.1 homepage
Wenn wir nun im Browser http://homepage eingeben, sehen wir die bereits bekannte Startseite von XAMPP.
Nun müssen wir noch dem Apache beibringen, daß ein Aufruf mit diesem Namen andere Inhalte liefern soll. Dazu müssen wir namensbasierte virtuelle Hosts einrichten. Dazu öffnen wir die Datei c:\xampp\apache\conf\extra\httpd-vhosts.conf.
Zuerst werden die Kommentarzeichen vor dem Eintrag NameVirtualHost \*:80 entfernt.
Nun wird am Ende der Datei der folgende Eintrag gemacht:
ServerAdmin webmaster@localhost DocumentRoot /xampp/htdocs/ ServerName localhost
Dadurch bleibt der bisherige localhost auch mit weiteren Vhosts weiterhin ansprechbar. Jetzt machen wir den Eintrag für unser Projekt ‘Homepage’:
ServerAdmin webmaster@localhost DocumentRoot /xampp/htdocs/homepage/htdocs/ ServerName homepage ErrorLog /xampp/htdocs/homepage/logs/error.log CustomLog /xampp/htdocs/homepage/logs/access.log common
Bevor der Webserver neu gestartet wird, müssen die Verzeichnisse für den Vhost angelegt werden, weil sonst der Neustart mit einem Fehler abgebrochen wird. Zunächst also der Projektordner c:\xampp\htdocs\homepage\ und in diesem dann die beiden Unterverzeichnisse htdocs\ und logs\.
Das Vorgehen um weitere Vhosts anzulegen ist entsprechend.
Sprechende URLs
Um das ‘verbiegen’ oder umschreiben, von URLs zu ermöglichen, wie es heutzutage viele Webanwendungen voraussetzen, öffnen wir die Datei c:\xampp\apache\conf\httpd.conf und suchen die folgende Zeile:
LoadModule rewrite_module modules/mod_rewrite.so
Die Zeile darf nicht auskommentiert sein, damit das Modul mod_rewrite geladen wird. Jetzt müssen wir noch dafür sorgen, daß die Rewrite-Regeln in einer .htaccess Datei geändert werden können. Dafür suchen wir im Abschnitt ‘Main Server Configuration’ die Default-Einstellungen, die mit beginnen. In dem Abschnitt ändern wir nun AllowOverride None in AllowOverride All.
Den Editor einrichten
Das eclipse-Archiv entpacken wir an eine sinnvolle Stelle (z.B. nach c:\Programme\eclipse\) und starten das Programm. Den Workspace legen wir nach c:\xampp\htdocs\ – also das webroot-Verzeichnis unseres lokalen Webservers. Dort werden nun die einzelnen Projekte angelegt. Jetzt legen wir ein neues PHP-Projekt mit dem Namen ‘homepage’ an. Eclipse nutzt das bereits vorhandene Verzeichnis c:\xampp\htdocs\homepage\ und legt dort einige Projektdateien an.
Feintuning
Der Übersicht halber benenne ich die Datei c:\xampp\htdocs\index.php in index_old.php um und erzeuge eine einfache index.html mit allen Links zu den lokalen Ressourcen (Projekte, Tools und Dokumentation). So habe ich mit einem einfachen http://localhost immer die aktuelle Übersicht.
Nun ist die lokale Arbeitsumgebung eingerichtet und die Projektarbeit kann beginnen.
—
Bisherige Folgen:
1. PHP Applikationen entwickeln
2. PHP Applikationen entwickeln – Werkzeuge