2077626

Apache unter Linux als Webdav-Server einsetzen

09.08.2015 | 10:09 Uhr |

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.

Direktiven für Webdav: Tragen Sie die Webdav- Konfiguration in die Datei „000-default. conf“ ein. Darüber bestimmen Sie, welches Verzeichnis Sie freigeben möchten.
Vergrößern Direktiven für Webdav: Tragen Sie die Webdav- Konfiguration in die Datei „000-default. conf“ ein. Darüber bestimmen Sie, welches Verzeichnis Sie freigeben möchten.

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“.

Dateimanager: In Ubuntu greifen Sie mit dem Dateimanager Nautilus direkt auf Webdav-Freigaben zu. Dabei verwenden Sie eine Adresse wie „davs://localhost/webdav“.
Vergrößern Dateimanager: In Ubuntu greifen Sie mit dem Dateimanager Nautilus direkt auf Webdav-Freigaben zu. Dabei verwenden Sie eine Adresse wie „davs://localhost/webdav“.

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.

Direkter Zugriff: Libre Office kann eine Webdav-Verbindung über den „Öffnen“-Dialog herstellen. Verwenden Sie einfach die URL des Webdav-Servers.
Vergrößern Direkter Zugriff: Libre Office kann eine Webdav-Verbindung über den „Öffnen“-Dialog herstellen. Verwenden Sie einfach die URL des Webdav-Servers.

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.

0 Kommentare zu diesem Artikel
2077626