Ich   Entwicklung   Lösungen Apache PHP mySQL  
 

Main Server Configuration

Hinweis

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.

Geschafft!

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.

Zusatzinfo

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 weiter

Access-Dateien weiter

URL: www.intermitto.net/apache/konfig/main/
© 2004-05 Jens Becker - intermitto.net v5.1
Letzte Änderung: 23.08.2005

Home - Kontaktformular - Downloads - Suche und Sitemap - Impressum
Entwicklung - Problemlösungen - Tutorials: Apache PHP mySQL

user  pass