Eigene Einstellungen im Webserverpark

Stand: 27.02.2015

Um eigene Einstellungen für einen kompletten Webspace oder für einzelne Verzeichnisbäume innerhalb des Webspaces vorzunehmen, kann man im obersten Verzeichnis des Webspaces NNN/htdocs bzw. im obersten Verzeichnis des jeweiligen Verzeichnisbaumes die Dateien .htaccess und .htsslaccess sowie .htssoaccess (jeweils mit Punkt am Anfang) ablegen. Beim unverschlüsselten Zugriff über HTTP wird nur die Datei .htaccess beachtet. Beim verschlüsselten Zugriff über HTTPS wird, falls vorhanden, die Datei .htsslaccess beachtet und nur, falls diese nicht vorhanden ist, ebenfalls die Datei .htaccess beachtet. Beim Single-Sign-On-Zugang gilt die Datei .htssoaccess, ersatzweise .htsslaccess, ersatzweise .htaccess.

In diesen Dateien können zahlreiche Einstellungen vorgenommen werden. Ausführliche Informationen enthält die Online-Dokumentation des Apache-Webservers. Nachfolgend wird nur auf die wichtigsten Anwendungen und auf lokale Besonderheiten eingegangen.

WWW-Zugriffsrechte

Sie können für Ihren Webspace oder Teile davon den Zugriff auf bestimmte Personen oder Gruppen beschränken.

Dateinamen der Titelseiten

Falls beim Abruf einer WWW-Seite die Adresse eines Verzeichnisses angegeben wird, beispielsweise http://www.uni-muenster.de/NNN/BBB/, dann wird im entsprechenden Verzeichnis /www/data/NNN/htdocs/NNN/BBB/ nach folgenden Dateien gesucht, Großkleinschreibung ist wichtig:

  1. Welcome.html
  2. welcome.html
  3. index.cgi
  4. index.php
  5. index.shtml
  6. index.html
  7. index.htm
  8. /ErrNotFound.asis

Die Liste können Sie abändern, indem Sie in .htaccess bzw. .htsslaccess bzw. .htssoaccess eine Zeile mit dem Wort »DirectoryIndex«, gefolgt von den gewünschten Dateinamen, eintragen. (Die Verwendung etlicher Namen in der voreingestellten Liste hat historische Gründe, nur die fettgedruckten Namen sollten noch verwendet werden.)

Die erste gefundene Datei aus dieser Liste wird als Titelseite des Unterverzeichnisses angezeigt. Die letztgenannte Datei /ErrNotFound.asis sorgt dafür, dass eine Fehlermeldung erzeugt wird, falls keine der anderen Dateien gefunden wird. Wenn Sie statt der Fehlermeldung ein Inhaltsverzeichnis des Verzeichnisses anzeigen lassen möchten, lassen Sie in der Zeile DirectoryIndex einfach diese Datei weg.

Die Datei /ErrNotFound.asis liegt im Wurzelverzeichnis des WWW-Servers und ist nur bei WWW-Angeboten unter einem Verzeichnisnamen immer vorhanden. Bei WWW-Angeboten unter Host- oder Domainnamen sind Sie selbst dafür verantwortlich, eine solche Datei anzulegen. Die ersten beiden Zeilen dieser Datei müssen lauten »Status: 404 Not Found« und »Content-Type: text/html«, danach muss eine Leerzeile folgen und danach eine ganz normale HTML-Seite.

Eigene Fehlermeldungsseiten

Fehlermeldungen beim Versuch, auf nicht vorhandene oder zugangsbeschränkte Seiten zuzugreifen, erscheinen normalerweise im Layout der Universität Münster. Wenn Sie eigene Fehlerseiten gestalten möchten, können Sie diese mit folgenden Zeilen in .htaccess bzw. .htsslaccess bzw. .htssoaccess angeben: 

