Network Services VU 2.0, Lab Beispiel 4


SS 2006 - Johann Oberleitner - Letzte Änderung: Fri Jan 12 16:17:11 WEST 2007



Tasks

Unteraufgabe Beschreibung
Konfigurieren des Web-Servers Konfigurieren Sie den Apache Web- erver so, dass für alle Benutzer auf Ihrem Host (nwsXXXXXXX) Webpages via ~user erreichbar sind (beispiesweise http://www.nwsXX.lab/~nws8177777/). Im jeweiligen home-Verzeichnis des Unix-Benutzers soll die Web-Page im Verzeichnis public_html liegen. Weiters sollen Sie eine Startseite für Ihren Host entwerfen, auf der die Seiten aller anderen Benutzer verlinked sind (mittels anchor-Tag: <a href ... >). Die Seite soll ausserdem das aktuelle Datum des Servers enthalten. Dies sollten Sie mit Server-Side-Includes (SSI) machen. Beachten Sie, dass die Uhrzeit nicht notwendigerweise korrekt ist, weil die virtuellen Hosts anders getimed sind als die reale Zeit.

Von ausserhalb des Übungsnetzes können Sie die Webpages aufrufen mit http://nwsa.dslab.tuwien.ac.at:1xx80 bzw http://nwsb.dslab.tuwien.ac.at.:1xx80 je nachdem wo Ihr Host liegt. Vom Host selbst mit lynx bzw. telnet.

Das Konfigurationsfile httpd.conf des Apache Web Server liegt im Verzeichnis /etc/apache. Neustarten bzw neuladen der Konfiguration können Sie mittels /etc/init.d/apache.

Die Dokumentation zum Apache Web-Server 1.3 inklusive Tutorials finden Sie unter http://httpd.apache.org/docs/. Für dieses Beispiel (inklusive nächste Unteraufgabe) wesentlich sind die Punkte URL Mapping, CGI: Dynamic Content with CGI, und Server Side Includes (SSI).

Aufsetzen von Web-Pages Schreiben Sie für die von Ihnen verwalteten Seiten je eine Web-Page (HTML). Sie soll eine HTML-Tabelle enthalten (Table), aus der Hervorgeht, wie der jeweilige Benutzer heisst. Verwenden Sie für die Formatierung der Seiten dasselbe externe CSS Stylesheet. Verwenden Sie bitte eine aufwendigere Formatierung als nur weisse Schrift auf schwarzen Hintergrund Inkludieren Sie weiters einen Hit-Counter und das Datum an dem die Seite das letzte mal erstellt worden ist. Den Counter können Sie mit CGI-Script via shell script schreiben, das Datum kann zB. via Apache Server-Side-Includes eingebaut werden. Entsprechenden Beispiele finden Sie bei den Apache-Docs weiter oben.

Es ist bei diesem Beispiel möglich ein globales CGI-Script zu schreiben, dass für alle anderen Benutzer zur Verfügu g steht, als auch ein lokales CGI-Script zu verwenden, dass Sie dann innerhalb Ihres public_html Verzeichnis ablegen.

Möglicherweise müssen Sie an den Executable Permissions für CGI-Scripts im httpd.conf dann etwas ändern.

Hinweis: Der Hit-Counter liest den alten Wert von einem File ein (dazu kann man zB cat verwenden). Dieser Wert wird dann um 1 erhöht und wieder in die Datei geschrieben.

Erzeugen eines XSLT Stylesheets Schreiben Sie ein XSLT Stylesheet, mit dem Sie XML Dateien der Bauart sample-customers.xm l File in eine HTML Tabelle umwandeln (inklusive Kopfzeile). Wenn ein oder mehrere Elemente include-only-relat ions-with existieren sollen nur jene Kunden tabellarisch ausgegeben werden, die ein Kind-Element relations- to-customer existiert und dessen Attribute number dem Inhalt eines include-only-relations-with Element entspricht. Existiert kein solches Feld include-only-relations-with, sollen alle Customer E lemente als Zeilen der Tabelle ausgegeben werden. Die relations-to-customer Felder sollen Sie nicht ausgebe n. Verlinken Sie das erzeugte HTML File auch von Ihren Seiten (zum einfachem Erreichen beim Abgabegespräch).

Das Übersetzen des XML Files können Sie mit dem Commando xsltproc durchführen.

Hinweis: Versuchen Sie zuerst, die Tabelle für alle customers zu erstellen. Das dürfte wesentlich einfacher sein und gibt auch Punkte.

Konfigurieren von HTTP Authentication Erstellen Sie ein Verzeichnis /private, dass via HTTP nur von Benutzern einer realm nwsXX (XX ist dabei Ihre Gru ppennummer) erreichbar sind. Dazu soll Digest HTTP authentication verwendet werden. In dieser realm sollen alle Studiere nden Ihrer Gruppe eingetragen sein. In dieses Verzeichnis kopieren Sie zum Beispiel Ihr /etc/aliases File. Die Passwörter wählen Sie selbst.