Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


UserDir

Installation/Konfiguration ] Status/Info ] [ UserDir ] Virtuelle Hosts ] Authentifizierung ] CGI ] mod_perl ] PHP ] SSI ] SSL ] WebDAV ] Log-Dateien ] ht://Dig ]


Auf Multiuser-Systemen, wie z.B. Linux, kann es einzelnen Benutzern ermöglicht werden private Web-Seiten zu veröffentlichen. Z.B. bei einer URL der Form: 'http://www.somewhere.tld/~user/' handelt es sich um einen solchen Zugriff. Beim Apache-Webserver wird das Zeichen: Tilde ('~') dazu benutzt, um User-Verzeichnisse zu kennzeichnen, nach der Tilde steht dann der Account-Name des Benutzers. Diese Form findet man vor allem bei Uni-Rechenzentren, viele Studenten betreiben so ihre eigene Web-Site.

Konfiguration von User-Verzeichnissen

Der Apache2-Webserver stellt die Funktionalität über das Modul: 'userdir' bereit. Es sorgt dafür, dass ein bestimmtes Verzeichnis, typischerweise: 'public_html' im /home-Verzeichnis des jeweiligen Benutzers automatisch auf die URL abgebildet wird. Unter Debian-Linux ist das Modul bereits in der Basis-Konfiguration installiert und auch aktiviert. Mit dem Kommando: 'a2enmod userdir' bzw. 'a2dismod userdir' kann das bei Bedarf aktiviert bzw. deaktiviert werden.
Auch ist die Hauptkonfigurationsdatei: 'apache2.conf', wenn auch auskommentiert, für den sinnvollen Betrieb mit 'UserDir' vorbereitet. Genau genommen brauch die Konfigurationsdatei nicht verändert werden, da die Default-Werte des Apaches die Funktionalität der User-Verzeichnisse schon zulassen. Hier der entsprechende Teil in der Konfigurationsdatei:

Auszug aus: /etc/apache2/apache2.conf (ca. ab Zeile: 205)

# UserDir is now a module
UserDir public_html
UserDir disabled root

<Directory /home/*/public_html>
        AllowOverride FileInfo AuthConfig Limit
        Options Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>

Mit dem Direktive: 'UserDir' kann der Verzeichnisname festgelegt werden, Default-Wert ist 'public_html'.
Sollen bestimmte Benutzer bezüglich
User-Verzeichnisse ausgeschlossen werden, so sind diese hinter: 'UserDir disabled' aufzuführen. Das /home-Verzeichnis von 'root' sollte in der Regel hierzu gehören.
Mit dem gelb markiert Teil kann der Zugriff auf die User-Verzeichnisse gesteuert werden. Alle hier gemachten Einstellungen beziehen sich dabei auf Verzeichnisse der Form: '/home/*/public_html'.

Damit jeder User seine eigenen Web-Seiten anlegen kann, muss im /home-Verzeichnis ein Verzeichnis mit dem Namen: 'public_html' anlegt werden ('mkdir /home/<user>/public_html'). Weiterhin muss ein Zugriff mit  'chmod 755 public_user' gewährleistet sein.

Bei Änderungen in der Konfigurationsdatei ist der Web-Server erneut zu starten.

Anmerkungen

Zu beachten ist das User-Verzeichnisse standardmäßig aktiviert sind und explizit ausgeschaltet werden muss. Dieses kann mit:

UserDir disabled

in der Konfigurationsdatei erreicht werden. Trotzdem können dann gezielt ausgewählte Benutzer frei geschaltet werden mit:

UserDir enable user1 user2 user3

Weitere Infos

Homepage: Apache Software Foundation http://www.apache.org/
Dokumentation zum Apache HTTP Server Version 2.0 http://httpd.apache.org/docs-2.0/
Apache Module mod_userdir http://httpd.apache.org/docs-2.0/mod/mod_userdir.html
System-Dokumentation: apache2 /usr/share/doc/apache2

Home ] Nach oben ] Installation/Konfiguration ] Status/Info ] [ UserDir ] Virtuelle Hosts ] Authentifizierung ] CGI ] mod_perl ] PHP ] SSI ] SSL ] WebDAV ] Log-Dateien ] ht://Dig ]

letzte Änderung: 07. März 2006

 

Copyright © 2004 Norbert Eusterholz