barcode

WebDAV ist eine Technologie, die einer Onlinefestplatte nahe kommt. Grundsätzlich braucht man nur einen Apache-Webserver

Vorteile von WebDAV sind:

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>
Beim ersten anzulegenden User muss man die Option -c mit angeben, damit die Datei erstellt wird

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