Wie erstelle ich eine private Homepage

Wie biete ich selber Web-Seiten an?

Um Web-Seiten weltweit aufrufbar zu machen, muss im AFS zunächst ein Ordner WWW im AFS-Homeordner eingerichtet und mit der notwendigen Leseberechtigung versehen werden. Dies kann direkt mit Kommandoeingabe in einem Terminalfenster oder einfacher über die Web-Seite http://change.rzuser.uni-heidelberg.de eingerichtet werden. Der Web-Server greift bei einer Anfrage ausschließlich auf diesen bzw. die Unterordner dieses Ordners zu.

Über Start -> Alle Programme -> Terminal -> KDE können Sie auf einem KDE-Rechner eine Sitzung öffnen, um Änderungen direkt vorzunehmen. Von außerhalb des URZ können Sie auf einen der Aix - bzw. KDE-Rechner eine SSH -Verbindung (Open-SSH finden Sie z. B. auf der Belup-CD ) aufmachen.

Unix-Kenntnisse sind hier nötig. Zuerst benötigen Sie ein Eingabeaufforderungsfester unter KDE. Dieses Fenster finden Sie bei der grafischen Oberfläche in der Fußzeile, bei der SSH-Sitzung sind Sie schon drin.

Falls Sie das Verzeichnis und die Leseberechtigung selber einrichten bzw. Änderungen vornehmen wollen, dann benötigen Sie die folgenden Befehle (Wenn Sie sich über AIX einloggen, dann ist der Homeordner des Activ Directories nicht erreichbar. cd ~ wäre hier der Homeordner des AFS):

  • cd ~ — Wechselt in den Homeordner des Activ Directories, egal wo Sie gerade sind.
  • cd ~/afs — Wechselt in den Homeordner des AFS.
  • mkdir ~/afs/WWW — Erzeugt einen Unterordner WWW. (Der Name ist zwingend.) Unix unterscheidet Groß- und Kleinschreibund. WWW ist groß geschrieben. Wenn der Ordner schon existiert, wird eine Fehlermeldung ausgegeben.
  • cd ~/afs/WWW — Wechselt in den Unterordner WWW.
  • fs sa . system:anyuser read — Setzt allen Benutzern AFS-Leserechte im aktuellen (.) Ordner.
  • fs la . — Zeigt die momentanen Rechte im aktuellen Ordner an.

Aufruf der Seiten

Wenn Sie jetzt im Browser (Firefox, Opera, Internet-Explorer) als URL eingeben:

http://www.rzuser.uni-heidelberg.de/~Ihre_Kennung/

wobei Sie für Ihre_Kennung Ihre Benutzerkennung einsetzen (~ (Tilde) nicht vergessen) dann sollte keine Fehlermeldung (File not found), sondern ein leerer Ordner (Index of ...) kommen.

Falls Sie eine HTML-Datei mit dem Namen index.html in diesem Ordner besäßen, würde nicht der Ordner, sondern die Datei index.html angezeigt werden.. Selbstverständlich können Sie in diesem Ordner weitere Ordner (z. B. Ordner_1) besitzen, in dem sich weitere Dateien (z. B. datei_1.html) befinden. Der Aufruf müsste dann lauten:

http://www.rzuser.uni-heidelberg.de/~Ihre_Kennung/Ordner_1/datei_1.html

Bitte beachten:

Für den Inhalt sind die Autoren selbst verantwortlich; insbesondere sind das Landesdatenschutzgesetz sowie die Betriebs- und Nutzungsordnungen des Rechenzentrums zu berücksichtigen.

Eigene Seiten erstellen und publizieren

Statische Seiten im Internet besitzen in der Regel das HTML-Format (Endung .html, htm ...) oder XHTML-Format (Endung: .xhmtl). Dieses Format ist in einem Texteditor lesbar, Tags (<format>Text</format>) zeichnen dabei in der Regel den Text mit bestimmten Eigenschaften aus. Diese HTML-Texte lassen sich mit einem Texteditor, bequemer mit einem HTML-Editor oder für Anfänger mit einem grafischen Editor wie Frontpage etc. erzeugen. Wie das geht, haben wir unter HTML-Einführung und Erstellen von Webseiten mit XHTML beschrieben.

Fertige Dateien, die nicht direkt im AFS erstellt wurden (z. B. auf den Aix- oder Linux-Rechnern), lassen sich bequem vom Windows-Homeordner mit cp ~/dateiname.html ~/afs/WWW/dateiname.html kopieren.

Löschen von eigenen Web-Seiten und sonstigen Dateien

