IIS und PHP für Windows installieren | • Aidex • Kontakt • Datenschutz • EN |
Intranet-Anwendungen sind Programme, die nur
einem geschlossenen Nutzerkreis im lokalen Netzwerk bereitgestellt werden.
Die Darstellung erfolgt oftmals in einem Browser, z.B. Firefox, Edge, Chrome.
Das Darstellung der Anwendung ist wie eine Internetseite,
jedoch stammen die Inhalte nicht von außerhalb, sondern vom firmeneigenen Server.
Ein Vorteil einer Intranet-Anwendung im Browser ist, dass mehrere Nutzer gleichzeitig mit der gleichen Datenbank arbeiten können. Außerdem braucht das Programm nicht auf jedem Computer installiert zu werden und es ist vom Betriebssystem unabhängig, d.h. es läuft auf Windows, Mac, Linux, evtl. einem Tablet/Pad oder Smartphone. Und im Falle eines Programm-Updates genügt es, die neue Version einmal auf dem zentralen Server zu installieren. Wenn der Server ein Windows-Betriebssystem hat, kann man die zu Windows gehörigen IIS (Internet Information Services)
als Webserver-Software nutzen, siehe unten. Auf Linux wird hingegen meistens der NGINX oder der Apache HTTP Server eingesetzt.
Außerdem ein Trend seit 2024: ↗Unternehmen stellen ihre PHP-Anwendungen von Cloud auf On-Premises um. ![]() KI-Symbolbild |
IIS in Windows aktivieren
Die IIS (Internet Information Services) sind Bestandteil von Windows.
Wenn Sie die IIS (auf deutsch: Internetinformationsdienste) in den Einstellungen aktivieren,
kümmert sich Windows um die Installation und Updates.
Menüs in Windows 10 ...
WWW-Dienste > Sicherheit > URL-Autorisierung
Die URL-Autorisierung wird benötigt, um z.B. den äußeren Zugriff auf bestimmte Unterordner sperren zu können.
Bei Apache nutzt man dazu eine Konfigurationsdatei namens ".htaccess",
beim IIS ist es hingegen eine XML-Datei namens "web.config" im betreffenden Ordner. Dazu unten mehr.
Nachdem Sie Ihre Auswahl mit Ok bestätigt haben, aktiviert Windows den IIS (Webserver) und legt ein Web-Root-Verzeichnis auf Ihrer Festplatte an, siehe C:\inetpub\wwwroot\ Dass der Webserver aktiv ist, können Sie prüfen, indem Sie in Ihrem Webbrowser eingeben: http://localhost/ oder http://127.0.0.1/ |
PHP installieren
Laden Sie PHP für Windows von php.net herunter, unter
↗https://windows.php.net/download. Es gibt keinen Installer, sondern eine .ZIP-Datei. Nehmen Sie NTS-Version (Non-Thread Safe), die für Windows IIS empfohlen wird. Entpacken Sie die ZIP-Datei in einen neuen Ordner, dessen Name (und gesamter Pfad) kein Leerzeichen enthalten darf.
In der Dokumentation wird deshalb der Ordner C:\PHP\ vorgeschlagen.
Im entpackten PHP-Ordner
finden Sie eine Datei namens "php.ini-production".
Kopieren Sie die Datei und nennen Sie die Kopie in "php.ini" um.
Bei Bedarf können Sie in der php.ini eigene Einstellungen vornehmen.
Der PHP-Ordner sollte nur mit Admin-Rechten beschreibbar sein (was im Programme-Ordner gegeben ist), damit der Ordner nicht manipuliert werden kann. |
IIS für PHP konfigurieren Abschließend muss dem IIS mitgeteilt werden, wo er den PHP-Ordner findet.
Öffnen Sie dazu den IIS-Manager, indem Sie am Windows-Startmenü mit Rechtsklick 'Ausführen' wählen und dort "inetmgr" eingeben.
Es öffnet sich das Verwaltungsprogramm.
Setzen Sie ...
|
PHP testen Um auszuprobieren, ob PHP und der IIS Webserver
richtig zusammenarbeiten, brauchen Sie eine .php-Datei, die im Web-Root abgelegt ist.
Erstellen Sie z.B. eine Datei "phpinfo.php" mit folgendem Inhalt:
<?php phpinfo(); ?>
Speichern Sie die Datei in: C:\inetpub\wwwroot\
Sie können die Datei dann einfach im Browser aufrufen: http://localhost/phpinfo.php Anstelle des Quellcodes sollten Sie eine ausführliche Seite angezeigt bekommen, die alle Einstellungen von PHP auflistet. |
Ersatz für .htaccess beim IIS
Im Apache Webserver ist es üblich, dass in einzelnen Ordnern eine Konfigurationsdatei namens ".htaccess" hinterlegt werden kann,
die steuert, welche Eigenschaften der Ordner hat.
Hingegen muss für den Windows IIS eine XML-Datei namens "web.config" in den betreffenden Ordner gespeichert werden, um ihn individuell zu konfigurieren. "web.config" Datei, um Zugriffe von außen zu unterbinden ... (das Folgende entspricht "deny from all" in einer .htaccess-Datei) <configuration> <system.webServer> <security> <authorization> <remove users="*" roles="" verbs="" /> <add accessType="Deny" users="*" /> </authorization> </security> </system.webServer> </configuration>
Da wir hier die PHP-Installation beschrieben haben, ist es auch interessant, Standarddateinamen definieren
zu können, die beim Abruf einer bloßen Ordner-Adresse gesucht werden sollen.
"web.config" Datei, um index.php als Default Document zu setzen ... <configuration> <system.webServer> <defaultDocument> <files> <clear /> <add value="index.php" /> </files> </defaultDocument> </system.webServer> </configuration> |
MIME-Typ hinzufügen Als ich eine lokal gespeicherte Webseite ausprobierte, fiel
mir auf, dass darin einige Bilder nicht angezeigt wurden. Diese Bilder sind im recht jungen .webp-Dateiformat gespeichert.
In diesem Fall war im IIS offenbar noch nicht standardmäßig hinterlegt, ob er .webp-Dateien ausliefern soll.
Dies muss bei Bedarf manuell eingetragen werden.
Öffnen Sie den Internetinformationsdienste (IIS) Manager. Gehen Sie dazu auf das Windows-Startmenü und tippen "IIS" ein,
dann kann man den IIS-Manager anklicken. Im Manager-Fenster doppelklicken Sie das Icon "MIME-Typ".
In der Liste der Datei-Endungen kann man mit Rechtsklick "Hinzufügen" anklicken.
Dort trägt man die neue Datei-Endung und den passenden MIME-Typ ein, in diesem Beispiel "image/webp".
|
Hash, Random, Crypto mittels OpenSSL Die Datenübertragung im lokalen Intranet wird in der Regel
selten mittels SSL (https) verschlüsselt, weil man sich dafür um selbstsignierte Zertifikate kümmern muss.
Dennoch ist es wahrscheinlich, dass Sie OpenSSL als Erweiterung für PHP benötigen, denn es gibt ein ein paar
PHP-Funktionen, welche OpenSSL verwenden, z.B. die Hash-Funktion openssl_digest(), Zufallszahlen mittels openssl_random_pseudo_bytes()
oder sonstige Verschlüsselungen mit openssl_encrypt() und openssl_decrypt().
Praktischerweise bringt PHP die OpenSSL-Erweiterung gleich mit, jedoch ist sie nicht standardmäßig aktiviert. Öffnen Sie die Datei "php.ini" im PHP-Ordner mit Rechtsklick "Bearbeiten". Wenn man zum Schreiben in Ihrem PHP-Ordner Administrator-Rechte benötigt (empfohlen), müssen Sie zuerst den Editor "als Administrator starten" und darin die Datei laden.
In der Konfiguration finden Sie folgende zwei Zeilen (jede einzeln suchen) ...
;extension=openssl ;extension_dir = "ext"Ein Semikolon kommentiert eine Zeile aus (deaktiviert). Entfernen Sie das Semikolon vor beiden Zeilen und speichern Sie die Datei. Eventuell müssen Sie die IIS neu starten (Kommandozeile: iisreset), damit die Änderung wirksam wird - oder einfach den Computer neu starten. |