Apache konfigurieren

Nun muss noch die Konfiguration vom Apache angepasst werden, u.a. dass er PHP-Dateien überhaupt erkennt und parsen lässt. Dazu öffnet man die Datei C:\Programme\Webserver\Apache\conf\httpd.conf mit einem beliebigen Texteditor.

PHP in den Webserver einbinden

Um PHP erst einmal einzubinden (dass es überhaupt funktioniert) muss man folgende Zeilen ans Ende der Datei schreiben:

LoadModule php4_module c:/programme/webserver/php/sapi/php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php .php4 .php3 .phtml

PHP wird nur in Dateien beachtet (und ausgeführt), die in der Apache-Konfigurationsdatei als PHP-Dateien bestimmt wurden. Allerdings sinkt die Geschwindigkeit, wenn der PHP Interpreter in jeder Datei nach PHP-Code suchen muss; also sollte man nicht für jeden Dateityp PHP erzwingen bzw. z.B. für .html-Dateien aktivieren. Am Besten man bestimmt .php, .php4, .php3 und .phtml als Endungen für von PHP zu parsenden Dateien.

Den Webserver von außen unerreichbar machen

Manchmal will man nicht, dass die Inhalte des htdocs-Ordners von außen (also von anderen Computern) erreichbar sind. Dazu muss man folgende Zeile suchen:

<Directory />

Einige Zeilen darunter müsste etwa das hier stehen:

Order allow,deny
Allow from all

Das ändert man in folgendes um:

Order deny,allow
Deny from all
Allow from 127.0.0.1 192.168.0.17

Dabei steht 192.168.0.17 beispielhaft für die IP-Adresse des lokalen Computers im Netzwerk, ersetze das durch deine eigene IP-Adresse im LAN.

PHP erzwingen

Um PHP für jeden Dateityp zu erzwingen (aus welchem Grund auch immer), schreibt man folgende Zeile ans Ende der Konfigurationsdatei:

ForceType application/x-httpd-php

Auflistung der Ordnerinhalte verbieten

Wenn in einem Ordner keine Directory Index-Datei vorhanden ist (siehe nächste Einstellung), wird normalerweise der Ordnerinhalt wie in einem FTP-Programm aufgelistet. Um diese potentielle Sicherheitslücke abzustellen, sucht man folgenden Eintrag in der httpd.conf:

<Directory />

Ein paar Zeilen weiter sollte ein ähnlicher <Directory>-Eintrag zu sehen sein, diesmal allerdings mit dem htdocs-Verzeichnis anstatt dem /. Die nächste nicht auskommentierten Zeile sollte mit Options beginnen. Aus dieser Zeile löscht man den Eintrag Indexes heraus, startet den Server neu, schon kommt ein Forbidden, wenn jemand einen Ordner ohne Index-File aufrufen will.

Automatisch index.php Dateien aufrufen

Um bei einem Verzeichnis statt einer Auflistng bzw. Fehlermeldung direkt die im Verzeichnis enthaltene index.php oder ähnliche Dateien aufzurufen, muss man folgende Zeile finden:

<IfModule mod_dir.c>

In der darauf folgenden Zeile sind die Dateinamen aufgelistet, die als sogenannter Directory Index verwendet werden, in der Reihenfolge der Bevorzugung. Am Besten trägst du Folgendes ein:

DirectoryIndex index.php index.php4 index.php3 index.html index.htm

Verzeichnis der Webserverdateien ändern

Um das durch den Webserver freigegebene Verzeichnis (standardmäßig C:\Prgramme\Webserver\ Apache\htdocs) zu ändern, sucht man folgenden Begriff in der Konfigurationsdatei:

DocumentRoot

Das erste Suchergebnis wird wahrscheinlich ein Kommentar als Hilfe für eigenständige Konfigurierer sein, wenige Zeilen darunter wird sich die eigentliche Einstellung befinden. Den Wert in Anführungszeichen ändert man auf ein beliebiges Verzeichnis, beispielsweise "C:\htdocs". Nun musst du noch folgende Zeile finden:

<Directory />

Einige Zeilen darunter weist ein Kommentar auf Folgendes hin: This should be changed to whatever you set DocumentRoot to. Also passst du noch den Wert in Anführungszeichen an, fertig!

Modifikationen durch .htaccess-Dateien erlauben

Mithilfe von .htaccess-Dateien kann man u.a. Verzeichnisse per Passwort schützen, näheres dazu findet man auf 1. Dazu muss man allerdings erst mal Modifikationen an den Webservereinstellungen durch .htaccess-Dateien erlauben. Man benötigt das zweite Suchergebnis dieses Suchbegriffes:

AllowOverride None

Da der Webserver wohl nur zum Testen gedacht ist, kann man das None ruhigen Gewissens auf All setzen. So kann man wenigstens die Möglichkeiten von .htaccess austesten.

Unbedingt beachten!

Info: Damit die Änderungen wirksam werden, muss der Apache Service neu gestartet werden!

Links

1 SelfHTML: htaccess: http://www.selfhtml.net/diverses/htaccess.htm
SelfHTML: httpd.conf: http://selfaktuell.teamone.de/artikel/server/apacheconf/