Als Tim Berners Lee den ersten Browser schrieb, konnte dieser Webseiten nicht nur lesen, sondern auch editieren. Mit den erfolgreicheren Nachfolgern fiel diese Funktion jedoch unter den Tisch, das Web wuchs in rasantem Tempo zu einem überwiegenden Nur-Lese-Medium heran. Wer heute seinen Internetauftritt pflegen oder Dateien mit anderen austauschen möchte, muss seinen Server immer noch via FTP oder SSH durch die Hintertür beladen.
James ("Jim") Whitehead war dies ein Dorn im Auge. Um die Limitierungen aufzuheben und eine gemeinsame Arbeit an Dokumenten (Distributed Authoring) zu fördern, rief er bereits Mitte der 90er Jahre eine IETF-Arbeitsgruppe ins Leben. Gemäß ihren Zielen trug sie den ziemlich sperrigen Titel Web-based Distributed Authoring and Versioning, kurz WebDAV. Heraus kam der gleichnamige Standard, mit dem man Dateien nicht nur komfortabel auf einen Webserver hieven, sondern dort auch gleich noch manipulieren kann. Passende Clients lassen den Webserver sogar wie eine lokale Festplatte erscheinen. Der Dateiaustausch über das Internet oder die Wartung des eigenen Internetauftritts wird somit zum Kinderspiel. Da WebDAV zudem auf HTTP aufsetzt, muss man im Gegensatz zu FTP oder SSH keine weiteren Löcher in die wohlkonfigurierte Firewall bohren.
Der weit verbreitete Webserver Apache 2 unterstützt WebDAV von Haus aus, man muss das Protokoll nur noch einschalten und passend einrichten – was wiederum mit wenigen Zeilen in der Konfigurationsdatei erledigt ist.
Apache verteilt einige seiner Funktionen auf mehrere Module. So auch im Fall von WebDAV: Das Modul »mod_dav
«
stellt lediglich die Grundfunktionen zur Verfügung, sein Kollege »mod_dav_fs
«
bildet die später nutzbaren WebDAV-Verzeichnisse auf reale Unterverzeichnisse des Web-Servers ab. Als erste Amtshandlung muss der Apache-Admin folglich beide Module in der zentralen Konfigurationsdatei»httpd.conf
«
(meist im Unterverzeichnis »/etc/apache2
«
) scharf schalten:
LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.↩ so
Das Verzeichnis »modules/
«
ist eventuell gegen die korrekte Lagerstädte der Module auszutauschen. Die im Beispiel verwendeten relativen Pfadangaben sieht Apache immer vom »ServerRoot
«
-Verzeichnis aus.
Bei Debian-basierten Distributionen, wie etwa Ubuntu, aktiviert man die Module etwas bequemer das Hilfswerkzeug »a2enmod
«
:
sudo a2enmod dav sudo a2enmod dav_fs
Fehlt noch ein Verzeichnis, das Apache später via WebDAV seinen Benutzern bereitstellt. In den folgenden Beispielen soll dazu »/var/webdav
«
dienen. Damit Apache darin ungestört schalten und walten kann, benötigt es passende Zugriffsrechte. Dazu legt der Administrator es am Besten in die Hände des Benutzers und der Gruppe des Webservers, unter Ubuntu »www-data
«
(in anderen Distributionen auch gerne »wwwrun
«
):
sudo chown www-data:www-data /var/webdav
Neben dem Verzeichnis auf dem Server muss noch eine URL her, unter der die Inhalte von »/var/webdav
«
zu erreichen sind. Im Beispiel soll dies »http://www.example.com/webdav
«
sein. Mit diesen Informationen im Hinterkopf schaltet der Administrator in »httpd.conf
«
WebDAV scharf:
DavLockDB /usr/local/apache2/var/DavLock Alias /webdav "/var/webdav" <Directory "/var/webdav"> DAV on </Directory>
Das war schon alles: Der »Alias
«
sorgt für eine Abbildung des Verzeichnisses auf die URL, die nachfolgenden Direktiven schalten WebDAV für das Verzeichnis »/var/webdav
«
ein. Anstelle von »<Directory>
«
darf man auch den Container »<Location>
«
verwenden. Dann würden sich die WebDAV-Einstellungen auf das angegebene virtuelle Verzeichnis beziehen, im Fall von »<Location /webdav>
«
also auf »/webdav
«
.