Zum Löschen von Dateien und Ordnern ist es wieder notwendig, sich auf den Unix-Rechnern kde04, kde05 und ein Terminalfenster zu öffnen. (Es gibt bei diesen Systemen auch Dateimanager. Diese setzen eine grafische Oberfläche voraus, die Ihnen möglicherweise fehlt, wenn Sie sich über SSH einloggen. Deshalb werden hier nur die Zeilenkommandos aufgeführt.)

Die folgenden Kommandos sind ganz nützlich:

  • cd ~ — Wechselt in Ihren Homeordner.
  • cd ~/afs/WWW — Wechselt in den Unterordner WWW
  • ls -l — Listet die Ordner und Dateien des aktuellen Ordners auf.
  • rm Dateiname — Löscht die Datei Dateiname
  • rm * — Löscht alle Dateien im akuellen Ordner
  • cd .. — Wechselt in den übergeordneten Ordner
  • rmdir Ordnername — Löscht den leeren Ordner Ordnername

Eintragung in die Benutzerliste

Das URZ bietet eine Seite an, in der private Seiten der Benutzer angeboten werden. Es besteht auch die Möglichkeit des Selbsteintrags in diese Liste. (Lassen Sie sich nach dem Anklicken von Selbsteintrag nicht davon irritieren, dass die Folgeseite Adressverwaltung als Überschrift trägt! Unter der Adressverwaltung läuft auch die Verwaltung der Liste der Homepages. Falls Sie in der Adressverwaltung schon eingetragen sind, so rufen Sie Existierende Adresse bearbeiten auf, um Ihre Homepage anzugeben, ansonsten müssen Sie Ihre Adresse erst eingeben.)

Der Vorteil des Eintrages ist, dass es wenigstens einen externen Link auf Ihre Seite gibt. Suchmaschinen, wie Google, Yahoo etc. finden Sie nach einiger Zeit damit automatisch.

Erstellung dynamischer Seiten

Es gibt zwei Sorten dynamischer Seiten. Der Unterschied ist, dass im ersten Fall der Browser bzw. der Rechner des Lesers arbeiten muss, um die Dynamik zu erzeugen, im zweiten Fall sendet der Web-Server dem Browser statische Seiten, die dynamisch erzeugt wurden.

Ein Beispiel:

Die Seite soll das aktuelle Datum enthalten. Mit Javascript sendet man eine HTML-Seite, mit einem Programm, dass die CPU des Lesers fragt, welcher Tag heute ist und zeigt an (nur mit Javascript). Das serverseitige Script fragt die CPU des Servers, welcher Tag heute ist und sendet einen entsprechenden String Thursday, 17-May-2012 03:23:48 CEST, wie in diesem Fall.

Browserseitig

Berühmt-berüchtigte Vertreter des ersten Falles sind Java, Javascript, AktivX usw. Der Browser läd ausführbare Programme vom Server herunter und führt sie aus. AktivX darf fast alles, wenn man es ihm nicht in der Konfiguration verbietet, zumindest unter Windows.

Denn eigentlich funktioniert AktivX nur unter Windows, im Gegensatz zu den anderen Programmen. Wenn man also Linux-Benutzer, Macintosh-Benutzer und vorsichtige Benutzer ausschließen möchte, dann kann man seine Seiten mit AktivX aufhübschen, will man das nicht sollte man darauf verzichten.

Java läuft in einer Sandbox. Kann damit nur bestimmte Sachen machen, wenn die Sandbox so sicher ist, wie sie sein sollte. Java hat sich trotz seiner relativen Sicherheit aus zwei Gründen nicht so recht durchgesetzt. Zum einen benötigt es ein Plug-in. Einige Megabyte Plattenplatz sind damit schon einmal weg. Dann gibt es auch noch verschiedene nicht kompatible Versionen, die möglicherweise mehrere dieser Plug-ins notwendig machen und schließlich haut auch die Rechenleistung, die diese Programme an den Tag legen, niemanden um.

Javascript ist berühmt-berüchtigt für seine Löcher, vorsichtige Menschen schalten es ab. Suchmaschinen, Spezialsoftware für Behinderte etc. kommen mit Javascript-Kommandos in der Regel nicht zurecht. Ansonsten erfreut es sich zunehmender oft auch überflüssiger Verbreitung, wie obiges Beispiel zeigt.

Serverseitig

