Apache2.4/08/1/6 Status- und Konfigurationsinformationen
8.1.6 Status- und Konfigurationsinformationen
über den Server Apache 2 wird mit zwei sehr praktischen Modulen geliefert, die im weitesten Sinne auch mit Weiterleitung zu tun haben, da ähnlich wie bei Alias-Direktiven externe Daten in den URL-Bereich des Servers eingebunden werden: mod_info liefert die Konfigurationsdaten des laufenden Apache-Servers als HTML-Dokument; mod_status stellt dagegen Statusinformationen zur Verfügung. Beide sind ideal zur (Fern-)Diagnose des Servers geeignet. Mit den Informationen von mod_ info können Sie beispielsweise schnell überprüfen, ob irgendein Server-Problem mit der Konfiguration zu tun hat. mod_status erlaubt Ihnen z. B. die Analyse von Performance-Engpässen.
Wenn Sie die Informationen von mod_info einbinden möchten, müssen Sie dafür eine <Location> verwenden, die keinem existierenden Verzeichnis entspricht – weder unterhalb der DocumentRoot noch per Alias eingebunden. Damit unter dieser URL Server-Informationen geliefert werden, muss der Handler serverinfo gesetzt werden. Abgesehen davon sollte die URL vor Zugriffen durch Unbefugte geschützt werden. Zusätzlich zu der hier gezeigten Beschränkung auf das lokale Netzwerk sollten Sie auch noch eine Benutzeranmeldung verlangen (siehe Authentifizierung). Das folgende Beispiel stellt die Konfigurationsinformationen unter dem URL-Pfad /_info zur Verfügung:
<Location /_info> SetHandler server-info Order deny,allow Deny from all Allow from 192.168.0 # Hier Benutzeranmeldung hinzufügen! </Location>
Als berechtigter User können Sie nun einen beliebigen Browser öffnen und erhalten die Konfigurationsdaten unter der URL http://www.mynet.de/_info.
Seit Version 2.1-beta können Sie einen Query-String an die URL anhängen, um einen der folgenden Befehle zur Steuerung der Ausgabe auszuwählen:
- ?Modulname – gibt nur Informationen über das angegebene Modul aus.
- ?config – gibt die Konfigurationsinformationen allein, nicht nach Modulen sortiert, aus.
- ?hooks – zeigt nur die Hooks an, mit denen die einzelnen Module verknüpft sind (Näheres über Hooks erfahren Sie in Kapitel 17, »Apache erweitern«).
- ?list – gibt nur eine einfache Liste der aktivierten Module aus.
- ?server – zeigt nur die Grundinformationen über den Server an.
Die Funktionalität des Moduls mod_status wird auf ähnliche Weise eingeschaltet; hier ist lediglich der Handler server-status zuständig. Hier ein Beispiel, das die Statusinformationen unter dem URL-Pfad /_status (im Browser also unter einer URL wie http://www.mynet.de/_status) zugänglich macht:
<Location /_status> SetHandler server-status Order deny,allow Deny from all Allow from 192.168.0 # Hier Benutzeranmeldung hinzufügen! </Location>
Der optionale Query-String-Parameter ?refresh=N aktualisiert die Seite alle N Sekunden. Sie können z. B. die URL http://www.mynet.de/_status?refresh=10 angeben, um die Informationen alle zehn Sekunden neu zu laden.
AddModuleInfo Zusätzliche HTML-Information über ein Modul in der Server-Info
Seit Version 1.3 Modul mod_info Kontext Server, <VirtualHost> Syntax AddModuleInfo Modulname String Standardwert nicht gesetzt
Dies ist die einzige Konfigurationsdirektive des Moduls mod_info; seine Grundfunktion stellt es wie erwähnt durch den Handler server_info bereit. Die Direktive AddModuleInfo gibt den als zweiten Parameter angegebenen HTML-String aus, wenn das entsprechende Modul (erstes Argument) aktiv ist. Den Modulnamen müssen Sie genau wie bei <IfModule>-Containern (siehe Kapitel 6, »Grundkonfiguration«) in Form der Quelltextdatei des Moduls angeben, da nur dieser bei fest einkompilierten Modulen und bei DSO-Modulen identisch ist. Das folgende Beispiel verweist auf die Online-Dokumentation von mod_rewrite, wenn dieses Modul vorhanden ist:
AddModuleInfo mod_rewrite.c \ 'Näheres zu mod_rewrite <a \ href="http://httpd.apache.org/docs-2.2/mod/mod_rewrite.html">\ hier</a>'
ExtendedStatus Statusinformationen für jede einzelne Anfrage
Seit Version 1.3.2 Modul mod_status; ab 2.3 core Kontext Server Syntax ExtendedStatus On|Off Standardwert Off
Wenn Sie die Direktive ExtendedStatus explizit auf On setzen, erhalten Sie nicht nur eine Statistik über alle Anfragen, sondern zusätzlich auch Informationen über jede einzelne Anfrage. Beachten Sie, dass dies die Performance Ihres Webservers beeinträchtigen kann; Sie sollten diese Option nur vorübergehend bei aktuellem Debug-Bedarf einschalten.
SeeRequestTail Das Ende statt des Beginns jeder Anfrage anzeigen
Seit Version 2.2.7 Modul mod_status; ab 2.3 core Kontext Server Syntax SeeRequestTail On|Off Standardwert Off
Wenn Sie ExtendedStatus einschalten, werden standardmäßig die ersten 63 Zeichen jeder Anfrage gespeichert und angezeigt. SeeRequestTail On sorgt dafür, dass stattdessen die letzten 63 Zeichen gewählt werden.
Angenommen, eine Anfrage lautet wie folgt:
GET /data/media/images/photographs/fruit-and-vegetables/papaya.png HTTP/1.1
Dann würde standardmäßig der folgende Teilstring angezeigt:
GET /data/media/images/photographs/fruit-and-vegetables/p
SeeRequestTail On würde dagegen folgenden Teil der Anfrage verwenden:
images/photographs/fruit-and-vegetables/papaya.png HTTP/1.1