Konfigurationsdateien

In den folgenden Abschnitten werden die Dateien für die Konfiguration des Apache HTTP-Servers beschrieben.

Die Konfigurationsdateien mod_mime IfDefine Include TypesConfig

Der Apache-Server wird über Direktiven konfiguriert, die in einfachem Textformat in Konfigurationsdateien stehen. Die wichtigste Konfigurationsdatei ist normalerweise die Datei httpd.conf. Das Verzeichnis der Datei wird beim Kompilieren angegeben, kann aber mit Befehlszeilen-Flag -f überschrieben werden. Mit der Direktive Include können Konfigurationsdateien hingefügt und für die Berücksichtigung mehrerer Konfigurationsdateien können Jokerzeichen benutzt werden. Die folgenden Direktiven können in jede dieser Konfigurationsdateien gesetzt werden. Änderungen in den Hauptkonfigurationsdateien werden vom Apache nur beim Start oder Neustart erkannt.

Ferner liest der Server eine Datei mit MIME-Typen, deren Name mit der TypesConfig-Direktive angegeben wird. Standardmäßig lautet die Bezeichnung mime.types.

Die Syntax der Konfigurationsdateien

Apache Konfigurationsdateien enthalten eine Direktive pro Zeile. Mit einem Backslash \ am Ende einer Zeile wird angezeigt, dass die Direktive in der nächsten Zeile fortgesetzt wird. Zwischen dem Backslash und dem Ende der Zeile dürfen keine anderen Zeichen oder Leerzeichen stehen.

Bei den Bezeichnungen in den Konfigurationsdateien wird Groß- und Kleinschreibung unterschieden, bei den Argumenten spielt sie häufig keine Rolle. Zeilen, die mit einem Doppelkreuz (#) beginnen, werden als Kommentare betrachtet und ignoriert. Kommentare dürfen nicht nach einer Direktive in der gleichen Zeile stehen. Leerzeilen und Leerzeichen vor einer Direktive werden ignoriert, so dass die Direktiven für die bessere Übersichtlichkeit eingerückt werden können.

Mit dem Befehl apachectl configtest oder der Befehlszeilenoption -t kann die Syntax der Konfigurationsdateien ohne einen Serverstart auf Fehler überprüft werden.

Modules mod_so IfModule LoadModule

Der Apache ist ein modular Server. Das bedeutet, dass der Kernserver nur die wichtigsten Grundfunktionen enthält. Erweiterte Möglichkeiten stehen über die Module zur Verfügung, die in den Apache geladen werden können. Standardmäßig wird beim Kompilieren eine Grundmenge von Modulen in den Server eingebunden. Wird der Server für das dynamische Laden von Modulen kompiliert, können Module separat kompiliert und jeder Zeit mit der Direktive LoadModule hinzugefügt werden. Andernfalls muss der Apache neu kompiliert werden, um Module zu entfernen oder hinzuzufügen. Konfigurationsdirektiven können in Abhängigkeit vom Vorhandensein eines bestimmten Moduls eingebunden werden, wenn sie in einen IfModule-Block gesetzt werden.

Mit der Befehlszeilenoption -l können Sie sich anzeigen lassen, welche Module zur Zeit in den Server eingebunden sind.

Gültigkeitsbereiche von Direktiven Directory DirectoryMatch Files FilesMatch Location LocationMatch VirtualHost

Direktiven, die in den Hauptkonfigurationsdateien stehen, gelten für den gesamten Server. Möchten Sie die Konfiguration nur für einen Teil des Servers ändern, können Sie ihren Gültigkeitsbereich dadurch einschränken, dass Sie sie in die Abschnitte Directory, DirectoryMatch, Files, FilesMatch, Location und LocationMatch setzen. Diese Abschnitte schränken die Anwendung der in ihnen angegebenen Direktiven auf bestimmte Bereiche des Dateisystems oder URLs ein. Sie können auch verschachtelt werden, was eine sehr feinkörnige Konfiguration ermöglicht.

Der Apache kann viele unterschiedliche Websites gleichzeitig bedienen. Diesen Vorgang nennt man virtuelles Hosting. Der Gültigkeitsbereich von Direktiven kann auch dadurch eingeschränkt werden, dass sie in VirtualHost-Abschnitte gesetzt werden. Sie gelten dann nur für Anfragen an diese spezielle Website.

Zwar können die meisten Direktiven in jeden dieser Abschnitte gesetzt werden, einige Direktiven sind aber nicht in jedem Kontext sinnvoll. Direktiven, die die Prozesserzeugung steuern, können beispielsweise nur im Kontext des Hauptservers gesetzt werden. Welche Direktiven in welchen Kontext gesetzt werden können, können Sie dem Abschnitt Kontext der Direktivenbeschreibung entnehmen. Weitere Informationen finden Sie in der Beschreibung der Konfigurationsabschnitte.

.htaccess-Dateien AccessFileName AllowOverride

Der Apache ermöglicht über spezielle Dateien im Web-Verzeichnisbaum eine dezentrale Verwaltung der Konfiguration. Normalerweise tragen diese Dateien die Bezeichnung .htaccess, mit der Direktive AccessFileName kann aber auch eine andere Bezeichnung angegeben werden. Die Direktiven in den .htaccess-Dateien werden auf die Verzeichnisse (einschließlich aller Unterverzeichnisse) angewendet, in denen sie sich befinden. Die .htaccess-Dateien halten sich an die gleiche Syntax wie die Hauptkonfigurationsdateien. Da diese Dateien bei jeder Anfrage gelesen werden müssen, wirken sich Änderungen in diesen Dateien sofort aus.

Welche Direktiven in .htaccess-Dateien stehen können, entnehmen Sie dem Abschnitt Kontext der Direktivenbeschreibung. Der Administrator kann mit der AllowOverride-Direktive in den Hauptkonfigurationsdateien weiter steuern, welche Direktiven in .htaccess-Dateien stehen dürfen.

Weitere Informationen zu .htaccess-Dateien finden Sie unter den praktischen Anleitungen unter dem Thema .htaccess-Dateien.