Main Server Configuration
 |
Beachten Sie, dass Verzeichnispfade in der Konfigurationsdatei immer mit einem forward slash "/" geschrieben werden, nicht wie unter Windows üblich mit einem backslash "\".
|
Die wichtigsten Einstellungen:
ServerAdmin jb@intermitto.net |
Geben Sie hier die Mailadresse des Administrators ein (im Normalfall Ihre Mailadresse). Hier steht die Mailadresse, die Sie während des Setups angegeben haben. |
ServerName localhost:80 |
Dies ist der Name des Servers (den Sie als URL in den Browser eingeben können) und der Port, auf dem der Webserver arbeitet. Wenn der Webserver im Netzwerk arbeiten soll, können Sie hier auch den Domainnamen Ihres Webservers angeben (dies entspricht der Angabe Server Name während des Setups). Falls Sie sich im Netzwerk befinden, aber keinen Domainnamen besitzen, können Sie auch die IP Ihres Rechners angeben. |
DocumentRoot "C:/Server/Apache2/htdocs" |
Der Pfad zu Ihren Webseiten. Sie können dies beispielsweise in "C:/docs/http" ändern, wenn dort Ihre Webseiten gespeichert sind. Nach der Installation befindet sich im Verzeichnis "C:/Server/Apache2/htdocs" die Testseite, die wir beim ersten Start gesehen haben. |
DirectoryIndex index.html index.html.var |
Hier können Sie angeben, welche Dateien angezeigt werden sollen, wenn ein User einen Verzeichnis-URL angibt, also beispielsweise http://localhost/test/. Wenn Sie z.B. PHP einsetzen, sollten Sie index.php hinzufügen.
Die Reihenfolge ist übrigens relevant. Es wird zuerst nach einer Datei namens index.html gesucht, dann nach einer Datei index.html.var etc. |
Alias /manual/ "C:/Server/Apache2/manual/" |
Mit Alias /aliasverzeichnis/ speicherpfad können Sie praktisch virtuelle Verzeichnisse anlegen. Angenommen, Sie haben eine Webseite außerhalb Ihres DocumentRoot liegen, z.B. in c:\test\. Sie möchten, dass diese Webseiten über den URL http://localhost/test/ erreichbar sind, obwohl sie nicht unterhalb des DocumentRoot liegen. Dann geben Sie einfach eine Alias-Direktive dazu an: Alias /test/ "C:/test/" |
Access-Dateien
Mit Access-Dateien kann man für bestimmte Verzeichnisse unterhalb Ihres DocumentRoot Konfigurationseinstellungen der httpd.conf überschreiben. Das wird vor allem bei Providern genutzt: dort haben Sie keinen Zugriff auf die httpd.conf, können aber mithilfe einer .htaccess-Datei trotzdem die Konfiguration ändern.
AccessFileName .htaccess
Unter Windows haben Sie das Problem, dass Sie keine Dateien erstellen können, die mit einem Punkt beginnen. Das ist aber kein großes Problem. Wenn Sie Ihren Webserver nur zum Testen nutzen und die Webseiten auch bei Ihrem Provider liegen haben, ist es eh sinnvoller, zwei verschiedene Access-Dateien für zu Hause und für den Provider zu haben. Ändern Sie diese Direktive also nach Ihren Wünschen, z.B. in AccessFileName _.htaccess.
Die Files-Direktive
Mithilfe dieser Direktive können Sie Einstellungen für bestimmte Dateien vornehmen. Wenn Sie die AccessFileName-Direktive geändert haben, sollten Sie auch die direkt darauf folgende Files-Direktive ändern, um den Zugriff eines Browsers auf diese Datei zu verhindern:
<Files ~ "^_\.ht">
Order allow,deny
Deny from all
</Files>
Order, Allow und Deny regeln, wer zugreifen darf.
Die IndexIgnore-Direktive
Damit Ihre Access-Dateien nicht angezeigt werden, wenn ein Browser den Inhalt eines Verzeichnisses anzeigt, sollten Sie der IndexIgnore-Direktive noch einen Eintrag hinzufügen:
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t _.*
Access-Dateien und die Directory-Direktive
Etwa ab Zeile 253 der Konfigurationsdatei finden Sie eine Directory-Direktive, welche Einstellungen für Ihren DocumentRoot vornimmt. Ohne die Kommentare sieht sie wie folgt aus:
<Directory "C:/Server/Apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Wenn Sie Ihren DocumentRoot geändert haben, müssen Sie auch hier die Verzeichnisangabe ändern.
Options
Options gibt an, was in diesem Verzeichnis (und dessen Unterverzeichnissen!) passieren darf. Mögliche Werte sind:
Indexes |
Indexes gibt an, dass der Inhalt eines Verzeichnisses angezeigt werden soll, wenn der Browser auf ein Verzeichnis zugreift, in dem es keinen DirectoryIndex (siehe oben) gibt. Wenn Indexes nicht angegeben ist, wird stattdessen ein HTTP-Statuscode 403 an den Browser gesendet, der anzeigt, dass der Zugriff auf das Verzeichnis verboten ist.
|
Includes |
Hiermit aktivieren Sie Server Side Includes (SSI). |
FollowSymLinks |
Nur unter UNIX/Linux relevant. |
SymLinksifOwnerMatch |
Nur unter UNIX/Linux relevant. |
ExecCGI |
Erlaubt die Ausführung von CGI-Skripten innerhalb des Verzeichnisses. Ansonsten müssen CGI-Skripte (betrifft vor allem Perl) in einem eigens dafür vorgesehenen Verzeichnis (/cgi-bin) gespeichert werden. (Für die Modul-Version von PHP ist dieser Eintrag irrelevant, wie wir später sehen werden) |
Multiviews |
Wenn ein URL aufgerufen wird, dessen entsprechende Datei vom Webserver nicht gefunden wird, sucht er nach ähnlichen Dateien. Dadurch kann man beispielsweise eine Dateiendung beim Eintippen in den Browser weglassen; dies kann aber auch Unerwünschtes hervorrufen, wenn mehrere Dateien sich nur an der Dateiendung unterscheiden. Sinnvoll ist der Einsatz, wenn Sie HTML-Dateien in verschiedenen Sprachen anbieten, wie es die Testseite des Apache vormacht. Wie Sie oben gesehen haben, gibt es einen Eintrag index.html.var in der DirectoryIndex-Direktive. Dadurch wird die Datei index.html.de angezeigt, wenn der Browser auf http://localhost/ zugreift. Der Browser schickt dem Webserver ein Länderkürzel, welches der Apache nutzt, um die richtige Datei anzuzeigen. |
Außerdem gibt es die Angaben None und All; letztere umfasst aber nicht die Angabe Multiviews, sodass Sie diese immer explizit angeben müssen.
AllowOverride
Nun kommen wir wieder zur Access-Datei zurück. Mit AllowOverride können Sie festlegen, welche Einstellungen durch eine Access-Datei überschrieben werden dürfen. Versucht die Access-Datei eine Konfiguration zu überschreiben, die sie nicht überschreiben darf, wird ein HTTP 500 an den Browser geschickt (Internal Server Error); seien Sie also vorsichtig beim Einsatz von Access-Dateien und der Konfiguration.
Options |
Die Access-Datei darf die Options-Angabe (siehe oben) überschreiben. |
FileInfo |
Es können Direktiven betreffend Dateien überschrieben werden. Wichtig sind dabei vor allem AddType (damit kann man Dateitypen, also MIME-Typen, hinzufügen), und ErrorDocument (für benutzerdefinierte Fehlerseiten bei HTTP-Fehlern). |
AuthConfig |
Erlaubt den Einsatz der Direktiven, die sich mit Authorisation beschäftigen, z.B. AuthName, AuthType oder Require. Diese Direktiven sind nötig, um ein Verzeichnis mit einem Passwort zu schützen. |
Limit |
Die Direktiven Allow, Deny und Order dürfen überschrieben werden (siehe oben). |
Indexes |
Direktiven, mit denen das Aussehen und Verhalten einer Verzeichnisinhalt-Anzeige verändert werden können, u.a. AddDescription, AddIcon, DirectoryIndex und IndexIgnore. |
Außerdem gibt es auch hier die Angaben None und All.
 |
Gratulation! Eigentlich sind Sie an dieser Stelle fertig. Wenn Ihnen die Fülle an Informationen reicht, hören Sie hier erst einmal auf! Sie können jetzt mit dem Abschnitt PHP weiter machen, wenn Sie möchten.
|
 |
Falls Sie Domainnamen einsetzen und verschiedenen Domainnamen verschiedene Webseiten zuordnen möchten, lesen Sie den folgenden Abschnitt, der sich mit Sektion 3: Virtual Hosts beschäftigt.
Der Einsatz von Access-Dateien wird auf der übernächsten Seite genauer beschrieben. Dort werden auch einige Direktiven aus Sektion 2 erklärt, die ich hier auf dieser Seite (der Fülle an Informationen wegen) nicht erklärt habe, beispielsweise ErrorDocument und weitere Informationen zum Passwort-Schutz von Verzeichnissen.
|
Sektion 3: Virtual Hosts
Access-Dateien
|