Tipps zum Arbeiten mit Webdav
From revampedia
Apache2 für Webdav konfigurieren
Webdav ermöglicht Lese- und Schreibzugriff auf die Dateien in einem Webserver-Verzeichnis über die http- bzw. https-Standardports 80 bzw. 443. Siehe auch https://de.wikipedia.org/wiki/WebDAV
Grundkonfiguration
- Zunächst müssen die Webdav-Module, die bei Apache2 bereits standardmässig im Verzeichnis /etc/apache2/mods-available vorhanden sind, aktiviert werden. Mit
# ls -l /etc/apache2/mods-available/*dav*
- werden die vorhanden Module angezeigt.
- Anschliessend wird für jede gefundene Datei ein gleichlautender symbolischer Link im Ordner /etc/apache2/mods-enabled gesetzt:
# cd /etc/apache2/mods-enabled # ln -s ../mods-available/dav.load # .....
Ort der Webdav Konfigurationen
- Wenn virtuelle Domains vorhanden sind, müssen die Einstellungen für den WebDav-Zugang in der oder den Konfigurationsdateien für die virtuellen Domains im Ordner /etc/apache2/sites-enabled/ eingetragen werden!
- Falls keine virtuellen Domains existieren oder wenn alle Daten auf dem Webserver unabhängig von den einzelnen virtuellen Domains via Webdav erreichbar sein sollen, wird üblicherweise in Verzeichnis /etc/apache2/conf.d/ eine Konfigurationsdatei z.B. mit Namen webdav.conf erstellt, in der dann die im folgenden beschriebenen <Location ..> - Definitionen eingetragen werden.
Detail-Konfiguration
- Jeder WebDav-Zugang wird von den Zeilen:
<Location /pfad>
</Location>
- eingeschlossen.
- Die gesamte Konfiguration sieht dann z.B. so aus:
<Location /pfad> Order Allow,Deny Allow from IP-Adresse RemoveHandler .php RewriteEngine Off Dav On AuthType Basic AuthName "WebDav-Zugang" AuthUserFile /etc/apache2/name_der_passwortdatei Require user username1 username2 </Location>
- Erklärungen:
- /pfad
- gibt das Verzeichnis an, auf das der Zugriff geregelt werden soll - und zwar relativ zum jeweils zu Beginn der VirualHost Definition angegebenen DocumentRoot-Verzeichnis.
- Soll das DocumentRoot-Verzeichnis als Ganzes für WebDav zugänglich sein, wird nur
- <Location />
- angegeben.
- Oft ist es sinnvoll, für den Pfad zunächst ein Alias festzulegen, vor allem, wenn am gleichen Ort auch eine Website via Browser erreicht werden soll. Dadurch ist es möglich, den Webdav-Zugang über den Alias-Pfad einzurichten ohne dass der direkte Zugang via Webbroser dadurch beeinträchtigt wird, z.B.
Alias /edit /var/www/webroot <Location /edit> ...
- Order Allow,Deny
- Allow from IP-Adresse
- regelt, von wo aus der Zugriff auf den Server möglich ist, in diesem Beispiel nur von der angegebenen IP-Adresse aus.
- Dav On
- schaltet den Webdav-Zugang frei
- RemoveHandler .php
- Damit kann der Zugang auf Dateien via Webdav freigegeben werden, die z.B.via Browser nicht betrachtet werden können, sondern nur dafür vorgesehen sind, dass sie auf dem Webserver als Script ausgeführt werden.
- RewriteEngine Off
- Nötig falls mod_rewrite aktiviert ist.
- Die letzten 4 Zeilen regeln, welche BenutzerInnen wie Zugang haben.
- (Wenn diese Zeilen fehlen, kann die ganze Welt ohne Passwort auf die entsprechenden Verzeichnisse zugreifen.)
- AuthName
- legt einen Text fest, der beim Passwortdialog erscheint
- AuthUserFile
- gibt den Pfad und den Namen der Datei an, in der die Passwörter der BenutzerInnen verschlüsselt abgelegt werden. (Diesmal als absoluter Pfad)
- Require user
- gibt die Loginnamen der BenutzerInnen an, die sich (mit ihrem Passwort) einloggen können.
Passwort für Webdav-Zugang setzen
- Das Setzen der Passwörter erfolgt mit folgendem Befehl:
# htpasswd absoluter-pfad-zur-Passwortdatei username
- Falls die Passwortdatei noch nicht existiert kann sie mit der Option -c (create) erzeugt werden:
# htpasswd -c absoluter-pfad-zur-Passwortdatei username
Webdav-Zugriff vom Dateibrowser
- PCManFM
Ein Webdav-Ordner kann über das Protokoll dav:// bzw. davs://(verschlüsselte Datenübertragung) geöffnet werden:
davs://meinserver.tld/webdavpfad
Webdav-Ordner lokal in Dateisystem einbinden
dieser Teil sollte noch ergänzt werden.