Userdirs mit Apache unter Ubuntu

Unter Linux ist es mit dem Apache Webserver möglich jedem Benutzer auf dem Server/Computer einen Platz zu bieten, welche aus dem Internet erreichbar ist. Sofern man aus dem Internet auf den Server zugreifen kann. Der Ordner /home/david/public_html/ wäre dann über die Url http://server/~david/ erreichbar. Natürlich kann man mit einem DNS Server und den richtigen Einstellungen beim Webserver diesen Ordner auch direkt unter einer Domain erreichbar machen.
Dafür, dass man den Ordner public_html über den Webserver erreichen kann, sorgt der Mod Userdir. Standardmässig ist dieser Unter Ubuntu Feisty Fawn zwar dabei aber nicht eingerichtet. Ich finde diese Modul sehr praktisch, also habe ich es noch "installiert".
Dazu öffnet man am besten ein Terminal und wechselt mit dem Befehl su den Benutzer. Nach der Eingabe des Passwortes ist man Root. Die Konfigurationsdateien des Apache Webservers sind im Ordner /etc/apache2 abgelegt. Dort gibt es auch zwei Ordner. Zum einen den Ordner mods-available und den Ordner mods-enabled. Im ersten befinden sich die Module, die verfügbar sind und im zweiten sind die Module, die am laufen sind. Damit die Module nicht doppelt gespeichert werden sind im zweiten Ordern nur symbolische Links zu den Modulen im Ordner mods-available. Im Ordner mit den verfügbaren Modulen finden wir nun auch das Modul Userdir.
root@pluto:/etc/apache2# ls -la mods-available/userdir*
-rw-r--r-- 1 root root 293 2007-01-15 19:10 mods-available/userdir.conf
-rw-r--r-- 1 root root  66 2007-01-15 19:10 mods-available/userdir.load
Zum einen haben wir hier die Konfigurationsdatei userdir.conf und die Moduldatei userdir.load. Jetzt müssen wir je eine symbolische Verknüpfung zu jeder Datei machen. Dazu wechseln wir am besten in den Ordner mods-enabled und erstellen die Verknüpfungen mit dem Befehl ln
root@pluto:/etc/apache2# cd mods-enabled/
root@pluto:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.conf 
root@pluto:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.load

Bevor das Modul nun auch geladen wird, muss man den Webserver noch neustarten
/etc/init.d/apache2 restart

Nun sind die Dateien im Ordner /home/david/public_html/ auch über http://localhost/~david/ erreichbar. Sofern man es natürlich vom Webserver aus probiert.