Es gibt ja noch die andere Variante. Man gibt dem Browser dynamisch erzeugte statische Seiten. Diese Seiten werden von einem (CGI-)Script auf dem Server erzeugt und senden dem Leser eine HTML-Seite. Das funktioniert immer. Es gibt keine Sicherheitsbedenken, da auf dem Browser keine fremden Programme ausgeführt werden, und, wenn man HTML richtig formatiert, wird das Ergebnis immer angezeigt. Suchmaschinen können alles interpretieren und auch ansonsten werden keine Barrieren aufgebaut.

Die Benutzer des Rechenzentrums können eigene Scripte vom Server ausführen lassen, wobei es folgende Beschränkungen gibt: 32M Speicher, 5 min. CPU-Zeit, 2000 offene Filehandles.

Man kann im serverseitigen Bereich wieder 2 Arten von Scripten unterscheiden. Zum einen selbständige Programme, die HTML-Seiten produzieren, zum anderen HTML-Seiten, die Programme enthalten.

Ein Beispiel:

Das Shell-Script (mit der Endung .sh ) (genauso hätte ich ein ausführbares C-, C++- oder Fortran-Programm (mit der Endung .cgi ), ein Perl-Programm (mit der Endung .pl ) nehmen können) muss unixmäßig ausführbar sein. Natürlich muss die Datei ebenfalls im AFS-Ast WWW liegen, nur dieser Ast wird vom Webserver gefunden.

#!/bin/sh
echo "Content-type: text/html"
echo
echo "<html><head>"
echo "<title>Beispiel CGI</title></head>"
echo "<body><h1>CGI - Beispiel</h1>"
echo "Das Aktuelle Datum ist<hr><pre>"
date
echo "</pre><hr></body></html>"

Der Web-Server übergibt den Aufruf an die Shell. Diese erkennt in der ersten Zeile, welcher Interpreter aufgerufen werden soll oder führt die Datei aus. Das Ergebnis wird an den Browser zurückgegeben. Der Browser prüft, ob der Content-type richtig gesetzt ist (zweite und dritte Zeile). Falls nicht, dann gibt er eine Fehlermeldung zurück. Falls sie korrekt ist, folgt der Text, den der Browser interpretiert.

Die Alternative dazu ist eine HTML-Datei, die an Sprungstellen einen Interpreter bemüht. Hier eine PHP-Datei:

<html></head>
<title>Beispiel PHP</title></head>
<body><h1>PHP - Beispiel</h1>
Das Aktuelle Datum ist<hr><pre>
<?echo date("d.m.Y",time())?>
</pre><hr></body></html>

In diesem Fall muss die Datei nicht unixmäßig ausführbar sein. Sie sollte unixmäßig nicht beschreibbar sein, da die Wrapper das nicht akzeptieren. Akzeptiert werden hier Dateien mit Server-Side-Includes (mit der Endung .shtml und der Sprungstelle <!-- Kommandos --> ), Php-Scripte (mit den Endung .php , .php43 , .php4 und der Sprungstelle <? Kommandos ?> ), embeded Perl (mit der Endung .phtml und den Sprungstellen <? Kommandos !> ).

Einschränkungen

Die Möglichkeit über einen Tomcat-Server Java-Servlets auf den Rechnern laufen zu lassen, gibt es nicht.

Bei CGI-Skripten, die in Dateien schreiben sollen, wie z. B. bei einem Gästebuch, sollte man sich überlegen, ob man wirklich einen Ordner für alle Welt beschreibbar machen will. Manches läßt sich auch über einen öffentlichen Anbieter realisieren, bei dem die Einträge vom Server vorgenommen werden, wie bei dem Counter, der serverseitig vom URZ angeboten wird. Hier solch ein freies Gästebuch.

Falls Sie doch mit einem Script eine Datei beschreiben wollen, dann legen Sie diese Datei in einen extra Unterordner. Sie müssen dem Ordner AFS-Schreibrechte für den Web-Server geben. Die Datei selbst braucht normalerweise keine Unix-Schreibrechte. Achten Sie darauf, dem Script den Pfad zur Datei richtig anzugeben.

