WebDAV Installation · 3 min read · Dec 17, 2025

Wie man WebDAV mit Lighttpd auf Debian 8 (Jessie) installiert

Diese Anleitung erklärt, wie man WebDAV mit Lighttpd auf einem Debian 8 (Jessie) Server einrichtet. WebDAV steht für Webbasierte verteilte Autorisierung und Versionierung und ist eine Sammlung von Erweiterungen des HTTP-Protokolls, die es Benutzern ermöglicht, Dateien direkt auf dem Lighttpd-Server zu bearbeiten, sodass sie nicht über FTP heruntergeladen oder hochgeladen werden müssen. Natürlich kann WebDAV auch verwendet werden, um Dateien hoch- und herunterzuladen.

1 Vorbemerkung

Ich verwende hier einen Debian 8 Server mit der IP-Adresse 192.168.1.100. Mein Setup basiert auf dem Debian Minimal Server Tutorial, aber jedes Debian-System, das noch keinen Webserver betreibt, sollte in Ordnung sein.

2 WebDAV installieren

Sie können lighttpd (falls es noch nicht installiert ist), das lighttpd WebDAV-Modul und das Paket apache2-utils (das das Tool htpasswd enthält, das wir später benötigen, um eine Passwortdatei für den WebDAV-Share zu erstellen) wie folgt installieren:

apt-get -y install lighttpd lighttpd-mod-webdav apache2-utils

Anschließend müssen wir sicherstellen, dass das Verzeichnis /var/run/lighttpd dem Benutzer und der Gruppe www-data gehört. Dieses Verzeichnis wird eine SQLite-Datenbank enthalten, die von WebDAV benötigt wird:

chown www-data:www-data /var/run/lighttpd/

Als nächstes aktivieren wir die Module mod_auth und mod_webdav:

lighty-enable-mod auth  
lighty-enable-mod webdav

Laden Sie Lighttpd anschließend neu:

service lighttpd force-reload

3 Erstellen eines virtuellen Hosts

Ich werde jetzt einen Lighttpd vhost ( www.example.com) im Verzeichnis /var/www/web1/web erstellen. Wenn Sie bereits einen vhost haben, für den Sie WebDAV aktivieren möchten, müssen Sie dieses Tutorial an Ihre Situation anpassen.

Zuerst erstellen wir das Verzeichnis /var/www/web1/web und machen den Lighttpd-Benutzer ( www-data) zum Eigentümer dieses Verzeichnisses:

mkdir -p /var/www/web1/web  
chown www-data:www-data /var/www/web1/web

Dann öffnen wir /etc/lighttpd/lighttpd.conf und fügen den folgenden vhost ans Ende der Datei hinzu:

nano /etc/lighttpd/lighttpd.conf
[...]  
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
}

Anschließend starten wir lighttpd neu:

service lighttpd restart

4 Konfigurieren des virtuellen Hosts für WebDAV

Jetzt erstellen wir die WebDAV-Passwortdatei /var/www/web1/passwd.dav mit dem Benutzer test (der -c Schalter erstellt die Datei, wenn sie nicht existiert):

htpasswd -c /var/www/web1/passwd.dav test

Sie werden aufgefordert, ein Passwort für den Benutzer test einzugeben.

(Bitte verwenden Sie nicht den -c Schalter, wenn /var/www/web1/passwd.dav bereits existiert, da dies die Datei von Grund auf neu erstellt, was bedeutet, dass Sie alle Benutzer in dieser Datei verlieren!)

Jetzt ändern wir die Berechtigungen der Datei /var/www/web1/passwd.dav, sodass nur root und die Mitglieder der Gruppe www-data darauf zugreifen können:

chown root:www-data /var/www/web1/passwd.dav  
chmod 640 /var/www/web1/passwd.dav

Jetzt ändern wir unseren vhost in /etc/lighttpd/lighttpd.conf, sodass er wie folgt aussieht:

nano /etc/lighttpd/lighttpd.conf
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
  alias.url = ( "/webdav" => "/var/www/web1/web" )
  $HTTP["url"] =~ "^/webdav($|/)" {
    webdav.activate = "enable"
    webdav.is-readonly = "disable"  
    dir-listing.activate = "enable"
    webdav.sqlite-db-name = "/var/run/lighttpd/lighttpd.webdav_lock.db"
    auth.backend = "htpasswd"
    auth.backend.htpasswd.userfile = "/var/www/web1/passwd.dav"
    auth.require = ( "" => ( "method" => "basic",
                             "realm" => "webdav",
                             "require" => "valid-user" ) )
  }
}

Die alias.url-Direktive sorgt (zusammen mit $HTTP[“url”] =~ “^/webdav($|/)”) dafür, dass beim Aufruf von /webdav WebDAV aktiviert wird, Sie jedoch weiterhin auf das gesamte Dokumentenstammverzeichnis des vhosts zugreifen können. Alle anderen URLs dieses vhosts sind weiterhin “normales” HTTP.

Starten Sie Lighttpd anschließend neu:

service lighttpd restart

5 Testen von WebDAV

Wir werden jetzt cadaver installieren, einen Kommandozeilen-WebDAV-Client:

apt-get -y install cadaver

Um zu testen, ob WebDAV funktioniert, geben Sie ein:

cadaver http://www.example.com/webdav/

Sie sollten nach dem Benutzernamen gefragt werden. Geben Sie test ein und dann das Passwort für den Benutzer test. Wenn alles gut geht, sollten Sie Zugriff erhalten, was bedeutet, dass WebDAV funktioniert. Geben Sie quit ein, um die WebDAV-Shell zu verlassen:

root@server1:/home/administrator# cadaver http://www.example.com/webdav/  
Authentifizierung erforderlich für webdav auf dem Server `www.example.com':  
Benutzername: test  
Passwort:  
dav:/webdav/> quit  
Verbindung zu `www.example.com' geschlossen.  
root@server1:/home/administrator#

6 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.