Apache 2 WebDAV beibringen
Artikel erschienen in Swiss IT Magazine 2005/14
Die meisten Distributionen liefern Apache 2 samt der nötigen Module vorkompiliert aus. Wie bereits im Artikel erwähnt, werden mindestens mod_dav und mod_dav_fs benötigt. Sinnvoll sind weiter mod_auth (für die Basic-Authentifizierung) und mod_ssl (für die Unterstützung von SSL-Tunneln). Wer lieber selber den Compiler anwirft, muss seine Configure-Anweisung leicht erweitern:
$ ./configure --enable-ssl --enable-dav --enable-dav-fs --enable-auth
Wer die Bereitstellung der Authentifizierungsdetails an einen Back-end-Server übergeben will, braucht ebenfalls die nötigen Module (meist mod_auth_ldap oder mod_auth_my sql). Sofern diese nicht von der Distribution mitgeliefert werden, kann man selber die passende Extension kompilieren und zum Server hinzufügen – die Manpages und Readmes der Module geben Aufschluss über das genaue Vorgehen.<7p>
Die Konfiguration
ist schnell erledigt:
VirtualHost 127.0.0.1:443
ServerName webdav.servername.tld
DocumentRoot /srv/webdav
# TLS aktivieren
SSLEngine on
SSLCertificateKeyFile /etc/apache2/ssl/key.pem
SSLCertificateFile /etc/apache2/ssl/cert.pem
# WebDAV aktivieren
DAV On
# Ausführung von Scripten
unterbinden
ForceType text/plain
# Einfache Benutzerauthentifizierung
AuthType Basic
AuthName "WebDAV Restricted"
AuthUserFile /etc/apache2/access/webdav
Require valid-user
Mit der Beispielkonfiguration
wird ein virtueller Server konfiguriert, der nur für WebDAV gedacht ist. Der Zugriff kann nur durch einen SSL-Tunnel erfolgen. Die Benutzerauthentifizierung übernimmt
dabei mod_auth, das Benutzernamen und Passwörter aus der
Datei /etc/apache2/access/webdav bezieht. Bei der Erstellung und Wartung hilft das Apache-Programm htpasswd. Die Erzeugung der
SSL-Zertifikate (konfiguriert durch SSLCertificateKeyFile und SSL-CertificateFile) wird von der
Apache-Dokumentation wie auch von den meisten SSL-Zertifizierungsstellen detailliert erläutert.