• Teilen
  • Bookmark "WebDAV mit Apache" auf del.icio.us
  • Bookmark "WebDAV mit Apache" auf Digg
  • Bookmark "WebDAV mit Apache" auf Reddit
  • Bookmark "WebDAV mit Apache" auf StumbleUpon
  • Bookmark "WebDAV mit Apache" auf Facebook
  • Bookmark "WebDAV mit Apache" auf Twitter
  • Bookmark "WebDAV mit Apache" auf Slashdot

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

Achtung! sudo: In dieser Anleitung verdeutlicht der Befehl sudo, dass die folgende Codezeile mit Root-Rechten ausgeführt werden muss. In normalen Ubuntu Installationen (Root-/VServer siehe Debian) kann dies durch den Befehl sudo erreicht werden.
Bei Debian wird bei der Installation ein Passwort für den Root-Benutzer festgelegt, so kann man sich entweder direkt als Root oder als „normaler“ Benutzer mit Eingabe von su als Root einloggen (Root-Passwort benötigt) → sudo bleibt dann überflüssig!

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

Alias /webdav "/var/webdav" 

ü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 /etc/init.d/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 DateiMit 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

Weitere Clients

Viele weiteren Betriebssysteme unterstützen WebDAV hierzu muss unter anderem die Dokumentation der jew. Distribution/ des jew. OSes herangezogen werden. Weitere Beispiele finden sich hier.


chrisge 2014/01/15 18:58

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
YFYSJ
 
  • Teilen
  • Bookmark "WebDAV mit Apache" auf del.icio.us
  • Bookmark "WebDAV mit Apache" auf Digg
  • Bookmark "WebDAV mit Apache" auf Reddit
  • Bookmark "WebDAV mit Apache" auf StumbleUpon
  • Bookmark "WebDAV mit Apache" auf Facebook
  • Bookmark "WebDAV mit Apache" auf Twitter
  • Bookmark "WebDAV mit Apache" auf Slashdot
Sonstiges
Drucken/exportieren
Archiv

Archivierter Inhalt der alten Seite