Auch hier ein paar nützliche UnixKommandos:

  • ls -l Dateiname — Zeigt alle Unix-Rechte an: -rwxrwxrwx. Lesen (r), Schreiben (w), Ausführen (x). Die 2. bis 4. Spalte gehören zum Eigentümer, die 5. bis 7. zur Gruppe des Eigentümers und die restlichen drei Spalten gelten für alle.
  • chmod 744 Dateiname — Es werden folgende Unix-Rechte für die Datei Dateiname gesetzt: Der Eigentümer der Datei darf alles, seine Gruppe und alle anderen dürfen nur lesen.
  • chmod 755 Dateiname — Es werden folgende Unix-Rechte für die Datei Dateiname gesetzt: Der Eigentümer der Datei darf alles, seine Gruppe und alle anderen dürfen die Datei lesen und ausführen.
  • chmod +w Dateiname — Es werden folgende Unix-Rechte für die Datei Dateiname hinzugefügt: Der Eigentümer, die Gruppe und alle anderen dürfen in die Datei schreiben. Dieses Recht nutzt niemanden, wenn AFS den Schreibzugriff verbietet.
  • fs sa . www_rzuser write — Dem Benutzer www_rzuser (unter dieser Benutzerkennung agiert der Web-Server im AFS) wird im aktuellen Verzeichnis das Recht gesetzt, Dateien und Ordner zu erzeugen, diese zu verändern und zu löschen
  • recode ibmpc:latin1 Skriptname — Eine beliebte Fehlerquelle für Skripte, die am PC geschrieben und nach UNIX übertragen wurden, ist, dass sie ein zusätzliches Zeilenendezeichen ^M besitzen. Das Skript ist dadurch nicht ausführbar! Das Unix-Kommando entfernt diese Zeichen aus der Datei Scriptname.

Verwendung eines Seitenzählers

Die beliebteste Anwendung für CGI-Scripte sind anscheinend die access-counter . Unter www.rzuser.uni-heidelberg.de kann der unten beschriebene neue Zähler eingesetzt werden.

Falls Sie einen Zähler auf anderen Web-Seiten, z. B. unter www.uni-heidelberg.de einsetzen wollen, so müssen Sie den alten Zähler mit
<img src="http://www.rzuser.uni-heidelberg.de/bin/Count.cgi?df= irgendwas.dat ">
ansprechen und ihm einen Datenfile mit df= zuweisen, in dem die Zugriffe auf die Seite gezählt werden
.

Beim Anbieten eines Seitenzählers müsste eine Datei angelegt werden, die die Zugriffe zählt. In diese Datei müsste jeder(!) schreiben dürfen, besser gesagt, wegen AFS müsste sogar der Ordner, in dem die Datei sich befindet, für jeden Schreibrechte ausweisen. Es liegt auf der Hand, dass dies ein Sicherheitsrisiko bedeutet! Deshalb haben wir uns entschlossen, einen systemweiten Counter anzubieten, der die Counter-Dateien in einem eigenen geschützten Bereich anlegt. Das hat leider zur Folge, dass ein Benutzer den Zähler nicht von Hand auf Null setzen kann, da kein Benutzer in diesem Verzeichnis Schreibrechte besitzt. Über http://change.rzuser.uni-heidelberg.de kann der Zählerstand auf Null zurückgesetzt werden. Das Skript dafür heißt /bin/count .

Aus der Originaldokumentation des neuen Zähler folgt nun die Aufzählung der möglichen Parameter. Allgemein sieht der Aufruf folgendermaßen aus:

<img src="/bin/count?parameter=wert&parameter=...">

Die möglichen Parameter sind nun:

type damit wählt man die Grafik der darzustellenden Ziffern.
length Anzahl der darzustellenden Ziffern.
counter darzustellende Zahl.
url damit werden die Zugriffe auf die durch das URL angegebene Web-Seite gezählt.

Der Aufruf von <img src="/bin/count?type=digit126&length=8"> erzeugt die folgende Grafik

Zähler

Alle bei uns vorhandenen Styles können Sie sich anschauen.

Zu beachten ist hierbei, dass bei der alten Zählerversion die Darstellung der Ziffern über dd= ausgewählt wurde, bei der beschriebenen Zählerversion die Darstellung aber über type= ausgewählt wird.

Der alte Zähler bleibt auch weiterhin im Einsatz. Der Aufruf von

<img src="/bin/Count.cgi?df=x32.dat&ft=1&dd=digit111" alt="Seitenzähler">

erzeugt folgende Grafik

Seitenzähler

Dabei steht hinter df= der Dateiname, indem die Aufrufe gezählt werden. Dieser Dateiname sollte also auf jeden Fall abgeändert werden, damit der Zähler bei 1 beginnen kann. Am einfachsten nimmt man hierfür den eigenen Benutzernamen, um die Datei eindeutig zu kennzeichnen.

Eine genaue Erklärung der möglichen Optionen ist in der Beschreibung zu finden, die Sie unbedingt lesen sollten.

Seitenzähler dieser Seite: Seitenzähler

Verantwortlich: Team Internetdienste
Letzte Änderung: 06.05.2008
zum Seitenanfang/up