Sollte der WebDAV in einer Jail installiert werden so ist diese nach der entsprechenden Anleitung zu installieren.
Da WebDAV über einen Webserver betrieben wird muss der Apache installiert werden. Bei der Installation des Apache müssen die entsprechenden Module für WebDAV mit kompiliert werden.
[X] DAV Enable mod_dav [X] DAV_FS Enable mod_dav_fs
In der /usr/local/etc/apache22/httpd.conf muss folgenden Zeile auskommentiert werden.
Include etc/apache22/extra/httpd-dav.conf
Anschließend wird die /usr/local/etc/apache22/extras/httpd-dav.conf angepasst.
DavLockDB "/var/db/DavLock/DavLockDB" Alias /uploads "/usr/local/uploads"
Wobei /usr/local/uploads der standardmässig eingestellte Wert für das Datenverzeichnis ist. Dieses kann natürlich auch an eine andere Stelle gelegt werden. Dann müssen jedoch auch die folgenden Anweisungen entsprechend angepasst werden.
# cd /usr/local # mkdir uploads # chown www:www uploads
Für das Locking der Dateien benötigt WebDAV eine Lock-Datei. Diese muss sich in einem Verzeichnis befinden welches dem User www gehört.
# cd /var/db # mkdir DavLock # chown www:www DavLock # cd DavLock # touch DavLockDB # chown www:www DavLockDB
Nun sollte ein WebDAV-Zugriff ohne Benutzerauthentifizierung nach Starten des Apache bereits zur Verfügung stehen.
Um den Zugriff auf das WebDAV über eine Passwortabfrage zu gestalten wird digest verwendet. Es ermöglicht eine verschlüsselte Passwortübertragung. Zunächst muss die Digest-Datei angelegt werden welche die Passworte speichert.
Wichtig: Dieser Befehl löscht eine vorhandene Digest-Datei und legt sie neu an! Er darf/sollte also nur zum Anlegen des aller ersten Benutzers verwendet werden. Für alle folgenden Benutzer ist der Parameter -c wegzulassen.
# htdigest -c /usr/local/etc/apache22/webdav.htdigest.passwd WebDAV BENUTZERNAME
Nun wurde die entsprechende Datei angelegt.
Weitere Benutzer werden mit folgendem Befehl angelegt:
# htdigest -c /usr/local/etc/apache22/webdav.htdigest.passwd WebDAV WEITERERBENUTZERNAME
Nachdem eine Digest-Datei mit Benutzern angelegt wurde wird diese dem WebDAV bekannt gemacht. Hierzu wird die /usr/local/etc/apache22/extra/httpd-dav.conf wie folgt erweitert:
DavLockDB "/var/db/DavLock/DavLockDB" Alias /uploads "/usr/local/uploads" <Directory "/usr/local/uploads"> Dav On Order Allow,Deny Allow from all AuthType Digest AuthName "WebDAV" AuthUserFile "/usr/local/etc/apache22/webdav.htdigest.passwd" require user rakor </Directory>