ALIs
kommt nochVirtueller WWW-Server - Eigenschaften und Konfigurationsmöglichkeiten
Name-based virtual Hosts
Wichtiger Hinweis: Der folgende Hinweis zur Referenzierung innerhalb der HTML-Seiten eines virtuellen Webservers muss nicht befolgt werden! Alle derzeit gängigen WWW-Browser unterstützen 'Name-based virtual Hosts', ohne dass zusätzliche Vorkehrungen getroffen werden müssen.
Die Technologie, die für die virtuellen Webserver am LRZ eingesetzt wird, nennt sich 'Name-based virtual Hosts'. Dabei haben mehrere virtuelle Webserver eine gemeinsame IP-Adresse. Daher wird ein Aufruf über die IP-Adresse anstelle des Domainnamens nicht funktionieren!
Dies macht in der Regel nur bei wirklich sehr alten WWW-Browsern ein Problem. Dieses Problem lässt sich aber durch konsequentes relatives Referenzieren in den HTML-Seiten vermeiden.
Beispiele:
-
Sie haben Ihre Homepage in der Datei 'index.html' und verweisen auf eine Datei 'texte.html' in einem Ihrer Unterverzeichnisse mit dem Namen '/dokumente/'.
Ungünstige Referenz: <A HREF="/dokumente/texte.html">Meine Texte</A>
Günstige Referenz: <A HREF="dokumente/texte.html">Meine Texte</A>
-
Sie haben eine Datei 'texte.html' in einem Ihrer Unterverzeichnisse mit dem Namen '/dokumente/' und verweisen auf ihre Homepage in der Datei 'index.html'.
Ungünstige Referenz: <A HREF="/index.html">Homepage</A>
Günstige Referenz: <A HREF="../">Homepage</A>
-
Sie haben eine Datei 'texte.html' im selben Verzeichnis, wie Ihre Homepage und verweisen auf ihre Homepage (Datei 'index.html').
Ungünstige Referenz: <A HREF="/index.html">Homepage</A>
Günstige Referenz: <A HREF="./">Homepage</A>
'..' bedeutet 'ein Verzeichnis zurück'; '.' bedeutet 'das selbe Verzeichnis'.
Alle virtuellen Webserver am LRZ werden auf einen bestimmten Hauptdomainnamen abgebildet (http://wwwph.lrz.de/ bzw. http://wwwvnn.tum.de/ für TUM-Sites). Diese Seite wird übrigens auch immer dann beim Aufruf eines virtuellen Servers angezeigt, wenn der benutzte Browser nicht HTTP 1.1 unterstützt (also ein älterer Browser benutzt wird) oder wenn die Konfiguration eines neuen virtuellen Servers noch nicht vollständig abgeschlossen ist, oder wenn man statt des Namens des virtuellen Servers versucht, über die IP-Adresse zuzugreifen.
Der Verzeichnisname /sys/
Sie dürfen kein Verzeichnis webserver/webdata/sys/) anlegen, da dieser Pfad am virtuellen Webserver für CGI-Skripten, Statistiken und den Linkchecker reserviert ist (siehe z.B. CGI: Dateipfad und URL) oder Zugriffsstatistik und Logs).
Homepages von Instituten als Unterverzeichnis in einen virtuellen Webserver aufnehmen
Angenommen Sie sind Administrator eines virtuellen Webservers für eine Fakultät und wollen nun Institute der Fakultät als Unterverzeichnisse in Ihrem Webserver integrieren, wobei die Seiten der Institute unter einer anderen LRZ-Kennung abgelegt sind und Sie diese auch nicht pflegen.
Sie müssten dazu lediglich einen Unix-Link von dem Daten-Verzeichnis Ihres virtuellen Webservers auf das Verzeichnis der Institutsseiten legen.
Beispiel:
Virtueller Webserver unter der Kennung 'u123456': http://www.fakultaet.uni-muenchen.de
Institutsseiten des Instituts xyz unter der Kennung u123abc: http://www.lrz.de/~u123abc/webserver/webdata/
Diese Seiten sollen jetzt über http://www.fakultaet.uni-muenchen.de/xyz/ erreicht werden.
Vorgehensweise:
Sie verbinden sich per SSH unter Ihrer Kennung (u123456) mit webdev1.lrz.de. Anleitungen und Hintergründe zu SSH finden Sie unter
- Installation und Nutzung des SSH Clients 'PuTTY'
- Installation und Nutzung des SCP/SFTP Clients 'WinSCP'
- SSH für Unix Benutzer
Sie benötigen ein AFS-Token, welches Sie mit dem Kommando /usr/local/bin/klog erhalten können.
Dann wechseln Sie in Ihr WWW-Datenverzeichnis:
cd $HOME/webserver/webdata
. Jetzt legen Sie einen Link auf das Datenverzeichnis des Instituts:
ln -s /afs/lrz/user/c/u123abc/webserver/webdata xyz
Homepages für Mitarbeiter einbinden
Es ist möglich, Homepages von Mitarbeitern über einen virtuellen Webserver zugängig zu machen, z.B. über einen URL der Form:
http://www.mein-servername.de/~schmitt/
-
Richten Sie unter
webserverein Directorywebusersein (Nur dieses Verzeichnis ist zulässig!):mkdir $HOME/webserver/webusers -
Gehen Sie in dieses Verzeichnis.
cd $HOME/webserver/webusersGeben Sie dem Webserver des LRZ in diesem Directory Leserecht:/usr/afsws/bin/fs sa $HOME/webserver/webusers somebody rl -
Generieren Sie einen sog. Unix-Soft-Link auf das gewünschte Benutzerverzeichnis mit Hilfe von z.B. folgendem Unix-Kommando:
ln -s /afs/lrz/user/a/uu111aa/webserver/webdata/ schmitt
Hierbei passiert folgendes: Im Verzeichnis $HOME/webserver/webusers Ihres virtuellen Webservers wird ein Unix-Link schmitt angelegt, der auf das Benutzerverzeichnis /afs/lrz/user/a/uu111aa/webserver/webdata/ zeigt, also Referenzen auf webusers entsprechend umlenkt. Der Name des Benutzers uu111aa sei in Wirklichkeit Schmitt. Der Softlink im User-Directory erlaubt also den Aufruf der Webseiten dieses Mitabreites über die Tilde/Name-Konstruktion innerhalb des virtuellen Webservers.
Achtung: Durch diese Konstruktion kann auf die Mitarbeiter-Homepage auf zwei Arten zugegriffen werden:
-
Über
http://www.mein-servername.de/~schmitt/ -
sowie über
http://www.lrz.de/~uu111aa/webserver/webdata/
Man sollte sich nach Möglichkeit auf eine Variante des URL festlegen.
Seiten für Fehlermeldungen erstellen
Bei einem virtuellen Server kann ein Betreiber eigene Seiten anlegen, die bei einem Fehler automatisch angezeigt werden. Dazu muss man unter seiner DocumentRoot webdata ein Verzeichnis errors anlegen. Die Dateien für die Fehlermeldungen müssen dann in diesem Verzeichnis entsprechend Ihrem Fehlercode benannt werden.
Folgende einzelne Dateien können dort angelegt werden:
- 401.html Unkorrekte Authorisierung bei einer Paßwortabfrage
- 403.html Fehler bei Zugriff auf ein Verzeichnis, das keine Datei index.htm(l) enthält
- 404.html Der angeforderte URL existiert nicht
- 500.html Fehler in einem Skript, oder einer Zugriffsschutzdatei
Es kann auch alternativ nur eine Datei xxx.html angelegt werden, die die oben genannten Dateien erstezt, falls die entsprechende Datei nicht existiert.
Alle diese Dateien werden nicht direkt angezeigt, sondern über ein CGI-Skript gelesen. Das hat den Vorteil, dass dynamische Informationen integriert werden können. Damit Ihr virtueller Webserver diese Informationen nutzen kann, können Sie spezielle Kommentar-Tags in die Fehlerdateien einbauen, die dann durch dynamisch generierte Information ersetzt wird. Diese im folgenden beschriebenen Kommentar-Tags, müssen am Zeilenanfang stehen. Diese Zeile wird dann nicht angezeigt.
Folgende Tags können Sie nutzen:
| <!-- ECODE --> | Gibt den Error-Code als dreistellige Zahl aus. |
| <!-- GDESC --> | Gibt die Fehlerbeschreibung aus (deutsch). |
| <!-- EDESC --> | Gibt die Fehlerbeschreibung aus (englisch). |
| <!-- G_CGI --> | Gibt Technische Informationen aus (deutsch). |
| <!-- E_CGI --> | Gibt Technische Informationen aus (englisch). |
| <!-- G_REF --> | Gibt einen Hinweis auf die referenzierende Seite aus, falls es eine solche gibt (deutsch). |
| <!-- E_REF --> | Gibt einen Hinweis auf die referenzierende Seite aus, falls es eine solche gibt (englisch). |
| <!-- G_BEN --> | Gibt einen Hinweis aus, falls es sich um eine Benutzerseite (~) handelt (deutsch). |
| <!-- E_BEN --> | Gibt einen Hinweis aus, falls es sich um eine Benutzerseite (~) handelt (englisch). |
| <!-- CGIENV:XXXXX--> | Gibt den Inhalt der CGI-Variable XXXXX textuell aus. |
Sie finden hier auch ein Template für eine xxx.html-Datei, das natürlich hier keine Informationen ausgibt, da es nicht von dem CGI-Skript bearbeitet wird. Die Fehlermeldungen am LRZ-Server werden auf die gleiche Art generiert.