Web-based Distributed Authoring and Versioning (WebDAV) ist ein Protokoll, mit dem du Dateien auf entfernten Webservern verwalten kannst. Es erweitert das HTTP-Protokoll und macht den Webserver zu einem beschreibbaren Ort. Einen WebDAV-Server einzurichten, erleichtert die Zusammenarbeit beim Teilen und Bearbeiten von Dateien. In diesem Artikel zeige ich dir, wie du einen WebDAV-Server auf einem Debian 12 System einrichtest.
Apache2 installieren
Da WebDAV über HTTP läuft, solltest du zuerst einen HTTP-Server installieren. Apache2 ist dafür beliebt, weil es modular und gut unterstützt wird.
Nachdem die Installation fertig ist, aktiviere den Apache2-Dienst, sodass er beim Systemstart automatisch läuft:
sudo systemctl enable apache2
sudo systemctl start apache2
WebDAV-Module aktivieren
Apache2 bringt Module mit, welche WebDAV unterstützen. Mit folgenden Befehlen aktivieren wir die benötigten Module:
sudo a2enmod dav
sudo a2enmod dav_fs
sudo systemctl restart apache2
WebDAV-Verzeichnis anlegen und konfigurieren
Lege ein Verzeichnis an, das als WebDAV-Root dient. Achte darauf, dass der Webserver-Benutzer (meist :www-data) Zugriffsrechte hat:
sudo mkdir -p /var/www/webdav/share sudo chown -R www-data:www-data /var/www/webdav
Jetzt richtest du Apache2 so ein, dass das Verzeichnis über WebDAV erreichbar ist. Erstelle dazu eine neue Konfigurationsdatei:
sudo nano /etc/apache2/sites-available/webdav.conf
Füge diese Beispielkonfiguration ein (passe die Pfade bei Bedarf an):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
Servername webdav
DocumentRoot /var/www/webdav
#<Directory />
# Options FollowSymLinks
# AllowOverride None
#</Directory>
<Directory /var/www/webdav/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Alias /share /var/www/webdav/share
<Location /share>
DAV On
DavDepthInfinity On #Faster, but more memory usage and DoS attack vector open
AuthType Basic
AuthName "webdav"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Location>
</VirtualHost>
Aktiviere die neue Seite und lade Apache neu.
sudo a2ensite webdav
sudo systemctl reload apache2
WebDAV mit Benutzer-Authentifizierung
Für mehr Sicherheit legst du WebDav-Benutzer an. Erstelle dafür eine .htpasswd-Datei:
sudo htpasswd -c /etc/apache2/.htpasswd dein-benutzername
Du wirst aufgefordert, ein Passwort zu vergeben. Willst du weitere Benutzer hinzufügen, entfernst du das Argument "-c".
Starte Apache zur Sicherheit nochmal neu:
sudo systemctl restart apache2
WebDAV testen
Greife mit einem WebDAV-fähigen Client oder direkt im Browser auf deinen Server zu:
http://ip-adresse-des-servers/share
Du wirst nach Benutzername und Passwort gefragt. Nach dem Login kannst du Dateien verwalten.
WebDAV-Server mit GNU/Linux Debian einrichten