newspic-iis

Hallo Leute!

Ich habe gestern einige Zeit damit verbracht den IIS7-Server unter Windows7 mit PHP und MySQL zum laufen zu bekommen. Da es nicht ganz so einfach war, wie man meinen könnte, dachte ich mir, ich lasse euch mal an meinen Erfahrungen teilhaben und schreibe ein Tutorial.

So bekommt Ihr den IIS7 unter Windows7 mit PHP- und MySQL-Unterstützung zum laufen:


Schritt 1: Installation des IIS7

Um den IIS7 zu installieren, klickt in der Windows-Systemsteuerung auf auf “Programme” und im anschließend erscheinenden Fenster auf “Windows-Funktionen aktivieren oder deaktivieren”.

Im nun erschienenen Fenster sucht ihr nach “Internetinformationsdienste” und aktiviert die Checkbox.

Windows Funktionen hinzufügen

Aktiviert die “Webverwaltungstools” und die “WWW-Dienste”. Unter letzterem aktiviert die Punkte “ISAPI-Erweiterungen” und “ISAPI Filter”.

iis_shot3

Klickt nun auf  OK und wartet die Installation des IIS7 ab. Wenn die Installation abgeschlossen ist, könnt Ihr die Systemsteuerung wieder schließen.

Der IIS ist nun installiert. Zum Testen könnt ihr im Browser einfach http://localhost eingeben. Die lokale Startseite des IIS müsste erscheinen.

Der nächste Schritt: PHP installieren

Die aktuelle PHP-Distribution bekommt ihr auf der Offiziellen Downloadseite. Auch wenn in anderen Tutorials davon abgeraten wird, könnt ihr der Einfachheit halber ruhig den Windows Installer runterladen und verwenden.  Nachbessern müsst ihr hinterher so oder so. Auch lasst euch nicht davon abschrecken, falls ihr ein 64bit-Windows verwendet, dass es sich bei PHP um eine 32bit-Distribution handelt.

(Es gibt eine inoffizielle 64bit-Distribution von PHP. Wer diese testen will, findet sie hier: http://www.fusionxlan.com/PHPx64.php)

Führt den Installer nun aus und installiert PHP beispielsweise nach “C:\PHP”. Bei Webserver wählt ihr das “IIS ISAPI Module”.

Wählt “Custom Install” und fügt am die gewünschten Erweiterungen (Extensions) bei. Nützlich sind auf jeden Fall (auch falls ihr hinterher Tools wie phpmyadmin benutzen wollt)  bzip2, curl, gd2, mcrypt, mysql, mysqli, tidy, zip. Eine Auswahl aller Extensions direkt bei der Installation kann unter Umständen zu Problemen führen, falls euer Rechner diese nicht unterstützt. Eine nachträgliche Installation der Extension ist aber über den Installer weiterhin möglich.

iis_shot5

Schließt die Installation nun ab.

Öffnet nun den “Internetinformationsdienste (IIS)-Manager”. Diesen findet ihr in der Systemsteuerung unter “System und Sicherheit -> Verwaltung.

iis_shot6

Öffnet die “Handlerzuordnung”:

  • Klickt auf “Skriptzuordnung hinzufügen…”.
  • Tragt bei “Anforderungspfad” *.php ein.
  • Bei “Ausführbare Datei” wählt ihr die php5isapi.dll aus dem PHP-Installationsverzeichnis aus.
  • Unter “Einschränkungen” und dann “Zugriff” wählt “Script”.
  • Bei “Name” könnt ihr beispielsweise “PHP” eintragen.

iis_shot7

Klickt auf OK und im nächsten Dialog auf “Ja”. Vergewissert euch, dass der Zustand der nun eingetragenen Skriptzuordnung auf “Aktiviert steht”.

Geht nun zurück und wählt über das Icon “ISAPI- und CGI-Einschränkungen”. Hier sollte bei der php5isapi.dll ein “Zugelassen” stehen. Normalerweise passiert dies automatisch. (Ansonsten hilft ein Rechtsklick und “Zulassen” bzw. ein Hinzufügen des Pfades zur php5isapi.dll.)
Macht einen Rechtklick auf den Eintrag und wählt “Featureeinstellungen bearbeiten”. Wählt beide Checkboxen ab.

Geht wieder zurück in den IIS-Manager und wählt “ISAPI Filter” aus. Fügt hier einen Filter für die php5isapi.dll hinzu.

Solltet ihr ein 64bit System einsetzen, ist noch folgender Schritt notwendig:

  • Klickt im IIS-Manager rechts auf “Anwendungspools anzeigen”.

iis_shot8

  • Klickt auf den Anwendungspool der genutzt werden soll auf Erweiterte Einstellungen” und setzt den Wert bei “32-Bit-Anwendungen erlauben” auf “True”.

iis_shot9

Das nun folgende sollte durch die Benutzung des PHP-Installers zwar breites erledigt sein, aber eine Überprüfung schadet nicht.

Geht in “Systemsteuerung -> System und Sicherheit” -> “System”. Dort links auf “Erweiterte Systemeinstellungen” und im erscheinenden Dialog auf “Umgebungsvariablen”. In der Systemvariable “Path” sollte auch der Pfad zum PHP-Installationsverzeichnis zu finden sein. Falls nicht, fügt diesen Pfad am Ende der Variable hinzu.

iis_shot10

Jetzt muss der Pfad zur php.ini in die Registry eingetragen werden. Dies ist wichtig, damit die Datei nicht umständlich immer ins Windows-Verzeichnis kopiert werden muss.

  • Öffnet die Registry (Ausführen -> “regedit”)
  • Geht in das Verzeichnis:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PHP]
  • Fügt dort “IniFilePath” = “C:\PHP” ein. (bzw. euer Installationsverzeichnis.

Letzter Schritt: MySQL installieren

Ladet euch den MySQL-Installer von der offiziellen Website herunter. Hier könnt ihr zwischen einer 32bit und einer 64bit-Version wählen.

Installiert MySQL. Da die Schritte beim Installieren selbsterklärend sind, spare ich mir hier ein ausführliches Tutorial.

Startet den Computer nun neu. Der IIS7 mit PHP und mysql ist nun betriebsbereit.

Natürlich kann und muss sich jeder selber noch die PHP-Konfigurationsdatei (php.ini) an seine eigenen Bedürfnisse anpassen, aber das würde den Rahmen dieses Tutorials sprengen.


Nützliches und Fehlerbehebung

Standarddokument festelegen

Damit beim Aufruf eines Verzeichnisses auch direkt die “index.php” aufgerufen wird, muss diese noch als Standarddokument eingetragen werden.
Geht dazu wieder in den IIS-Manager, wählt dort das Icon “Standarddokument” fügt dort die “index.php” hinzu.

Die mysql-Extension ist nicht aktiviert

Es kann unter Umständen passieren, dass die mysql-Extension von PHP nicht automatisch aktiviert wird. Zum Aktivieren öffnet die php.ini im PHP-Installationsverzeichnis. Fügt dieser Datei die Zeile

extension=php_mysql.dll

hinzu und speicher sie wieder ab. Jetzt muss der IIS einmal neu gestartet werden.