AMP – Setup unter Windows, Teil 1: Apache

Da ich auch durch Trainings immer wieder mit der Situation PHP-Entwicklung unter Windows konfrontiert werde – persönlich entwickle ich natürlich lieber unter Linux -, fasse ich (auch als eigene Gedankenstütze) die Installation eines PHP-Developmentstacks zusammen – und zwar nicht als Komplettpaket sondern einzeln. Dabei lernt man/ich auch immer wieder etwas über die Konfiguration.

Der Webserver

Am A in AMP erkennt man meine Entscheidung: Apache
Der einfachste Grund liegt bei mir beim Hosten: ich habe keinen Windows Server.

Da wir später ein PHP dazupacken, bevorzuge ich den ApacheLounge-Build (unter Downloads zufinden). Dieser Build ist oft sogar schneller da als der offizielle Apache Software Foundation Windows-Build. Und im Gegensatz zu diesem mit einem Visual Studio 2008 kompiliert gegen ein aktuelles Windows SDK. Das bringt Vorteile in Richtung Geschwindigkeit, Memory Management und Stabilität (laut Website). Auf jeden Fall erlaubt es uns später auch den VC9-Build von PHP zu wählen.

Desweiteren installieren wir hier manuell aus einem Zip heraus. Problemlos ist also auch eine Installation auf einen Stick oä möglich. Und ich kann den kompletten Setup auch einfacher zum Kunden mitnehmen.

Zur Installation

  1. Visual C++ 2008 SP1 Redistributable
    Diese Installation ist zunächst zwingend vorher durchzuführen. Download hier
  2. Apache entpacken
    Zip-File von apachelounge.com (siehe oben) entpacken. Zum Beispiel direkt nach c: oder einen belibigen anderen Ort.
  3. Apache konfigurieren
    In der Datei /Apache2/conf/httpd.conf folgende Einstellungen vornehmen (Nachlesbar mit Zeilennummern unter Install Apache on Windows ):
    – ServerRoot anpassen, falls ein anderer Ort als c: gewählt wurde. Ebenso mit dem ScriptAlias und der folgenden Directory-Direktive verfahren. Das DocumentRoot-Verzeichnis lege ich an einen ganz anderen Ort außerhalb der Installation. Also auch dieses gebenenfalls anpassen (und wiederum die entsprechende Directory-Direktive).
    – Rewrite-Module laden
    – ServerName konfigurieren (localhost:80)
    – Im Web-Root AllowOverride All setzen (von None)
  4. Testen
    cd Apache2bin
    httpd -t
  5. Installation als Dienst
    httpd -k install
    Mit dem ApacheMonitor (ebenfalls im bin-Ordner) lässt sich der Dienst bequem steuern.