WebDAV ist eine Technologie, die einer Onlinefestplatte nahe kommt. Grundsätzlich braucht man nur einen Apache-Webserver
Vorteile von WebDAV sind:
- keine neue Serversoftware erforderlich (geringerer Einrichtungs- und Wartungsaufwand, Sicherheit)
- Firewall-freundlich
- idR. keine Konfiguration auf Clientseite erforderlich (keine Port-Freischaltung o.ä.)
- Abruf der Dateien mit beliebigem Webbrowser möglich
- durch HTTP Authentifizierung und .htaccess einfache Benutzerverwaltung
- SSL/TLS ermöglicht auch verschlüsselte Übertragung
- Clients für alle Betriebssysteme verfügbar, in Windows sogar im Explorer standardmäßig integriert („Webordner“)
Installation
Module installieren
Um die Module beim Apache2 zu aktivieren, muss man folgende Zeile eingeben.
sudo a2enmod dav sudo a2enmod dav_fs
Der Webserver sollte anschließend mit
sudo /etc/init.d/apache2 restart
neugestartet werden und schon ist das Modul verfügbar
Webserver einrichten
Wenn man den WebDAV-Server per Subdomain erreichen will, muss man unter sites-available eine Konfiguration erstellen, die wie folgt aussieht
- webdav_ssl.conf
<VirtualHost *:443> ServerAdmin webmaster@localhost ServerName webdav.da-checka.de SSLEngine on SSLCertificateFile /etc/apache2/da_checka_cacert.pem SSLCertificateKeyFile /etc/apache2/da_checka_privatekey.pem SSLCACertificateFile /etc/apache2/da_checka_class3.crt SSLCipherSuite HIGH SSLProtocol all -SSLv2 DocumentRoot /var/www/webdav <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/webdav> DAV on Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Options Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/webdav-error.log LogLevel warn CustomLog /var/log/apache2/webdav-access.log combined </VirtualHost>
Dann muss man noch die Konfiguration aktivieren
sudo a2ensite webdav_ssl
und den Apache-Server neu starten
sudo /etc/init.d/apache restart
Jetzt ist der Webdav-Server unter https://webdav.da-checka.de erreichen
Absicherung
Zur Absicherung nutzen wir htaccess. Dazu erweitern wir die Konfiguration um ein paar Zeilen
<Directory /var/www/webdav> DAV on Options Indexes FollowSymLinks MultiViews AuthType Basic AuthName DAV AuthUserFile /etc/apache2/passwords Require valid-user AllowOverride FileInfo Options Order allow,deny allow from all </Directory>
Unter /etc/apache/passwords werden ab sofort alle User stehen, die Zugriff auf den WebDAV-Server haben.
User fügt man wie folgt hinzu:
sudo htpasswd /etc/apache/passwords <username>
Jetzt muss noch die Datei vor neugierigen Blicken geschützt werden.
sudo chown root:www-data /etc/apache2/passwords sudo chmod 640 /etc/apache2/passwords
Nutzerspezifische Verzeichnisse
Wenn man für jeden User ein eigenes Verzeichnis anlegen will, auf das nur der User zugreifen soll, muss man die Konfiguration ein bisschen erweitern.
<Directory /var/www/webdav/<username>> require user <username> Options +Indexes </Directory>
Jetzt noch das Verzeichnis anlegen und den Server neu starten
sudo mkdir /var/www/webdav/<username> sudo chown www-data:www-data /var/www/webdav/<username>
Ab sofort kann der nur noch der angegebene Nutzer auf dieses Verzeichnis zugreifen
Nutzung
Folgende Möglichkeiten der Nutzung gibt es.
Browser
In einem Browser (egal welcher) kann man auf den WebDAV-Server leider nur lesende zugreifen, indem man einfach die URL eingibt ( z.B. https://<Servername>)
Windows
Unter Windows ist es ziemlich einfach, eine WebDAV-Freigabe einzubinden.
Unter „Netzwerkumgebung“ wird unter „Netzwerkresource hinzufügen“ der Server mit Verzeichnis angegeben
Jetzt muss nur noch das Zertifikat bestätigt werden und ein Name für die Netzwerkresource gefunden werden und schon ist es fertig.
Linux
Unter Ubuntu muss man zu erst folgende Pakete installieren: davfs2. Dazu gibt man folgenden Befehl ein
sudo aptitude install davfs
damit ist der Befehl mount.davfs
verfügbar und benutzbar. Zur Nutzung kann folgende Zeile benutzt werden
sudo mount.davfs https://<Servername> /mnt
Danach wird ein Benutzername und Benutzerpasswort abgefragt. Sollte keines verfügbar sein, muss einfach mit Enter bestätigt werden. Jetzt noch das Zertifikat bestätigen und schon kann man auf die Freigabe zugreifen
Diskussion