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-utilsAnschließ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 webdavLaden Sie Lighttpd anschließend neu:
service lighttpd force-reload3 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/webDann ö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 restart4 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 testSie 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.davJetzt ä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 restart5 Testen von WebDAV
Wir werden jetzt cadaver installieren, einen Kommandozeilen-WebDAV-Client:
apt-get -y install cadaverUm 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
- WebDAV: http://www.webdav.org/
- Lighttpd: http://www.lighttpd.net/
- Debian: http://www.debian.org/
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.