Alle Studierende und Mitarbeiter der ETH mit einem n.ethz Konto haben gleichzeitig Zugriff auf einen Speicherort für ihre persönliche Homepage. Die Homepage kann unter http://n.ethz.ch/~ginname>/
abgerufen werden (Sie ist ebenfalls über https erreichbar).
Zugriff
Die Dateien für die persönliche Homepage befinden sich im persönlichen Dateiordner welcher "Nas Home" welcher durch die ETH bereitgestellt wird (dieser kann sich von demjenigen Ihres Institutes unterscheiden.
Zugriff von Linux und Mac OS X
Um auf den Order der persönlichen Homepage zugreifen zu können, verbinden Sie sich zu Ihrem ETH-Netzlaufwerk über das SMB Protokoll mit Ihrem Usernamen und Passwort:
Code Block |
---|
smb://d.ethz.ch/users/all/<username> |
Sie müssen Ihren Usernamen und Passwort eingeben, wenn Sie dazu aufgefordert werden.
Access for Windows
Unter Windows müssen sie sich mit folgendem Netzlaufwerk verbinden:
Code Block |
---|
\\d.ethz.ch\users\all\<username>\ |
Das Netzlaufwerk kann auch als Festplatte gemappt werden. Anleitungen dafür finden Sie auf externe Sites (https://www.google.com/search?client=firefox-b-d&q=windows+map+network+drive).
Zugriff via ssh / putty
Falls Sie es vorziehen über ein Terminal zu arbeiten, können Sie auf Ihre Homepage auch per SSH-Zugriff auf slab1.ethz.ch
mit ihren Usernamen und Passwort zugreifen. Anschliessend rufen Sie den Unterordner „homepage“ auf.
Dateien im homepage-Ordner
Wenn Sie Zugriff auf Ihre ETH Home-Verzeichnis haben, finden Sie dort einen Unterordner naunterscheide). Der Name des Ordners ist "homepage"
Details zur Verbindung finden sich hier
Dateien im Ordner "homepage" werden auf https
mens „homepage“. Die dort befindliche inhaltlichen Dateien sind weltweit über die URL http://n.ethz.ch/
~<loginname>~<username> abrufbar.
Bitte ändern Sie nicht den Namen der index.html. Diese Datei wird standardmässig angezeigt, wenn httphttps://n.ethz.ch/~<loginname> geladen wird. Die index.html kann zum Beispiel mit einem Standard Texteditor verändert werden. Veränderungen an dieser Datei werden sofort online angezeigt, möglicherweise müssen Sie ihr Browserfenster erneuern.Sie können weitere Dateien hinzufügen und diese in der index.html verlinken. Bitte beachten Sie, dass aktuell der Speicherplatz auf 2GB begrenzt ist.
Zusätzliche Informationen
Sie können Ihre Homepage mittels PHP und CGI erweitern, eine Datenbank oder Nutzer-Authen-tifizierung hinzufügen.
Ordner schützen
Authentifizierung mit einer .htaccess.n Datei
Wenn nur bestimmte Personen auf Ihre Ordner zugreifen sollen, können Sie diese mit einer Au-thentifizierung versehen und ihre eigene User-Verwaltung (Datei-basiert) oder die zentrale User-Verwaltung (AAI basiert) benutzen.
Erstellen Sie eine Datei namens .htaccess.n
im gesicherten Verzeichnis /nas/<user>/<safedir>
. Ersetzen Sie <user>
mit Ihrem Usernamen und <safedir>
mit dem Namen des Verzeichnisses welches Sie schützen wollen. Bitte beachten: Der Name lautet .htaccess.n
und nicht .htaccess
.
Konfigurieren Sie nun eine der beiden folgenden Methoden.
Datei-basierte Authentifikation
Erstellen Sie eine .htpasswd Datei mit Ihren Usern und speichern Sie es unter: /nas/<user>/<safedir>
directory.
Fügen Sie folgende Zeilen
Code Block |
---|
SSLRequireSSL AuthType Basic AuthBasicProvider file AuthName "File basierte Authentisierung" AuthUserFile /nas/<user>/<safedir>/.htpasswd require valid-user |
in die Konfigurationsdatei /nas/<user>/<safedir>/.htaccess.n
hinzu. Dies erlaubt allen Usern in Ihrer .htpasswd
Datei den Zugriff auf das Verzeichnis.
Wenn Sie für einige User einen eingeschränkten Zugriff erteilen wollen, ersetzen Sie
Code Block |
---|
require valid-user |
mit
Code Block |
---|
require user <user1> <user2> ... etc. |
in Ihrer .htpasswd
Datei.
AAI-basierte Authentifizierung
Beispiel: Beschränkung auf gültige AAI-Benutzer
Fügen Sie folgende Zeilen
Code Block |
---|
AuthType shibboleth ShibRequireSession On ShibRedirectToSSL 443 require valid-user |
in die Konfigurationsdatei /nas/<user>/<safedir>/.htaccess.n
hinzu. Dies erlaubt allen Users mit einem AAI User-Account den Zugriff auf das Verzeichnis.
Wenn Sie für einige User mit einer gesonderten AAI-ID (<unique id user1>, <unique id user2>, ...) einen eingeschränkten Zugriff erteilen wollen, ersetzen Sie
Code Block |
---|
require valid-user |
mit
Code Block |
---|
require uniqueID <unique id user1> <unique id user2> etc. |
AAI-Benutzer müssen Ihnen ihre ID mitteilen. Sie finden diese unterhttp://n.ethz.ch/shibboleth-test/show
.
Beispiel: Einschränkung auf AAI-Benutzer mit eMail
Code Block |
---|
AuthType shibboleth ShibRequireSession On ShibRedirectToSSL 443 require mail johndoe@student.ethz.ch |
Benutzer müssen Ihnen ihre registrierte eMail mitteilen. Externe Mailprovider wie gmail, yahoomail, hotmail,... werden nicht funktionieren. AAI-Anwender finden ihre Attribute unter: http://n.ethz.ch/shibboleth-test/show
.
Erzwungende Verschlüsselung
Laut der ETH BOT, dürfen nur verschlüsselte Passwörter (Bspw. Mittels der Nutzung von HTTPS) über das Netz übertragen werden. Um http-Zugriff in der Datei-basierten Authentifizierung zu un-terbinden, fügen Sie
Code Block |
---|
SSLRequireSSL |
zu Ihrer .htaccess.n
Datei.
Jeder Zugriff auf http:// führt zur Anzeige einer Fehlerseite mit dem Fehlercode 403 (Forbidden).
Dynamische Web Sites, Scripting
Um heutzutage eine dynamische Webseite zu designen gibt es mehre Möglichkeiten. Sie können Ihre eigenen Programme schrieben oder bereits bestehende (z.B. ein Forum) hinzufügen.
PHP
PHP Scripts werden mittels suPHP ausgeführt, das bedeutet die Skripte laufen unter Ihrer User-ID
Skripte müssen die Endung .php. aufweisen
Configured options:
Code Block |
---|
allow_url_fopen off display_errors off register_globals off safe_mode off |
FAQ
Wie erhalte ich zusätzliche Informationen über das verfügbare PHP?
Erstellen Sie ein Skript (z. B. info.php) mit dem folgenden Inhalt:
Code Block | ||
---|---|---|
| ||
<?php phpinfo(); ?> |
Mein neu erstelltes oder kopiertes Skript funktioniert nicht.
Bitte beachten Sie, dass auch PHP-Skripte ausführbar sein müssen. Folgen Sie den Anweisungen auf der CGI-Dokumentationsseite und machen Sie das Skript ausführbar.
CGI
Das Common Gateway Interface (CGI) ist eine Apache-Erweiterung welche dem User erlaubt, Skripte mit persönlichen Rechten zu erstellen. Hierzu ist der Skript-Inhalt mit der Hilfe eines Wrap-pers (suexec) transformiert.
Falls Sie damit nicht vertraut sind, lesen Sie bitte die offizielle Apache Dokumentation oder den Wikipedia-Eintrag.
cgi-bin Directory
Aus Sicherheitsgründen sind Skripte nur innerhalb des cgi-bin Verzeichnisses erlaubt. Zusätzlich müssen sie die Endung .cgi aufweisen.
Creating executable scripts
Zur Zeit kann DFS keine Dateien als ausführbar kennzeichen. Daher müssen neu-erstelle Skripte mittels eines smclient-Kommandos angepasst werden. Dies kann unter Unix an einem slab-Rech-ner in den Computerräumen geschehen oder per Rempote-Zugriff:
Code Block |
---|
$ smbclient //n.ethz.ch/user -Ud\\user Password: Domain=[D] OS=[Unix] Server=[Samba 3.0.26a-SerNet-RedHat] smb: \> cd cgi-bin smb: \cgi-bin\> chmod 755 test.cgi |
Sie können die "Pushing string of 'unlimited' length into non-SMB buffer!" Nachricht ignorieren.
Environmental variables
Um die Umgebungsvariablen anzuzeigen, erstellen Sie ein Beispiel-Skript mit folgendem Inhalt:
Code Block | ||
---|---|---|
| ||
#!/usr/bin/perl ## ## printenv -- demo CGI program which just prints its environment ## print "Content-type: text/plain\n\n"; foreach $var (sort(keys(%ENV))) { $val = $ENV{$var}; $val =~ s|\n|\\n|g; $val =~ s|"|\\"|g; print "${var}=\"${val}\"\n"; } |
Nun kopieren Sie dies als printenv.cgi in Ihr cgi-bin Verzeichnis, machen Sie es ausführbar und rufen es über URL http://n.ethz.ch/student/user/cgi-bin/printenv.cgi
auf.
Interpreter
Der Webserver läuft unter Linux. Sie können daher den Standard-Interpreter nutzen. Beispiele:
/usr/bin/perl
/bin/bash
/usr/bin/python
Security
Bitte seien Sie bei der Nutzung von Scripts vorsichtig. Da die Skripte in Ihrem Home-Verzeich-nis ausgeführt werden kann es im schlimmsten Falle zu Daten-Verlust kommen (dies gilt ebenfalls für PHP.
Debugging
Um die Suche und Behebung von Fehlern zu unterstützen, existiert ein Webserver Error-Log, welches „live“ aktualisiert wird:
https://n.ethz.ch/cgi-bin/error_log.cgi
Nach dem erneutem Laden der Seite ist die Ausgabe auf dem neuesten Stand (tail -f 50 error_log).
MySQL Datenbank
Dynamische Websiten benötigen oftmals eine Datenbank. Sie haben die Möglichkeit, eine Daten-bank unter (aktuell) MySQL 4.1.18 mit 50MB Speicherplatz zu bekommen. Das webbasierte Ad-min Tool, phpMyAdmin wird zentral von den Informatikdiensten unter folgendem Link bereitgestellt: http://www.phpmyadmin.ethz.ch
Aktivieren/Löschen Sie ihre Datenbank im IT-Shop: https://itshop.ethz.ch/
.
Vorschriften
Eine persönliche Webseite (Homepage) steht allen ETH Angestellten und Studenten kostenlos zur Verfügung. Es ist keine Anmeldung erforderlich, der Dienst wird im Verzeichnis homepage im zentralen persönlichen Home-Verzeichnis bereitgestellt
Die Nutzung unterliegt den Benutzungsordnung für Telematik an der ETH Zürich
Besonders zu beachten ist Abschnitt 3 in Artikel 8ff.
Mit gesundem Menschenverstand sollte jedem ersichtlich sein, welcher Inhalt auf ETH-Seiten ver-boten ist: Webseiten mit pornographischem, sexistischen oder politisch unkorrektem Inhalt sowie kommerzielle Werbung sind nicht erlaubt. Die Verbreitung von urheberrechtlich ge-schütztem Material ist verboten!