[TUT] PHP-Scripte im IIS 5.1

Status
Für weitere Antworten geschlossen.
  • #1
C

connyas

Bekanntes Mitglied
Themenersteller
Dabei seit
04.12.2004
Beiträge
5.463
Reaktionspunkte
0
Ort
Stuttgart
Da ich in letzter Zeit doch des öfteren darauf angesprochen wurde, ob denn auch PHP-Scripte mit dem IIS (Internet-Informationsdienste) von Windows funktionieren, habe ich mal dieses kurze Tutorial, wie man den IIS für den Betrieb mit PHP-Scripten konfiguriert, zusammengestellt.

Verwendete Komponenten:
- Windows XP-Prof
- IIS-Version 5.1 (dieser sollte schon installiert sein)
- PHP 5.0.x

Verzeichnisstruktur:
D:ServerUnser Hauptverzeichnis
D:Serverphp_includesVerz. für Include-Dateien
D:ServerPHP5Das PHP-Hauptverzeichnis
D:Serverphp5extVerzeichnis für PHP-Erweiterungen
D:Serverupload_tmpHier werden Temp. Uploads gespeichert
D:Serverphp_session_tmpHier werden die Temp. Sessiondaten gespeichert
D:Serverhtdocsiis_phpVerzeichnis für die Homepage
(Blau markierte Verzeichnisse bitte anlegen)

PHP-Installation

Hinweis: Ist schon eine PHP-Installation z.B. für den Apache vorhanden, kann dieser Schritt überspringen werden, dem PHP-Interpreter ist es Wurscht ob er die Anforderungen vom Apache oder vom IIS bekommt, daher kann ohne weiteres eine PHP-Installation für verschiedene Web-Server zuständig sein.
Hierzu sollte allerdings die Datei php.ini aus dem PHP-Verzeichnis nach c:windows kopiert werden, da der IIS sie nur dort sucht (AFAIK ;)).

Am Anfang aller Installationen steht wie immer der Download der neuesten Software.
Unter => http://www.php.net/downloads.php laden wir uns unter dem Punkt Windows Binaries die aktuellste PHP-Version runter => PHP x.x.x zip package und entpacken das Archiv nach d:ServerPHP5 (siehe Hinweis => Pfadangaben!).

Hinweis: Es gibt auch eine Installer-Version, die bei der Installation den IIS schon konfiguriert. Wer gerne diese Version nehmen möchte, ich bin kein Freund davon, für den ist dieses Tutorial an dieser Stelle schon beendet ;)

Hinweis: Alle Pfadangaben beziehen sich auf meinen Computer und müßen angepasst werden !

Als erstes muß die php.ini.dist in unserem PHP-Verzeichnis D:Serverphp5 in php.ini umbenannt und nach C:Windows kopiert werden (als Sicherungskopie lassen wir das Original im PHP-Verzeichnis).

Zum Bearbeiten der php.ini genügt es, wenn diese in einem normalen Texteditor geöffnet wird.

