Inhaltsverzeichnis
WebDAV mit Apache
WebDAV ermöglicht es via Web Freigaben als einen Art Netzwerkfestplatte einzubinden und diese wie eine Festplatte/ einen lokalen Datenträger zu behandeln (schreiben/lesen/download/upload) und das Ganze natürlich Passwort geschützt. Solche Netzwerkfestplatten bekommt man bei 1&1, GMX und vielen weiteren Hostern.
WebDAV bietet den Vorteil, dass diese Dienste über Port 80 (normale Webseiten) laufen, also selbst von Schulen und öffentlichem Internet aus erreichbar sind. Außerdem bietet WebDAV bequemen Zugang via Browser oder Dateimanager und ist somit Plattform unabhängig.
Softwarevoraussetzungen: Apache bereits aufgesetzt (siehe LAMP) | Grundkenntnisse Apache (siehe Apache Webserver) | Editor | Paketverwaltung
Schwierigkeitsgrad: Mittel
Ausgetestet mit folgenden Betriebssystemen: Ubuntu | Debian | teilweise auch andere Distributionen
Archiv: Diese Anleitung behandelt ältere Softwareversionen, kann aber noch als Referenz verwendet werden.
Installationen
Als erstens benötigen wir den Apache Webserver, indem wir das Modul „DAV“ aktivieren:
user@server:~$ sudo apt-get install apache2 user@server:~$ sudo a2enmod dav user@server:~$ sudo a2enmod dav_fs user@server:~$ sudo service apache2 restart
Verzeichnis erstellen
Nun haben wir die Basis geschaffen und können mit der Ordnererstellung fortsetzen. In unserem Beispiel legen wir in /var
ein Verzeichnis webdav
an, natürlich kann das auch in dem jeweiligen Home des Benutzers oder an einem anderen Ort stattfinden.
Mit
user@server:~$ cd /var
wechseln wir in /var
und legen mit
user@server:~$ sudo mkdir webdav
den Ordner webdav
an. Diesem geben wir mit
user@server:~$ sudo chown www-data:www-data webdav
der Gruppe und dem Benutzer www-data
.
Aliase konfigurieren
Wir öffnen die /etc/apache2/sites-available/default
(oder den zu verwendeten V-Host) mit
user@server:~$ sudo nano /etc/apache2/sites-available/default
und erstellen einen neuen Alias
Alias /webdav "/var/webdav" <Directory "/var/webdav"> DAV on Options +Indexes AuthType Basic AuthName DAV AuthUserFile /etc/apache2/passwords Require valid-user </Directory>
Erklärung
<codeapache >Alias /webdav „/var/webdav“ </code>
über ip_des_servers/webdav
ist das DAV erreichbar, „/var/webdav“ gibt den Pfad zum Ordner an, den wir erstellt haben
<Directory "/var/webdav">
/var/webdav
ist nochmal ein Verweis auf den Ordner, den wir erstellt haben
AuthUserFile /etc/apache2/passwords
/etc/apache2/passwords
gibt den Pfad zur Passwortdatei an, die wir noch erstellen müssen.
Beispiel eines V-Hosts
Die ganze Datei kann dann in etwa so aussehen:
<VirtualHost *:80> ServerAdmin root@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Order allow,deny allow from all </Directory> Alias /webdav "/var/webdav" <Directory "/var/webdav"> DAV on Options +Indexes AuthType Basic AuthName DAV AuthUserFile /etc/apache2/passwords Require valid-user </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined </VirtualHost>
Passwortdatei erstellen
Nun müssen wir die Passwortdatei anlegen, auf die unsere Aliaskonfig verweist. In unserem Fall ist das die /etc/apache2/passwords
, die wir wie folgt erstellen:
user@server:~$ sudo htpasswd -c /etc/apache2/passwords BENUTZER # BENUTZER durch den gewünschten Benutzernamen ersetzen
bei BENUTZER
geben wir unseren gewünschten Loginnamen ein und werden danach zur zweimaligen Passworteingabe aufgefordert.
Weitere Benutzer können durch das Weglassen des Parameters -c
angelegt werden:
user@server:~$ sudo htpasswd /etc/apache2/passwords BENUTZER2 # BENUTZER2 durch den gewünschten Benutzernamen ersetzen
Der Pfad und der Name der Passwortdatei lässt sich natürlich anpassen, muss dann aber auch in der Aliaskonfiguration so benannt werden und die obigen Rechte bekommen.
Danach geben wir der Passwortdatei die richtigen Rechte:
user@server:~$ sudo chown root:www-data /etc/apache2/passwords user@server:~$ sudo chmod 640 /etc/apache2/passwords
Neustarten des Apaches
Nach diesen ganzen Änderungen benötigt unser Apache erst einmal einen Neustart:
user@server:~$ sudo service apache2 restart
Testen
Nun können wir das Webdav mit unserem Browser über http://ip_des_servers/webdav
erreichen, dabei werden wir zu einem Login aufgefordert. Hier loggen wir uns mit den oben festgelegten (sudo htpasswd -c /etc/apache2/passwords BENUTZER
) Daten ein.
Einbinden des WebDAVs
Nautilus (Gnome & Unity)
Über die Adressleiste
Um diese Freigabe in Nautilus einzubinden muss folgendes in die Adressleiste eingegeben werden:
dav://ip_des_servers/webdav # Standard für obige Anleitung (ohne SSL) davs://ip_des_servers/webdav # falls ein SSL-V-Host verwendet wurde (bei obigen Beispiel nicht der Fall!!)
Diese Adresse kann direkt in die Adressleiste von Nautilus, die über [STRG] + L
erreichbar ist, eingegeben werden und muss nur noch mit der [Eingabetaste]
bestätigt werden. Anschließend wird man nach einem Benutzernamen und dem dazugehörigen Passwort gefragt des vorher angelegten Benutzers gefragt.
Über "Mit Server verbinden"
Den Assistenten für Serververbindungen findet man unter Datei
→ Mit Server verbinden
. Der Inhalt der Maske muss wie folgt ausgefüllt werden:
- Dienste-Typ: ohne SSL (Vorgabe für obige Anleitung) →
WebDAV (HTTP)
; mit SSL (bei obigen Beispiel nicht der Fall!!) →Sicheres WebDAV (HTTPS)
- Port: kann leer gelassen werden
- Ordner: in unserem Beispiel →
/webdav
- Benutzername: der Benutzer
- Lesezeichen: optional