Webserver/Serverkonfiguration: Aliasing von Webverzeichnissen

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Informationen zum Autor

Name:
Achim Schrepfer
E-Mail:
Homepage:

Der Apache-Webserver ist ja bekannt für seine flexiblen Konfigurationsmöglichkeiten. Eine häufig verwendete Option dieses Servers ist das Modul mod_alias welches in der Standarddistribution der Software mitgeliefert wird. Es ermöglicht unter anderem das Einblenden von lokalen Verzeichnissen in den Web-Verzeichnis-Baum. Diese Alias-Funktionalität kann man zum Beispiel für serverweite CGI-Skripte verwenden. Dazu wird ein zentrales Verzeichnis auf dem Server-Rechner angelegt, welches alle Skripten enthält. Mittels ScriptAlias-Direktive wird dieses Verzeichnis im Web (ggf. bei allen virtuellen Hosts) verfügbar gemacht.

Das folgende, etwas komplexere Beispiel dient zum Aufbau eines Service-Bereichs für alle virtuellen Hosts. In diesem Service-Bereich soll es eine Startseite, eine Statistikseite und einen Bereich mit Cliparts geben. Vom Prinzip her wird so bei vielen Internet-Providern verfahren. Das Verzeichnis /usr/local/docroot-service/ enthält die Dateien des Wurzelverzeichnisses unseres Servicebereichs. Dieses soll erreichbar sein unter http://domainname.tld/service/. Das Verzeichnis /usr/local/stat-software/ enthält die CGI-Skripte für das Statistiktool. Es soll innerhalb des Servicebereichs unter http://domainname.tld/service/statistik/ erreichbar sein. Das dritte Verzeichnis /data/all-users/cliparts/ enthält Web-Clipart und soll unter http://domainname.tld/service/clipart verfügbar gemacht werden.

Unser Service-Bereich soll natürlich ggf. von allen virtuellen Hosts des Servers aus erreichbar sein, weshalb die folgenden Konfigurationen in der Main Server Configuration (so wird sie in der Standard-Konfiguration des Apache genannt) eingebaut werden müssen. Das Beispiel zeigt eine Alias-Konstruktion für unseren Service-Bereich.

Beachten Sie: Dies ist nur ein Beispiel für die Alias-Konstruktion im Apache. Es werden grundlegende Kenntnisse des Apache-Servers und seiner Konfiguration vorausgesetzt. Das Beispiel wurde getestet mit der Apache-Version 1.3.26.

[Bearbeiten] Beispiel mit Erläuterungen

Beispiel
## Alias für den Statistikbereich
ScriptAlias /service/statistik /usr/local/stat-software
<Directory /usr/local/stat-software>
    Options All
 
    #Authentifikation eines Webusers erforderlich
    AuthUserFile /usr/local/http-auth/htpasswd
    AuthName ByPassword
    AuthType Basic
 
    <Limit GET>
            Require valid-user
    </Limit>
    #Ende Webuser-Authentifikation
 
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
 
## Alias für die Clipart-Bibliothek
Alias /service/clipart /data/all-users/cliparts
<Directory /data/all-users/clipart>
    Options MultiViews
 
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
 
## Standardalias für Service-Bereich
Alias /service /usr/local/docroot-service
<Directory /usr/local/docroot-service>
    Options Indexes MultiViews
 
    #Authentifikation eines Webusers erforderlich
    AuthUserFile /usr/local/http-auth/htpasswd
    AuthName ByPassword
    AuthType Basic
 
    <Limit GET>
            Require valid-user
    </Limit>
    #Ende Webuser-Authentifikation
 
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Das Beispiel richtet die drei oben genannten Aliase ein. Der erste Abschnitt mit der ScriptAlias-Direktive verweist auf das Verzeichnis mit den CGI-Skripten des Statistiktools. Innerhalb der Directory-Direktive wird festgelegt, dass für den Zugriff ein authentisierter Benutzer vorhanden sein muss. Die Benutzer unseres Servicebereichs sind in der Datei /usr/local/http-auth/htpasswd gespeichert. Für weitere Informationen dazu lesen Sie bitte die beiden htaccess-Featureartikel von Michael Schröpl. Hier wird vorausgesetzt, dass das Skript für die Statistikauswertung auch den HTTP-Benutzer und die Domain, von der es aufgerufen wird, berücksichtigt. Statistik-Tools wie z.B. AWStats unterstützen dies und sind somit geeignet für diese Vorgehensweise. Denn je nach Benutzername und Domain müssen natürlich andere Statistiken ausgegeben werden.

Der zweite Abschnitt stellt die Clipart-Seiten im Service-Bereich bereit. Das Verzeichnis /data/all-users/cliparts/ sollte dazu natürlich Übersichtsseiten in HTML enthalten. Die Ausführung von CGI-Skripten ist in diesem Verzeichnis nicht erlaubt. Solche Verzeichnisse können natürlich noch mehr enthalten. Beispielsweise Dokumentationen, Hotline-Nummern und vieles mehr.

Der dritte Abschnitt stellt den übergeordneten Service-Bereich zur Verfügung. Auch hier ist in jedem Fall eine Authentifikation erforderlich. Dazu wird dieselbe Benutzerdatei (/usr/local/http-auth/htpasswd) wie im Statistik-Bereich verwendet. Dieses Vorgehen verhindert Redundanzen bei der Pflege der Benutzerliste.

Beachten Sie: In unserem Beispiel ist das wichtigste die Reihenfolge der Alias-Direktiven. Die untergeordneten Bereiche müssen immer als erstes eingerichtet werden. Der Versuch, zuerst das /service/-Alias und danach z.B. /service/statistik/ einzurichten schlägt fehl. Zwar gibt der Apache keinen Fehler aus, aber im Web wäre in diesem Fall nur der /service/-Bereich verfügbar, nicht aber /service/statistik/. Die Funktionen des mod_alias-Moduls sind äußerst mächtige Werkzeuge. Vor allem für Administratoren von Webservern mit mehreren virtuellen Hosts ist der gezielte Einsatz von Aliasen eine enorme Arbeitserleichterung.

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Index
Mitmachen
Werkzeuge
Spenden
SELFHTML