It-Services::Persönliche Webseiten
Anleitung zur Einrichtung und Benutzung der privaten Homepage (userpage).
Bitte beachten Sie auch den
Troubleshooting-Bereich am Ende der Seite.
A - Grundlegendes
A.1 Unter welcher Adresse ist meine private Homepage im WWW erreichbar?
Die Homepages liegen im Web auf
http://page.mi.fu-berlin.de/ .
Der Zugriff kann wahlweise erfolgen über:
Außerdem gibt es folgende automatische Umleitungen
Zu bemerken ist, das zwar für jeden User seine Homepage an 4 verschiedenen Orten ausgeliefert wird, er/sie aber selbst wählen kann, welche URL
veröffentlicht wird, da wir in keinem der
/users/
die Liste unser aktuellen Homepages veröffentlichen.
A.2 Wo finde ich meinen "Webspace" / Wo soll ich meine Webseiten ablegen?
Der konkrete Zugriff ist abhängig vom verwendeten Betriebssystem:
Unter Linux oder Unix
Kein web-home gefunden?
web-home/ ist ein Symlink auf
/web/page.mi.fu-berlin.de/web-home/<username>/
Exisitert er nicht, so kann er mit dem Befehl
ln -s /web/page.mi.fu-berlin.de/web-home/$USER ~/web-home
wieder in das eigene HomeVerzeichnis verlinkt werden.
| |
- Jeder Nutzer/jede NutzerIn sollte sein/ihr Web-Home unter im eigenen HomeVerzeichnis finden.
- Alle Webdateien (HTML, PHP, Bilder, etc) müssen in
abgelegt werden, damit sie angezeigt werden.
Unter Windows
Kein Laufwerk w:\
1. File Explorer starten, "This PC"(im Startmenü nach "This PC" suchen)
2. Tab Computer
3. Map Network Drive...
4. Drive w: wählen
5. als Pfad \\web.mi.fu-berlin.de\page.mi.fu-berlin.de\ eingeben
6. Reconnect at logon einschalten
7. Finish drücken. Fertig.
| |
Falls Sie Laufwerksbuchstaben bevorzugen, empfehlen wir den Speicherbereich für alle Webseiten auf dem Laufwerk
anzulegen.
Das Web-Home findet sich unter Windows unter:
\\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\<username> |
|
Wenn Sie von einem Windows-Rechner auf \\web.mi.fu-berlin.de\page.mi.fu-berlin.de\..... zuzugreifen versuchen, und nicht in der Domäne FU-BERLIN angemeldet sind, müssen Sie sich mit Ihrem FU-Accountnamen in der Schreibweise FU-BERLIN\<username> und mit Ihrem zugehörigen FU-Passwort authentifizieren. |
|
Alle Webdateien (HTML, PHP, Bilder, etc) müssen im Unterverzeichnis
abgelegt werden, damit sie vom Webserver ausgeliefert werden können.
Auch hierhin kann mensch sich eine Abkürzung anlegen:
- Rechtsklick auf dem Desktop
-
Neu/Verknüpfung
- Dort dann den Pfad
\\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\<username>
eingeben
-
Weiter
drücken. Fertig.
Unter Mac OS X
Der eigene Webseiten-Ablagebereich kann mittels Samba (
smb:
) angesprochen und für/über den "Finder" zugänglich gemacht werden:
Finder >
"Gehe zu" >
"Mit Server verbinden" (oder 'Propeller'-
K
), dort dann eingeben
smb://FU-BERLIN;<username>@web.mi.fu-berlin.de/page.mi.fu-berlin.de/web-home/<username>/ |
('
<username>' bitte durch den eigenen FU-Accountnamen ersetzen!)
A.3 Wo können meine Webanwendungen ihre Daten speichern?
Der Datenbereich data-rw
- Der Datenbereich in dem Web-Anwendungen wie CGI-Skripte, PHP-Seiten, etc., ihre Daten ablegen können befindet sich im
web-home
-Verzeichnis unter data-rw
: ~/web_home/data-rw/
.
-
data-rw
ist ein Symlink, der absolute Pfad des data-rw/
-Verzeichnisses lautet: Linux: | /web/page.mi.fu-berlin.de/data-rw/<username>/ |
Windows: | \\web.mi.fu-berlin.de\page.mi.fu-berlin.de\data-rw\<username>\ |
Ein Beispiel
Liegt z.B. das eigene CGI-Skript "meinskript.cgi" von Frau Mustermensch in
~/web-home/public_html/cgi-bin/meinskript.cgi |
bzw. unter Windows
\\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\mustermensch\public_html\cgi-bin\meinskript.cgi |
so kann das Skript über
../../data-rw/meindatenfile.dat |
auf den Datenbereich zugreifen.
Technische Anmerkung: Mit Ausnahme der .htaccess
-Datei können und sollten überall relative Pfade benutzt werden, also ../<verzeichnisname>/
statt /web/page.mi.fu-berlin.de/web-home/mustermensch/public_html/<verzeichnisname>/
.
A.4 Zusammenfassung: Welche Dateien sollten wo liegen?
ACHTUNG der Dateityp von ausführbaren Dateien (cgi,py,php,...) sollte UNIX sein. suexec möchte gern die Unix-Zeilenende-Zeichen sehen.
Inhalt |
Endungen |
Verzeichnis Linux |
Verzeichnis Windows |
html |
.htm .html |
web-home/public_html/ |
\\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\mustermensch\public_html\ |
Text |
.txt |
web-home/public_html/ |
\\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\mustermensch\public_html\ |
Bilder, Flash, etc. |
.jpg .png .gif ... |
web-home/public_html/ |
\\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\mustermensch\public_html\ |
PHP |
.php .php3 .php4 .phtml |
web-home/public_html/ web-home/public_html/cgi-bin/ |
\\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\mustermensch\public_html\ \\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\mustermensch\public_html\cgi-bin\ |
CGI- Skripts |
.cgi .pl .py |
web-home/public_html/ web-home/public_html/cgi-bin/ |
\\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\mustermensch\public_html\ \\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\mustermensch\public_html\cgi-bin\ |
CGI- Skripts |
beliebige Endung |
web-home/public_html/cgi-bin/ |
\\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\mustermensch\public_html\cgi-bin\ |
Daten-Bereich aktive Inhalte (CGI,PHP,...) |
beliebige Endung |
web-home/data-rw |
\\web.mi.fu-berlin.de\page.mi.fu-berlin.de\web-home\mustermensch\data-rw\ |
B.1 Benutzung von Perl, Python, andere und PHP
Alle aktiven Inhalte auf dem Webserver laufen aus Sicherheitsgründen mit Ihren Rechten (
<username>) als CGIs ausgeführt.
Das heißt, sie müssen
- Ihnen gehören
- ausführbar sein (executable bit,
rwx------
, bzw. chmod 700 <dateiname>
) und
- als erste Zeile enthalten:
Perl
(aktuelle Version ist:
perl5 (revision 5 version 8 subversion 4), 2006-11-20)
Python
Wählen Sie aus einer der folgenden Zeilen:
#!/usr/bin/python |
#!/usr/bin/python2.1 |
#!/usr/bin/python2.2 |
#!/usr/bin/python2.3 |
#!/usr/bin/python2.4 |
sonstige Interpreter
#!<Pfad zum Interpreter>/<Interpreter> |
PHP
PHP-AnwenderInnen haben es bequemer, denn PHP-Skripte (Endung
.php
,
.php4
, etc.) werden per
suPHP ausgeführt. So können sich alle PHP-AnwenderInnen die erste Zeile sparen, außerdem muß nicht das 'executable bit' gesetzt werden.
Soll ein anderer PHP-Interpreter verwendet werden, dann bitte beachten:
- in
cgi-bin/
: eine beliebige Dateiendung außer .php
/ .php4
/ ... benutzen
- außerhalb von
cgi-bin/
: eine beliebige CGI-Skript Dateiendung (.cgi
, ...) benutzen
- in der ersten Zeile entsprechend sonstige Interpreter den PHP-Interpreter festlegen
B.2 LaTeX MathML MathJax
Wir haben
MathJax auf page.mi.fu-berlin.de, www.math.fu-berlin.de, www.inf.fu-berlin.de und www.mi.fu-berlin.de installiert. Damit ist es nun ein leichtes LaTeX- oder MathML-Code in eigene Seiten einzubetten.
- im HEAD folgende Zeile einfügen:
<script type='text/javascript' src='/javascript/mathjax/MathJax.js?config=default'></script>
- dann rendert folgender LaTeX-Code im BODY:
When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
* folgendes Ergebnis: http://page.mi.fu-berlin.de/javascript/mathjax/test/sample-tex.html
Weitere MathJax-Beispiele:
http://www.mi.fu-berlin.de/javascript/mathjax/test/examples.html.
In diesem Wiki nutzen wir
MathModePlugin und
LatexModePlugin welche nur LaTeX unterstützen.
B.3 Wie kann ich einen anderen User meine Webseiten editieren lassen?
Anleitung unter Linux:
- legen Sie in ihrem web-home/ eine leere Datei namens
.multiuser
an.
- setzen Sie mittels Access Control Lists (ACLs) wie folgt die Rechte:
setfacl -R -d -m u:<weiterer username>:rwx ~/web-home/ |
Ein Beispiel:
Professor Poggles möchte Sekretärin Snuggles gestatten seine privaten Homepages zu editieren.
Also loggt er sich unter Linux ein und gibt folgende Shell-Befehle ein:
touch ~/web-home/.multiuser |
setfacl -R -P -d -m u:snuggles:rwx ~/web-home/ |
setfacl -R -P -m u:snuggles:rwx ~/web-home/ |
Jetzt kann Sekretärin Snuggles Dateien in seinem Webbereich editieren.
Doch
Achtung: Neu angelegte Dateien gehören zur Zeit erst nach
bis zu 30 Minuten Professor Poggles, und sind vorher nicht abrufbar.
B.4 Was darf ich in der privaten Homepage ablegen?
- Es gelten die Nutzungsbedingungen aus dem Nutzerantrag des Rechnerbetriebs.
- Im weiteren gelten die Regeln der ZEDAT auf http://userpage.zedat.fu-berlin.de/:
- "Nicht zulässig sind gemäß der Benutzerordnung des DFN-Vereins pornographische, gewaltverherrlichende oder diskriminierende Darstellungen, Angebote von Vereinen oder Firmen sowie jegliche kommerzielle Nutzung. Die von Benutzern erstellten Seiten stellen kein offizielles Informationsangebot der Freien Universität Berlin dar und unterliegen ausschließlich der persönlichen Verantwortung des jeweiligen Anbieters."
- Sowie die Benutzerordnung des DFN
B.5 Impressums-Pflicht beachten!
Auszug aus der email des Dekans zum Thema, vom 18. Januar 2005:
(Message-ID: 20050118151204.3559.qmail@math.fu-berlin.de)
"[...]
Private Seiten (auf
http://page.mi.fu-berlin.de/<username>/) müssen vom
jeweiligen Inhaber/der Inhaberin mit einem eigenen Impressum der
betreffenden Person versehen werden. Ein Verweis auf das
Fachbereichsimpressum ist bei den privaten Nutzerseiten
nicht
zulässig! Bitte beachten Sie auch, dass die Anschriftenangabe im
Web-Impressum "ladungsfähig" sein muss. Damit scheiden z.B.
Postfach-Adressen aus, da man beispielsweise Unterlassungsklagen nicht
an ein Postfach zustellen kann.
Aufgrund der Trennung zwischen offiziellen Seiten der
Arbeitsgruppen/des Fachbereiches und privaten Webseiten bitten wir
dringend darum,
dienstliche Webseiten nicht unter
http://page.mi.fu-berlin.de/... abzulegen sondern im Webbereich der
entsprechenden Arbeitsgruppe oder des jeweiligen Projektes. (Wenn Sie
hierfür erst noch entsprechenden Webspace benötigen, wenden Sie sich
bitte an den Rechnerbetrieb
dv@mi.fu-berlin.de.) [...]"
Weiteres auch auf
http://www.heise.de/ct/02/15/182/default.shtml
Bei Fragen oder Problemen wenden Sie sich bitte an den Rechnerbetrieb, Kontaktinformationen finden sie auf
http://www.mi.fu-berlin.de/tec/contact.shtml
Dort können Sie auch eine Kopie der o.g. EMail erhalten.
C - Technisches, Probleme und Lösungen
C.1 Technischer Hintergrund
- Aufgrund mehrerer Sicherheitsvorfälle mit aktiven Inhalten die jeweils längere Ausfälle des Userwebservers zur Folge hatten, haben wir folgende Sicherheitsmaßnahmen getroffen:
- Die Userpages wurden auf zwei Server verteilt:
- Server
pagestatic
für statische Inhalte, wie reine HTML- oder Text-Dateien und Bilder
- Server
pagedynamic
für alle dynamischen Inhalte, die auf dem Webserver interpretiert oder ausgeführt werden, wie
- CGIs (Perl, Shellcode, C/C++ Programme, etc.)
- PHP
- Python
- Sollte es -trotz unserer Sicherungsmaßnahmen- erneut einen Sicherheitsvorfall auf
pagedynamic
geben, so bleiben die statischen Inhalte (Nur .html, Textdateien und Bilder) Dank des separaten Servers pagestatic
online.
- Die Aufteilung auf zwei Server erfolgt tranparent für den Betrachter/die BetrachterIn der Webseiten, Besucher der Webseiten sehen nur einen Server: http://page.mi.fu-berlin.de/
- Auf
pagedynamic
wurden Codebereich und Datenbereich getrennt:
-
web-home
, der Bereich in dem alle darzustellenden oder auszuführenden Inhalte liegen, steht auf den Webservern nur read-only zur Verfügung. So können Webseiten nur erschwert manipuliert und bösartige Skripte nicht leicht nachgeladen werden
-
data-rw
- nur in diesem Bereich können können CGI-, PHP- und andere Skripte Daten ablegen. Der Inhalt dieses Verzeichnisses ist nicht ausführbar und nicht darstellbar.
C.1.1 Directory Indexes
- Aufgrund eines schwerwiegenden Vorfalls haben wir uns entschlossen die automatische Generierung von Directory Indexes auf allen unseren Webservern abzuschalten.
Wer möchte das bestimmte Verzeichnisse automatisch vom Webserver angezeigt werden, kann in dem entsprechenden Verzeichnis eine Datei .htaccess
mit dem Inhalt Options +Indexes
anlegen. Siehe http://wiki.apache.org/httpd/DirectoryListings
C.2 Troubleshooting / Probleme & Lösungen
Falls Sie nach der Umstellung Probleme haben, beachten Sie bitte folgende Hinweise.
Ich kann unter Windows nicht auf \\web\
zugreifen.
Bitte versuchen Sie es mit
\\web.mi.fu-berlin.de\
.
Eventuell ist in Ihrer Searchlist manuell vor "mi.fu-berlin.de" die Domain "fu-berlin.de" eingetragen worden.
Da es an der FU einen Rechner "web.fu-berlin.de" gibt, wird der Rest der Searchlist nicht mehr abgearbeitet, und der Zugriff auf unseren Webstorage "web.mi.fu-berlin.de" schlägt fehl.
Abhilfe:
oder
- Auf selbstverwalteten PCs die Searchlist anpassen.
Meldung "Error 500"
*Ich bekomme beim Aufruf meiner Seite
"Error 500 - Internal Server Error"
*
Bitte überprüfen Sie,
- ob an der entsprechenden Stelle eine index.cgi/index.pl oder filename.cgi/filename.pl liegt. Falls ja, passen sie diese bitte wie oben beschrieben (in der ersten Zeile muß der Interpreter stehen) an.
- ob Sie eine
.htaccess
-Datei mit der Anweisung Options
verwenden. Die Verwendung der Options
-Anweisung ist nicht länger zulässig, da durch sie Sicherheitseinstellungen des Webservers (FollowSymlinks
, Includes
) aufgehoben werden könnten.
Passwortschutz und .htaccess
Die englischen Seiten auf apache.org geben eine gute Einführung:
-
.htaccess
# definiert wer darf die Webseiten lesen
-
.htpasswd
# sollte für die Passworte benutzt werden
Meine passwortgeschützten Bereiche funktionieren nicht mehr (.htaccess / .htpasswd)!
Mit dem Umzug auf einen neuen Server und ein neues Konzept haben sich die Pfade geändert.
Werden Passworte eingesetzt, so steht in der
.htaccess
ein absoluter Pfad zur einer Passwort-Datei, der jetzt korrigiert werden muß.
Der absolute Pfad zum eigenen Web-Bereich lautet:
/web/page.mi.fu-berlin.de/web-home/<username>/public_html/ |
Bitte statt
<username> den eigenen Accountnamen einsetzen.
Wie beschänke ich den Zugriff?
Mit den folgenden Anweisungen in einer
.htaccess
-Datei wird der Zugriff
auf das Verzeichnis mit seinen Dateien und allen Unterverzeichnissen für
alle Fachbereichsrechner freigegeben bzw. fuer alle externe gesperrt:
order deny,allow
deny from all
allow from mi.fu-berlin.de
allow from math.fu-berlin.de
allow from inf.fu-berlin.de
Bitte
keine IP-Adressen für Netze verwenden, die funktionieren nicht zuverlässig!
Meldung "Error 403"
Ich bekomme Error 403
. / Die Rechteinstellungen in meinem Web-Home sind durcheinander!?
Bitte für Einstellungen im Web-Home ausschließlich
getfacl
und
setfacl
, da diese Bereiche jetzt
Access Controll Lists (ACLs) einsetzen. Nicht mehr
chmod
benutzen!
Am schnellsten lassen sich die richtigen Berechtigungen mit exakt folgenden Befehlen zurücksetzen:
(unter Linux)
setfacl -R -P -b -k /web/page.mi.fu-berlin.de/web-home/$USER;sleep 5
chmod -R go-rwxs /web/page.mi.fu-berlin.de/web-home/$USER;sleep 5
setfacl -R -P -d -m u:www-data:rx,g::---,o::---,m::r-x /web/page.mi.fu-berlin.de/web-home/$USER;sleep 5
setfacl -R -P -d -m u:www-data:rx,g::---,o::---,m::r-x /web/page.mi.fu-berlin.de/web-home/$USER;sleep 5
setfacl -R -P -m u::rwx,u:www-data:rx,g::---,o::---,m::r-x /web/page.mi.fu-berlin.de/web-home/$USER;sleep 5
setfacl -R -P -m u::rwx,u:www-data:rx,g::---,o::---,m::r-x /web/page.mi.fu-berlin.de/web-home/$USER;sleep 5
getfacl /web/page.mi.fu-berlin.de/web-home/$USER && echo erledigt.
#
(Die doppelten Zeilen müssen auf Grund eines ACL-Bugs so sein)
Weitere Informationen zu Access Controll Lists (ACLs) finden Sie unter
man getfacl
bzw.
man setfacl
, sowie unter
Resourcen im Internet weiter unten auf dieser Seite.
Bitte beachten Sie, dass der User "www-data" stehts das Recht behalten muss auf Dateien zuzugreifen, die der Webserver ausliefern soll.
Rundmails des Rechnerbetriebs
Resourcen im Internet
- HTML und Web
- Selfhtml - Gute Einführung in HTML und Web
- Access Controll Lists (ACLs)
D - Kommentare
Bitte bei Kommentaren beachten, dass Systemfehler direkt per Mail an staff geschickt werden sollten,
da der Rechnerbetrieb die Kommentare auf dieser Seite nicht regelmässig kontrolliert.
Bitte bei Kommentaren beachten, dass Systemfehler direkt per Mail an staff geschickt werden sollten, da der Rechnerbetrieb die Kommentare auf dieser Seite nicht regelmässig kontrolliert.
- example.cgi.txt: beispiel-cgi: /web/page.mi.fu-berlin.de/web-home/~/public_html/cgi-bin/example.cgi
- example.php.txt: beispiel-php: /web/page.mi.fu-berlin.de/web-home/~/public_html/example.php
- index.html: beispiel index.html: /web/page.mi.fu-berlin.de/web-home/~/public_html/index.html