Webdav erlaubt den besonders komfortablen Zugriff auf Dateien über Browser und Client-Software. Sie können darüber Verzeichnisse freigeben und Dateien auf einem entfernten Server bearbeiten.

Webdav (Web-Distributed Authoring and Versioning) erweitert das HTTP-Protokoll, insofern es Schreibzugriffe auf den Webserver erlaubt. Mit zusätzlichen Modulen lässt sich Webdav beim Webserver
Apache
nachrüsten. Sie legen Verzeichnisse für den Datenaustausch fest, die Sie auf einem anderen PC über das Internet mounten und wie eine Online-Festplatte verwenden können. Benutzernamen und Passwort sorgen für Sicherheit. Sie können Webdav als Cloud-Speicher einsetzen, darüber HTML-Dateien Ihrer Homepage ändern oder Kalender synchronisieren.
Wir beschreiben die Installation eines Webdav-Servers unter
Ubuntu
zu Testzwecken im heimischen Netz. Auf einem Server beim Web-Hoster funktioniert das ähnlich, jedoch können je nach Vorkonfiguration und Linux-Distribution die einzelnen Schritte abweichen. Eine kommentierte Beispielkonfiguration und alle Befehlszeilen dieses Artikels finden Sie unter
http://pcwe.lt/h/webdav
.
1. Apache als Webdav-Server einrichten
Wir gehen davon aus, dass Sie bereits eine Apache-Installation verwenden (siehe „
Webserver unter Linux einrichten
"). Öffnen Sie ein Terminal, und führen Sie die folgenden Befehle aus:
sudo a2enmod dav sudo a2enmod dav_fs
Danach tauchen die Verknüpfungen „dav.load“, „dav_fs.load“ und „dav_ fs.conf“ unter „/etc/apache2/modsenabled“ auf. „dav_fs.conf“ enthält die Direktive „DavLockDB“, die auf „${APACHE_LOCK_DIR}/DAVLock“ („/var/lock/apache2/DAVLock“) verweist. Darin speichert der Webserver Informationen über Dateizugriffe und sperrt geöffnete Dateien, damit nicht mehrere Benutzer gleichzeitig deren Inhalte ändern können.
Legen Sie ein Verzeichnis an, das Sie über Webdav freigeben wollen (etwa mit sudo mkdir /var/webdav). Zum Testen kopieren Sie eine beliebige Datei in dieses Verzeichnis. Setzen Sie die Zugriffsrechte für den Webserver:
sudo chown -R www-data:www-data /var/webdav
Dann laden Sie mit sudo nano /etc/apache2/ sites-enabled/000-default.conf die Standard-Site im Editor. Fügen Sie folgende sechs Zeilen oberhalb von „</VirtualHost>“ ein.
<Directory /var/webdav/> Options Indexes MultiViews AllowOverride None Order allow,deny allow from all </Directory>
Damit erlauben Sie dem Webserver den Zugriff auf „/var/webdav“. Die folgenden Zeilen machen das Verzeichnis über „http://localhost/webdav“ verfügbar und sorgen für den Passwortschutz:
Alias /webdav /var/webdav/ <Location /webdav> DAV on Options +Indexes AuthType Basic AuthName DAV AuthUserFile /etc/apache2/webdav Require valid-user </Location>
Speichern Sie die Datei mit Strg-O, und beenden Sie den Editor mit Strg-X. Erstellen Sie mit folgender Zeile Benutzer und Passwort:
sudo htpasswd -c /etc/apache2/webdav Name
Der „Name“ kann mit Ihrem Linux-Benutzernamen identisch sein, ist aber beliebig wählbar. Tippen Sie das Passwort zweimal ein, jeweils quittiert mit der Eingabetaste. Sollte der Befehl „htpasswd“ nicht gefunden werden, installieren Sie die nötigen Programme mit sudo apt-get install apache2-utils.
Starten Sie den Webserver mit folgender Zeile neu:
sudo service apache2 restart
Rufen Sie nun im Browser die Adresse „http://localhost/webdav“ auf, und geben Sie Benutzernamen und Passwort ein. Auf anderen PCs im Netz ersetzen Sie „localhost“ durch die IP-Adresse des Linux-PCs. Sie sehen dann die Seite „Index of /webdav“ mit den Inhalten aus „/var/webdav“. Per Mausklick können Sie sich Bilddateien ansehen, per Rechtsklick und „Ziel speichern unter...“ Dateien herunterladen.

2. Webdav über SSL-Zertifikat absichern
Webdav überträgt Anmeldedaten und Dateien unverschlüsselt. Beim lokalen Test-Server ist das kein Problem, für einen Webdav-Server im Web ist es sicherer, den Datenverkehr zu verschlüsseln. Soll der Server auch für andere Personen zugänglich sein, erhalten Sie ein kostenloses Zertifikat ohne weitere Verpflichtungen etwa bei
www.startssl.com
. Für private Nutzung reicht auch ein selbst signiertes SSL-Zertifikat. Dieses erstellen Sie im Terminal mit:
openssl genrsa -out /etc/ssl/private/apache.key 2048 openssl req -new -x509 -key /etc/ssl/private/apache.key -days 365 -sha256 -out /etc/ssl/certs/apache.crt
Damit erzeugen Sie den privaten Schlüssel „apache.key“ und das SSLZertifikat „apache.crt“. Durch die Angabe „-days 365“ ist das Zertifikat 365 Tage gültig. Aktivieren Sie in Apache das SSL-Modul mit dem Befehl
sudo a2enmod ssl
Erstellen Sie eine Kopie der Datei „/etc/ apache2/sites-available/000-default.conf“ etwa als „webdav-ssl.conf“ im gleichen Verzeichnis, und öffnen Sie die Kopie mit nano /etc/apache2/sitesavailable/ webdav-ssl.conf. Ändern Sie dort „<VirtualHost *:80>“ auf „<VirtualHost *:443>“, und fügen Sie darunter folgende drei Zeilen ein:
SSLEngine on SSLCertificateFile /etc/ssl/certs/ apache.crt SSLCertificateKeyFile /etc/ssl/private/apache.key
Ergänzen Sie außerdem den Abschnitt „<Location /webdav>“ mit der Direktive „SSLRequireSSL“. Mit
a2ensite webdav-ssl
aktivieren Sie die SSL-Site. Entfernen Sie dann die Änderungen für Webdav aus der Datei „000-default.conf“, oder setzen Sie das Kommentarzeichen „#“ vor die Zeilen. Starten Sie den Webserver mit
sudo service apache2 restart
neu.
Rufen Sie jetzt im Browser „
https://localhost/webdav“
auf. Sie erhalten eine Meldung, die auf das Sicherheitsrisiko bei selbst signierten SSL-Zertifikaten hinweist. In Firefox klicken Sie auf „Ich kenne das Risiko“, „Ausnahmen hinzufügen“ und „Sicherheits-Ausnahmeregel bestätigen“.

3. Client-Software für den Webdav-Zugriff
Im Webbrowser sehen Sie die Inhalte des Webdav-Ordners und können Dateien herunterladen. Für den Schreibzugriff benötigen Sie zusätzlich einen Webdav-Client. Dafür eigenen sich die Dateimanager der Desktop-Umgebungen
Gnome
,
KDE
,
Xfce
oder
Lxde
. Ubuntu/Nautilus: Geben Sie unter „Datei > Mit Server verbinden > Serveradresse“ davs://localhost/webdav ein. Bei unverschlüsselter Verbindung verwenden Sie „dav://“. Nach Klick auf „Verbinden“ geben Sie Benutzernamen und Passwort ein und klicken erneut „Verbinden“. Für den bequemen Zugriff gehen Sie auf „Lesezeichen > Lesezeichen für diesen Ort hinzufügen“. Sie können die Server-Adresse in der gleichen Form auch direkt in das Eingabefeld eintippen, das Sie mit Strg-L einblenden.
Kubuntu:
Die KDE-Dateimanager Dolphin und Konqueror besitzen eine Adresszeile, in die Sie die Webdav-Adresse in der Form „webdav[s]://localhost/webdav“ eintippen.
Xubuntu/Lubuntu:
Im Dateimanager Thunar oder Pcman FM klicken Sie auf „Gehe zu > Ort öffnen“ und geben die Webdav-Adresse in der gleichen Form ein wie bei Nautilus. Sollte dabei eine Fehlermeldung erscheinen, installieren Sie das Paket „gvfsbackends“.
Webdav-Verzeichnis mounten:
Der Zugriff über Dateimanager ist einfach, besitzt jedoch Einschränkungen: Diverse Dateitypen lassen sich nicht wie gewohnt öffnen, weil die Anwendungsprogramme nicht mit dem virtuellen Dateisystem dav/davs zurechtkommen. Daher ist es besser, das Webdav-Verzeichnis in das Dateisystem einzuhängen. Installieren Sie die nötigen Pakete mit der Zeile
sudo apt-get install ca-certificates davfs2
Mit sudo mkdir /mnt/webdav erstellen Sie einen Mountpunkt, und mit folgendem Befehl hängen Sie die Webdav-Ressource ein:
sudo mount -t davfs https://IPAdresse/webdav /mnt/webdav
„IP-Adresse“ ersetzen Sie durch die lokale IP oder den Domain-Namen des Webservers. Als Benutzer „root“ dürfen Sie in „/mnt/webdav“ schreiben, alle anderen Benutzer haben nur Lesezugriff.
Wenn Sie das ändern wollen, öffnen Sie die Datei „fstab“ mit sudo nano /etc/fstab und tragen folgende Zeile ein:
https://IP-Adresse/webdav /mnt/webdav davfs user,noauto 0 0
Führen Sie den Befehl
sudo dpkg-reconfigure davfs2
aus, und beantworten Sie die Frage „Soll unprivilegierten Benutzern erlaubt werden, Webdav-Ressourcen einzubinden?“ mit „Ja“. Fügen Sie Benutzer mit
sudo usermod -aG davfs2 Name
zur Gruppe „davfs2“ hinzu. „Name“ ersetzen Sie durch den Anmeldenamen des Linux-Benutzers. Melden Sie sich ab und wieder an oder starten Sie Linux neu. Geben Sie als normaler Benutzer in einem Terminal-Fenster
mount /mnt/webdav
ein. Sie erhalten dann eine Fehlermeldung über falsche Zugriffsrechte auf die Datei „davfs2/secrets“. Öffnen Sie die Datei mit
nano ~/.davfs2/secrets
im Editor. Tragen Sie am Ende Webdav-Adresse, Benutzernamen und Passwort jeweils mit einem Leerzeichen getrennt ein – etwa:
https://IP-Adresse/webdav te geheim
Speichern Sie die Datei, und ändern Sie die Zugriffsrechte mit chmod 600 ~/.davfs2/secrets . Führen Sie dann erneut mount /mnt/webdav aus. Bei SSL-Verbindung müssen Sie noch das Zertifikat mit „j“ und der Eingabetaste bestätigen. Dateien aus „ /mnt/webdav “ lassen sich jetzt so nutzen wie auf einem lokalen Dateisystem.

4. Webdav direkt in Anwendungen nutzen
Einige Programme wie etwa
Libre Office
nutzen Webdav-Speicher ohne Umweg über Dateimanager oder ein Mount-Verzeichnis. Gehen Sie auf „Extras > Optionen > Allgemein“, setzen Sie ein Häkchen vor „LibreOffice-Dialoge“, und klicken Sie auf „OK“. Gehen Sie auf „Datei > Öffnen“, und tragen Sie hinter „Dateiname“ die Webdav-Adresse ein, etwa „https://IP-Adresse/webdav“. Sie müssen dann das SSL-Zertifikat mit „Fortfahren“ bestätigen und Benutzernamen und Kennwort eingeben. Die Verbindungsdaten lassen sich speichern, wenn Sie auf die Schaltfläche „...“ klicken und das Formular ausfüllen.
Webdav eignet sich außerdem für die Synchronisierung von Kalendern. Im Thunderbird-Add-on
Lightning
gehen Sie im Menü auf „Termine und Aufgaben > Kalender“ und klicken mit der rechten Maustaste links unter „Kalender“. Wählen Sie im Menü „Neuer Kalender“. Aktivieren Sie die Option „Im Netzwerk“, klicken Sie auf „Weiter“, und geben Sie hinter „Adresse“ etwa https://MeinDomain.de/webdav/calendar.ics ein. Nach „Weiter“ und „Fertig stellen“ geben Sie Benutzername und Kennwort ein.
Dieser Artikel stammt aus der LinuxWelt 3/2015
In der neuen LinuxWelt
erklären wir Schritt für Schritt, wie Sie Linux als Server einrichten. In einem weiteren Special erfahren Sie alles über ein effizientes Power-Management bei Notebooks und PCs.