ErrorDocument 404 /NNN/FehlerNichtGefunden.html
ErrorDocument 403 /NNN/FehlerZugriffVerweigert.html
ErrorDocument 401 /NNN/FehlerFalschesPasswort.html

Die angegebenen WWW-Seiten müssen Sie natürlich dann selbst in Ihrem Verzeichnis /www/data/NNN/htdocs/ erstellen. (Der erste Schrägstrich in den ErrorDocument-Zeilen entspricht dem Schrägstrich hinter htdocs.)

Eigene Umleitungen

Wenn Sie den WWW-Browser eines Nutzers beim Zugriff auf ein (ehemaliges) Unterverzeichnis Ihres Webspaces auffordern möchten, doch bei einer anderen Adresse nachzuschauen, können Sie folgende Anweisung in .htaccess bzw. .htsslaccess bzw. .htssoaccess verwenden:

RedirectPermanent /NNN/BBB/CCC/ http://irgend.wo/anders/

Server Side Includes

Häufig ist es sinnvoll, gemeinsame Teile von HTML-Dateien (Seitenkopf, Seitenfuß, Navigationselemente usw.) nur an einer Stelle abzuspeichern und in der einzelnen HTML-Datei nur einen Verweis (eine Include-Anweisung) einzutragen. Die zentralen WWW-Server durchsuchen die WWW-Seiten nach solchen Include-Anweisungen und fügen die Inhalte der jeweils angegebenen Teil-Dateien an der Stelle der jeweiligen Include-Anweisungen ein. Es ist sogar möglich, Teile der WWW-Seiten nur dann einzufügen, wenn gewisse Bedingungen erfüllt sind.

Das gilt jedoch nur für solche WWW-Seiten, für die das Durchsuchen eingeschaltet ist; das ist der Fall, falls eine der folgenden Bedingungen erfüllt ist:

  • Der Name der Datei endet auf .shtml (statt .html oder .htm).
  • In einer für das aktuelle Verzeichnis wirksamen Datei .htaccess bzw. .htsslaccess bzw. .htssoaccess steht die Anweisung AddOutputFilter INCLUDES .html, zusätzlich kann es sinnvoll sein, SSILastModified off oder on einzustellen.
  • In einer solchen Datei steht die Anweisung XBitHack on oder XBitHack full und die Dateisystemzugriffsrechte erlauben dem Eigentümer das Ausführen der Datei. (Diese Methode sollte möglichst vermieden werden.)

Verknüpfung von Dateiendungen mit Apache-Handlern

Voreingestellt sind folgende Verknüpfungen:

  • AddHandler send-as-is asis
  • AddHandler imap-file map
  • AddHandler type-map var
  • AddHandler php5-script php5
  • AddHandler php5-script php
  • AddHandler cgi-script cgi

Das heißt unter Anderem, dass Dateien mit der Endung .php vom PHP-5-Interpreter und Dateien mit der Endung .cgi als CGI-Programme ausgeführt werden. Da kein Perl-Handler zur Verfügung steht, müssen Perl-Skripte mit dem CGI-Handler ausgeführt werden.

Um auch Perl-Dateien mit der Endung .pl als CGI-Programme auszuführen, muss einerseits die Endung .pl mit dem CGI-Handler verknüpft werden, dazu ist die folgende Zeile in .htaccess bzw. .htsslaccess einzutragen:

  • AddHandler cgi-script pl

Andererseits ist in der ersten Zeile der Datei der Interpreter zu benennen:

  • #!/usr/bin/perl

Windows-Nutzer beachten bitte, dass diese Interpreter-Angabe und alle Zeilen in den Dateien .htaccess und .htsslaccess sowie .htssoaccess nicht mit den Windows-Zeilenende-Zeichen CRLF, sondern nur mit dem Unix-Zeilenendezeichen LF abgeschlossen werden dürfen, andernfalls erscheint bei jedem WWW-Zugriff auf die Datei bzw. auf den Verzeichnisbaum ein »Internal Server Error«.