Hinweis: Da ich diese Änderungen schon in dem Tutorial Einrichten einer lokalen Testumgebung - Teil 2: PHP 5.0xl erklärt habe, sei mir gestattet, wenn ich hier die wichtigsten Passagen einfach kopiert habe, und die ganze Konfiguration im Schnelldurchlauf abhandle. (http://www.wintotal-forum.de/index.php/topic,98934.0.html)

Abschnitt: Paths and Directories

Eintrag => include_path
Alt
Code:
;include_path = .;c:\php\includes
Neu
Code:
include_path = .;D:\Server\php_includes

Eintrag => extension_dir
Alt
Code:
extension_dir = ./
Neu
Code:
extension_dir = D:\Server\php5\ext

Abschnitt: File Uploads

Eintrag => upload_temp_dir
Alt
Code:
;upload_tmp_dir =
Neu
Code:
upload_tmp_dir = D:\Server\upload_tmp

Abschnitt: Dynamic Extensions

Für unsere Beispiel-Testumgebung sollten folgende Extensions genügen. Diese bitte aktivieren.
(Aktivieren = Führendes Semikolon ; entfernen)

extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_ming.dll
extension=php_mysql.dll

Abschnitt: Module Settings

Modul => Sessions
Alt
Code:
;session.save_path = /tmp/
Neu
Code:
session.save_path = D:\Server\php_session_tmp

Zum Abschluss der Konfiguration müssen noch einige *.dll aus dem PHP-Verzeichnis in das Windows-Verzeichnis kopiert werden. Da ich diese Spielchen gerne nur einmal mache, und viel an meiner Konfiguration rumschraube, kopiere ich gleich zu Beginn alle. Somit habe ich bei evtl. Änderungen meine Ruhe.

Dies betrifft (z.Zt):
fdftk.dll, fribidi.dll, gds32.dll, libeay32.dll, libmhash.dll, libmysql.dll, msql.dll, ntwdblib.dll, ssleay32.dll, yaz.dll.
Diese *.dll's bitte nach c:\windows kopieren

Konfiguration IIS

Hinweis: Es gibt verschiedene Möglichkeiten den IIS für PHP zu Konfigurieren, z.B. als CGI-Modul oder als ISAPI-Erweiterung, ich habe mich hier für die ISAPI-Variante entschieden.
Zum Konfigurieren des IIS, müssen wir die Computerverwaltung öffnen.
Auf dem Desktop Rechtsklick auf Arbeitsplatz und Verwalten wählen oder Start => Systemsteuerung => Verwaltung.
Ist die Console (MMC => Microsoft Management Console) geöffnet, bitte die Knoten wie im folgenden Bild erweitern (1), und anschließend die Eigenschaften der Standardwebseite mit Rechtsklick auswählen (2).

iis18st.gif


Im sich öffnenden Dialog können nun alle Einstellungen für den IIS vorgenommen werden.

Registerkarte: Webseite
(1) Beschreibung: Frei wählbarer Name zur bessern Identifizierung (default = Standardwebseite)
(2) TCP-Anschluss: Standard = Port 80 (läuft parallel noch z.B der Apache, bitte einen anderen FREIEN Port wählen, z.B. Port 8080)

Registerkarte: Basisverzeichnis
(1) Da die Webseite auf dem lokalen Rechner liegt, den ersten Punkt gewählt lassen (Standard)
(2) Lokaler Pfad: Der Pfad, in dem der IIS die Dateien unserer Webseite sucht. In unserem Beispiel D:\Server\htdocs\iis_php
(3) Hier habe ich die Einstellung auf Nur Lesen belassen, ggf. dies an die eigenen Anforderungen anpassen.

Skriptzugriff
Aktivieren Sie dieses Kontrollkästchen, um den Benutzern Zugriff auf den Quellcode zu gestatten, wenn entweder Lese- oder Schreibberechtigungen erteilt wurden. Quellcode umfasst auch Skripts in ASP-Anwendungen. Weitere Informationen finden Sie unter Festlegen der Webserverberechtigungen.

Lesen
Aktivieren Sie dieses Kontrollkästchen, um den Benutzern das Lesen und Downloaden von Dateien oder Verzeichnissen sowie deren Eigenschaften zu gestatten.

Schreiben
Aktivieren Sie dieses Kontrollkästchen, um den Benutzern das Übertragen von Dateien und deren Eigenschaften in das aktivierte Verzeichnis auf Ihrem Server sowie das Ändern von Dateien, für die Schreibzugriffe zugelassen sind, zu gestatten. Ein Schreibvorgang kann nur über Browser erfolgen, die das PUT-Feature des Protokollstandards HTTP 1.1 unterstützen.

Verzeichnis durchsuchen
Aktivieren Sie dieses Kontrollkästchen, um dem Benutzer das Anzeigen einer Hypertextliste der Dateien und Unterverzeichnisse in diesem virtuellen Verzeichnis zu gestatten. Da virtuelle Verzeichnisse in Verzeichnislisten nicht aufgeführt werden, müssen Benutzer den Aliasnamen eines virtuellen Verzeichnisses kennen.

(4) Konfiguration: Hier bitte klicken, damit wir dem IIS die PHP-ISAPI Erweiterung bekannt machen können

Dialog Anwendungskonfiguration
Hier sind alle Erweiterungen aufgeführt mit denen der IIS umgehen kann. Damit nun der IIS auch mit PHP was anzufangen weiß, klicken wir hier auf Hinzufügen .

Dialog Anwendungskonfiguration - Hinzufügen
Hier können wir nun den Pfad für die PHP-ISAPI Erweiterung direkt eintragen, bzw. über die Durchsuchen-Schaltfläche wählen.

(1) Dateityp: Hier bitte *.dll wählen
(2) Hier bitte aus unserem PHP-Verzeichnis die Datei php5isapi.dll wählen.

Mit Klick auf Öffnen kann dieser Dialog verlassen werden.

zurück im Dialog Anwendungskonfiguration - Hinzufügen
(1) Ausführbare Datei: Hier sollte nun der von uns gewählte Pfad zur php5isapi.dll stehen
(2) Erweiterung: Hier muss die Dateinamenserweiterung (Extension) für unsere PHP-Scripte eingetragen werden .php

Hinweis: Soll der IIS auch für *.php4 oder *.php5 Extensions konfiguriert werden, den Schritt Hinzufügen sinngemäß wiederholen. Hierbei kann immer die gleiche php5isapi.dll verwendet werden, einzig die Dateinamenserweiterung muß auf *.php4 usw. abgeändert werden.

Nachdem der Dialog Hinzufügen durch Klick auf OK verlassen wurde, kann im Dialog Anwendungskonfiguration noch kontrolliert werden, ob die von uns hinzugefügte PHP-ISAPI Erweiterung in die Liste Zuordnungen übernommen wurde.
Ist dies geschehen, kann dieser Dialog mit Klick auf OK auch verlassen werden.

Zurück im Dialog Eigenschaften, wählen wir nun die Registerkarte Dokumente.

Registerkarte: Dokumente
iis64kz.gif


Damit der IIS auch eine index.php als Startseite erkennt, müßen wir ihm das auch bekannt machen.
Dazu klicken wir auf den Button Hinzufügen (1).
Im sich öffnenden Dialog bitte index.php eintragen. Nach bestätigung mit OK, sollte dieser Eintrag in die Liste der Standarddokumente übernommen worden sein.
Hier kann noch mittels der Hoch und Runter Schaltflächen die Priorität der Dokumente definiert werden.
Diese Einstellung können wir nun Übernehmen und den Dialog mit Klick auf OK verlassen.
Nachdem alle Dialoge geschlossen wurden, muss nun der IIS zur Übernahme der neuen Einstellungen neu gestartet werden.

iis74iz.gif


Dazu können die oberen Buttons für Start, Stop und Anhalten verwendet werden.
Wird kein Fehler beim Start des IIS gemeldet, ist die Konfiguration hiermit abgeschlossen.

Testen der Konfiguration
Hierzu erstellen wir uns in einem beliebigen Text-Editor eine index.php (So können wir gleich testen, ob unsere Datei auch als Standarddokument akzeptiert wird).
Code:
<?php
phpinfo();
?>

Diese Datei speichern wir in unserem Web-Verzeichnis D:\Server\htdocs\iis_php\ ab.

Nach dem Aufruf von http://localhost bzw. wenn wie angemerkt, noch ein z.B. Apache parallel läuft http://localhost:8080 sollte sich uns in etwa folgender Inhalt öffnen.

iis84xo.gif


Wird die Seite korrekt angezeigt, war unsere Installation erfolgreich.

Gruss Conny
 
Status
Für weitere Antworten geschlossen.
Thema:

[TUT] PHP-Scripte im IIS 5.1

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben