RBI-Logo
Beispielwebseiten

Startseite
Download
Paßwortschutz
SHTML
PHP
Redirect

Verantwortlich für Inhalt und Design:
Webmaster der Informatik
<Email>
<Homepage>

Erklärung: Diese Seite gehört zu den Webseiten der RBI. Für den Inhalt gelinkter Seiten außerhalb dieser Seiten sind die Autoren nicht verantwortlich.

Zeitstempel:  02.06.2003 CEST 15:00:43
© EJP

Webserver - Beispielseiten

Allgemein

Auf dieser und allen zusammenhängenden Seiten wird anhand eines Testbenutzers gezeigt, welche Möglichkeiten der Apache Webserver den Benutzern des Fachbereichs Biologie und Informatik bietet. Die wichtigsten Befehle und Einstellungsmöglichkeiten werden nicht nur vorgestellt, sondern auch anwendungsorientiert erklärt. Es ist jederzeit möglich, sich die entsprechenden Quelldateien anzuschauen, sie sich zu kopieren und für eigene Seiten als Vorlage zu nutzen.

Die Lektionen

Unter Download wird gezeigt, wie man ein Downloadverzeichnis ansprechend und übersichtlich gestalten kann, ohne eigene HTML-Seiten kreieren zu müssen. Diese Arbeit nimmt uns der Webserver mit den entsprechenden Einstellungen ab.
Unter Paßwortschutz wird vorgestellt, wie man einen durch Username und Paßwort geschützten Webbereich einrichten kann. Damit kann man ausgewählten Personen Informationen über das Web zukommen lassen (z.B. Zugriffsstatistiken der eigenen Seite oder private Fotogalerien).
Unter SHTML wird eine Server Side Include (SSI) HTML-Seite vorgestellt, welche prinzipiell die gleichen Möglichkeiten wie PHP bietet. Da PHP mächtiger zu sein scheint, würde ich die Verwendung von SHTML einschränken.
Unter PHP wird eine reine PHP-Seite aufgerufen. PHP ist eine sehr gut für Webanwendungen geeignete Serverskriptsprache und ersetzt immer mehr CGI und PERL-Skripte.
Unter Redirect werden einige Varianten vorgestellt, wie man elegant Webseiten "umbiegt". Sehr wichtig für Weiterleitungen außerhalb der Universität oder wenn man seine Webseiten umstrukturiert, aber nicht möchte, daß alte Links verloren gehen.

Diese Seite

Auf der Startseite wird bereits die erste Möglichkeit des Servers demonstriert: Ein Menü auf der linken Seite, welches für alle Webseiten identisch ist und einen Zeitstempel ("Last Modified") integriert. Erreicht wurde dies durch den Einsatz von PHP, einer serverseitigen Skriptsprache, die im Gegensatz zu JavaScript auf dem Server ausgeführt wird, bevor die Seite an den Browser verschickt wird. Dazu bedarf es aber einiger Vorbereitungen. Insbesondere muß jeder Benutzer ein paar Optionen für den Webserver setzen, welches in der RBI seit längerem möglich ist. Innerhalb des eigenen Webverzeichnisses (~username/WWW, wird aber mit www.informatik.uni-frankfurt.de/~username ohne WWW im Netz angesprochen) kann jeder User eine Datei namens .htaccess anlegen, in der dann die Steuerbefehle für den Webserver stehen. Diese Datei kann nicht über das Web aufgerufen werden und taucht auch nicht in Webdirectorylistings auf. Sie ist eine "versteckte" Datei, kann aber vom Benutzer auf Terminalebene angesehen und editiert werden.

Die Steuerdatei in diesem Verzeichnis umfaßt die folgenden Befehle:
AddType application/x-httpd-php .html
Mit diesem Befehl werden .html Dateien (aber nicht .htm!) für den Server zu PHP-Dateien und werden vor dem Absenden auf PHP-Befehle durchsucht. Hinter das .html können weitere Endungen geschrieben werden, das ist aber normalerweise nicht nötig.

Quellcode dieser Seite

Einige Textzeilen wurden aus Gründen der Übersicht entfernt, was an den fehlenden Zeilennummern zu verifizieren ist.
01 <!--Die folgenden Zeilen sind nötig, der Titel kann je nach Seite angepaßt werden-->
02 <html>
03 <head>
04 <title>RBI - Startseite für Webbeispiele</title>
05 
06 <!--Hier wird das Menü eingefügt-->
07   <?php
08 	include './menue.html'
09   ?>
10 
11 <!--Hier beginnt die eigentliche Seite-->
12 
13 <td width=100% valign="top">
14 
15 <h1 align=center>Webserver - Beispielseiten</h1>
16 
17 <h2 align=center>Allgemein</h2>
24 
25 <h2 align=center>Die Lektionen</h2>
41 
42 <h2 align=center>Diese Seite</h2>
54 
55 Die Steuerdatei in diesem Verzeichnis umfaßt die folgenden Befehle:
56   <?php
57 	include './htaccess_php.quellcode'
58   ?>
59 Mit diesem Befehl werden <b>.html</b> Dateien (aber nicht <b>.htm</b>!) für den Server zu PHP-Dateien und werden
60 vor dem Absenden auf PHP-Befehle durchsucht. Hinter das <b>.html</b> können weitere Endungen geschrieben werden, das
61 ist aber normalerweise nicht nötig.
62 
63 <h2 align=center>Quellcode dieser Seite</h2>
64 <p class="erps" align="justify">
65 Einige Textzeilen wurden aus Gründen der Übersicht entfernt, was an den fehlenden Zeilennummern zu verifizieren ist.
66   <?php
67 	include './index.html.quellcode'
68   ?>
69 
70 <h2 align=center>Quellcode der  Menü-Datei</h2>
71 <p class="erps" align="justify">
72 Das folgende Listing zeigt die Datei <a href="menue.html">menue.html</a>, welche in jede HTML-Seite eingesourct wird.
73   <?php
74 	include './menue.quellcode'
75   ?>
76 
84 
85 <!--Hier endet die eigentliche Seite-->
86 </td>
87 </tr>
88 </table>
89 
90 </body>
91 </html>

