• Erstellen des dav Verzeichnisses.
• Erstellen der htpasswd Datei und eines Nutzers.
• Vorbemerkung
webDAV ist einfach, schnell und cool. Und eben nicht nur als Datei-Server verwendbar. iCal oder Sunbird speichern oder veröffentlichen Daten per webDAV. Ein Grund mehr für webDAV. Nur werden Sie wohl kaum einen Rechner ins Internet ohne Zugangs-Kontrolle stellen. Also muss eine her.
Entgegen meinen DAU Halbwissen bedeuten .htaccess Dateien eben keine Zugangskontrolle, wie man eventuell aus dem Namen ableiten könnte. .htaccess sind Erweiterungen der apache.conf und somit eben auch für eine Zugangskontolle verwendbar. Es geht aber auch anders.
Was muss erledigt werden?
• Wo stehen die Dateien?
Installiert man apache2 unter Debian Sarge werden viele Konfigurationen bereits erledigt. Debain legt alle Konfigurations-Daten in /etc ab. So sind auch die Dateien für apache2 gesammelt unter /etc/apache2 installiert. Die Konfiguration ist modular, wir werden lediglich Links oder Dateien hinzufügen, eine Änderung an apache.conf oder http.conf ist nicht nötig!
Wegen meines DAU Halbwissens, also weil ich es nicht besser weiss, wird die htpasswd der Übersichtlichkeit in /etc/apache2 abgelegt.
Die Location muss unter Debian in /etc/apache2/conf.d konfiguriert werden.
Debian Sarge installiert die Dateien für den Web-Server (apache2) unter /var/www, dort sind auf jeden Fall apache-default zu finden. Wir werden hier den Datenordner verstauen, womit auch gleich via Browser die Dateien erreichbar sind.
• Erstellen des dav Verzeichnises.
Die Dateien müssen ja nunmal irgend wo gespeichert werden. Ob Sie das in ein /home Verzeichnis oder unter /opt oder /usr/local machen ist letztendlich egal. Ich hab es unter /var/www erledigt, womit das Verzeichnis auch mit einem Browser (Firefox) erreichbar ist und Datein dort sogar gezogen werden können, als wäre es ein ftp-Server. Zumindest solange keine index.html drin liegt.
Pythagoras:/# cd /var/www Pythagoras:/var/www# mkdir dav Pythagoras:/var/www# chown www-data dav Pythagoras:/var/www# chgrp www-data dav Pythagoras:/var/www# ls -l drwxr-xr-x 2 root root 4096 May 13 10:30 apache2-default/ drwxrwxr-x 3 www-data www-data 4096 May 19 21:50 dav/ Pythagoras:/var/www#
• Erstellen der htpasswd Datei und eines Nutzers.
Die Passwort-Dateien für die Zugriffs-Kontrolle dürfen unter keinen Umständen innerhalb des Daten-Verzeichnisses liegen, ansonsten könnte man diese von aussen lesen und dan nutzt die Beschränkung recht wenig. Also ein neuer Ort wird gesucht. Ich habe mich für /etc/apache2 entschieden, vielleicht möchten Sie noch einen Unterordner anlegen, ich schreib's direkt rein. Der Übersichtlichkeit halber nehme ich eine Passwort-Datei speziell für webDAV, für andere Unterverzeichnisse können weitere Passwort-Dateien angelegt werden. Geschmackssache. Meine Wahl auf den Dateinamen fiel auf htp_dav. Nennen Sie die Datei gefälligst anders, das ist meine Idee, nicht klauen. Sie müssen dann unten den Namen entsprechend ändern.
Pythagoras:/# cd /etc/apache2/ Pythagoras:/etc/apache2# htpasswd -c htp_dav dav New password: Re-type new password: Adding password for user dav Pythagoras:/etc/apache2# htpasswd htp_dav guest New password: Re-type new password: Adding password for user guest Pythagoras:/etc/apache2# cat htp_dav dav:3w05KkRqinenc guest:WE9Z18T0so4k. Pythagoras:/etc/apache2#
• Erstellen einer Location.
Hiermit teilen wir apache2 mit, das er ein bestimmtes Verzeichnis gefälligst auf Anfrage ins Netz zu beamen hat. Die modulare Konfiguration macht es leicht, wir installieren das Verzeihnis mittels eines 8-Zeilers. Als Dateinamen verwende ich dav.conf womit meine lineare, einfältige Denkweise unbestreitbar ist.
Pythagoras:/etc/apache2# cd conf.d/ Pythagoras:/etc/apache2/conf.d# vi dav.confSie müssen natürlich nicht den besten Editor der Welt neben emacs nehmen, hauptsache Sie bekommen die folgenden 8 Zeilen irgendwie gespeichert.
<Location /dav>
DAV On
AllowOverride All
AuthType Basic
AuthName "dav password required"
AuthUserFile /etc/apache2/htp_dav
Require user dav guest
</Location>• Aktivieren der dav-Module.
Bei Debian Sarge müssen wir für webDAV zwei Module und eine Config-Datei aktivieren, die Dateien liegen bereits fertig konfiguriert vor. Die Aktivierung ist einfach ein Link ln -s vom Unterverzeichnis mods-available/ in mods-enabled/. Die Dateien lauten dav.load, dav_fs.conf und dav_fs.load.
Pythagoras:/etc/apache2/conf.d# cd ../mods-enabled/ Pythagoras:/etc/apache2/mods-enabled# ln -s /etc/apache2/mods-available/dav.load Pythagoras:/etc/apache2/mods-enabled# ln -s /etc/apache2/mods-available/dav_fs.load Pythagoras:/etc/apache2/mods-enabled# ln -s /etc/apache2/mods-available/dav_fs.conf Pythagoras:/etc/apache2/mods-enabled# ls -l lrwxr-xr-x 1 root root 36 May 19 23:56 dav.load -> /etc/apache2/mods-available/dav.load lrwxr-xr-x 1 root root 39 May 19 23:56 dav_fs.conf -> /etc/apache2/mods-available/dav_fs.conf lrwxr-xr-x 1 root root 39 May 19 23:56 dav_fs.load -> /etc/apache2/mods-available/dav_fs.load Pythagoras:/etc/apache2/mods-enabled#
• Neustarten des Servers.
Ach jo, schon fertig. Einfach gell. Schon mal ausprobiert? Geht nicht! Es ist zwar alles da, allein der apache2 Server weiss noch nichts davon, da er die geänderten Konfigurations-Dateien noch gar nicht eingelesen hat. Dafür benötigen wir, nein, keinen Reboot, eine Zeile auf der Konsole:
Pythagoras:/# apache2ctl graceful Pythagoras:/#
• Anmelden am Servers.
Mit MacOS X melden sie einen webDAV Server mittel Mit Server verbinden ... an, das Protokoll ist http:// dann der Server und die Freigabe. Und hier lauert eine Falle. Entgegen dem Browser erweitert die Server-Verbindung den Server nicht um die Domain. Das heisst der Server http://Pythagoras/dav wird schlicht und einfach nicht gefunden!. Mit der IP geht es oder mit einem qualifizierten Namen, zum Beispiel http://Pythagoras.local/dav. Dann erscheint die Nutzer und Passowort-Abfrage und dann der Server auf dem Schreibtisch.
Noch eine Falle in die ich nicht ausgelassen hatte. Bei der Location hatte ich Require User dav guest geschrieben. Require User ist kein gültiges Tag, womit auch kein User dav gefunden werden kann. Es muss natürlich heissen Require user dav guest, kleine buchstaben.
Viel Spass mit webDAV wünscht Ihnen Ralf & das PPCNUX Team.