Quellcode der Menü-Datei

Das folgende Listing zeigt die Datei menue.html, welche in jede HTML-Seite eingesourct wird.
01 <meta name="description" content="Beispielseite zur Nutzung der Apache-Web-Server-Möglichkeiten">
02 <meta name="keywords" content="Apache, Webserver, Beispiel, User">
03 <meta name="author" content="Ernst">
04 <meta name="language" content="de">
05 
06 <script language="JavaScript">
07 <!--
08     /* Dies sollte in der unteren Zeile den Standardtext ausgeben */
09     window.defaultStatus = "Beispiele zum Apache-Webserver";
10 //-->
11 </script>
12 <style type="text/css">
13 <!--
14 div.little {
15  font-family: Arial;
16  font-size: x-small;
17  text-align: center;
18  color: #0000FF;
19 }
20 div.littleleft {
21  font-size: x-small;
22  text-align: left;
23  color: #C04000;
24 }
25 div.littleright {
26  font-size: x-small;
27  text-align: right;
28  color: #C04000;
29 }
30 a.menu {
31  font-family: Arial;
32  font-size: smaller;
33  text-align: left;
34  color: #FF5F00;
35 }
36 address {
37  font-size: x-small;
38  text-align: left;
39  color: #C04000;
40 }
41 h1 {
42  font-family: serif;
43  font-size: xx-large;
44  font-weight: bold;
45  text-align: center;
46 }
47 p.erps {
48  font-family: serif;
49  font-size: medium;
50  text-align: justify;
51 }
52 -->
53 </style></head>
54 
55 <!--Hier beginnt der Body-->
56 <body background="/pics/bg_marmorw.jpg" bgproperties="fixed" text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
57 
58 <!--Eine Tabelle für die Seitenaufteilung-->
59 <table width=100% cellpadding=10>
60 <tr>
61 
62 <!--Hier beginnt das Menü auf der linken Seite-->
63  <td width=200 valign="top">
64   <div align="center"><img src="/pics/RBI-Logo-klein.jpg" border="0" alt="RBI-Logo">
65   <br clear=all>
66   <div class="little">Beispielwebseiten</div></div>
67 
68   <!--Hier beginnen die Menüeinträge-->
69   <hr width=200 noshade size="1">
70   <a class="menu" href="/~www1test">Startseite</a><br>
71   <a class="menu" href="/~www1test">Download</a><br>
72   <a class="menu" href="/~www1test">Paßwortschutz</a><br>
73   <a class="menu" href="/~www1test">SHTML</a><br>
74   <a class="menu" href="/~www1test">PHP</a><br>
75   <a class="menu" href="/~www1test">Redirect</a><br>
76   
77   <!--Emailangabe und Disclaimer-->
78   <hr noshade size="1">
79   <div class="littleleft">Verantwortlich für Inhalt und Design:</div>
80   <address>
81   Webmaster der Informatik<br>
82   <a href="mailto:webmaster@informatik.uni-frankfurt.de"><Email></a><br>
83   <a href="http://www.informatik.uni-frankfurt.de/RBI"><Homepage></a>
84   </address>
85   <p>
86   <div class="littleleft">Erklärung: Diese Seite gehört zu den Webseiten der RBI.
87   Für den Inhalt gelinkter Seiten außerhalb dieser Seiten sind die Autoren nicht verantwortlich.<br><br>
88 Zeitstempel: 
89   <?php
90 	 print (date("d.m.Y T H:i:s", filemtime($_SERVER["SCRIPT_FILENAME"])));
91   ?>
92   </div>
93   <div class="littleright">© EJP</div>
94   <hr noshade size="1">
95  </td>
In den Zeilen 089 bis 091 wird der Zeitstempel eingefügt. Es handelt sich um einen php-Befehl, welcher mit dem einleitenden Tag <?php begonnen wird und mit dem Abschlußtag ?> beendet wird. Innerhalb dieser Markierungen können php-Befehle ausgeführt werden. In diesem Fall wird die letzte Änderung des aufrufenden Skripts (!) in diese Datei eingefügt. Warum das aufrufende Skript? Da die Datei "menue.html" in jede andere HTML-Datei eingefügt wird, würde es wenig Sinn machen, ihren eigenen Zeitstempel zu verwenden.
Sehr wichtig ist es, daß die eingefügte Datei in alle Dateien "perfekt" hineinpaßt. Es muß also darauf geachtet werden, daß geöffnete Tags richtig geschlossen werden und keine Inkonsistenzen entstehen.