Notice: Undefined index: string in /var/www/stefan/howtux.de/htdocs/article.php on line 49

Notice: Undefined index: settings in /var/www/stefan/howtux.de/htdocs/article.php on line 61
Home / Client / Server Dienste / WebDAV

WebDAV

Kategorie: Client / Server DiensteErstellt: 17.12.2007 - 12:36 Geändert: 05.09.2008 - 12:55
Autor: Stephan Küffner
0WebDAV (Web-based Distributed Authoring and Versioning) ist ein offener Standard zur Bereitstellung von Dateien im Internet. Dabei können Benutzer auf ihre Daten wie auf eine Online-Festplatte zugreifen. Ein Vorteil von WebDAV ist die Verwendung des standardmäßigen HTTP-Ports. Dadurch kann es in der Regel auch verwendet werden, wenn sich zwischen zwei Rechnern eine Firewall befindet.

Webdav wird vom Apache2 als Modul beigefügt und muss nur noch aktiviert werden. Wenn kein Apache installiert ist, geht dies mit apt-get install apache2 denkbar einfach.


Aufgrund der bei Standard HTTP/1.1 nichtvorhandenen Sicherheit ist es nicht zu empfehlen Webdav über ein Öffentliches Netzwerk (Internet) zu betreiben. Deshalb ist diese Anleitung zum sicheren Transfer über HTTPS ausgelegt.


Aktivieren WebDAV-Module


Aktivieren der Webdav-Module

sv1@server: ~$ cd /etc/apache2/mods-enabled
sv1@server: /etc/apache2/mods-enabled ~$ ln -s ../mods-available/dav_fs.conf .
sv1@server: /etc/apache2/mods-enabled ~$ ln -s ../mods-available/dav_fs.load .
sv1@server: /etc/apache2/mods-enabled ~$ ln -s ../mods-available/dav.load .
sv1@server: /etc/apache2/mods-enabled ~$ ln -s ../mods-available/dav_lock.load .


Die Module sind nun freigeschaltet und können benutzt werden.
Nun muss noch die Konfigurationsdatei angepasst werden. Aber zuvor noch ein Verzeichnis für Webdav freigeben.

Webdav-Verzeichnis freigeben


Webdav-Verzeichnis

sv1@server: ~$ mkdir /var/www/webdav

Das Verzeichnis muss nicht im Verzeichnis des Apache liegen, wichtig ist nur dann, das man es bei der Konfiguration richtig einstellt.



Benutzer-Authentifizierung mit htpasswd


Damit nicht Gott und die Welt auf die Daten zugreifen kann, sollte man diesbezüglich noch eine Benutzer Authentifizierung verwenden.
Relativ einfach kann man das mit einer .htaccess realisieren.

.htaccess im Apache2-Verzeichnis

sv1@server: ~$ mkdir /etc/apache2/webdav
sv1@server: ~$ htpasswd -c /etc/apache2/webdav/passwd_dav BENUTZER
New password:
Re-type new password:
Adding password for user BENUTZER


Apache2-Konfiguration


Apache2-Konfiguration /etc/apache2/sites-available/default

<VirtualHost *:443>
...
Alias /webdav /da_wo_es_eigentlich_ist/hier/
#Alias verwenden wenn das freizugebenen Verzeichnis sich nicht innerhalb von /var/www befindet

DavLockDB /usr/local/apache2/var/DavLock
<Location /webdav>
Dav On
ForceType text/plain
AuthType Basic
AuthName "WebDav Authentifizierung"
AuthUserFile /etc/apache2/webdav/passwd_dav
require user BENUTZER
</Location>
...
</VirtualHost>


Schreibrechte für das Webdav-Verzeichnis


Man will natürlich auch Schreibrechte auf dem freigegebenen Verzeichnis haben, damit man Daten bzw Dateien auf seinen Server schaufel kann.
Bedingung um dies zutun ist, dass das Verzeichnis z.b. /var/www/webdav dem Benutzer "Apache2" bzw. "www-data" auf Linux-Rechner gehört. Zu erreichen mit
Eigentümer ändern

sv1@server: ~$ chown -R www-data:www-data /var/www/webdav

Natürlich muss der User (www-data) auch Schreibrechte auf dem Verzeichnis haben. Zu erlangen mit
Rechte ändern

sv1@server: ~$ chmod a+rw -R /var/www/webdav

User werden mit Hilfe von einer Datenbank mitgeloggt. Wie Oben angegeben wird eine DavLockDB in /usr/local/apache2/var/DavLock angelegt. Aber dieses Verzeichnis existiert noch nicht. Also muss es angelegt werden.
DAVLockDB anlegen und Rechte des Apache2 vergeben

sv1@server: ~$ mkdir /usr/local/apache2
sv1@server: ~$ mkdir /usr/local/apache2/var/
sv1@server: ~$ chown -R www-data:www-data /usr/local/apache2/var/
sv1@server: ~$ chmod a+rw -R /usr/local/apache2/var/

Nun ist alles eingerichtet und kann aktiviert werden.

Neustart des Apache2


Abschließend muss noch ein Neustart des Apache2 durchgeführt werden.

Neustart des Apache2

sv1@server:~$ /etc/init.d/apache2 restart


Notice: Undefined variable: urli in /var/www/stefan/howtux.de/htdocs/classes.php on line 240
Bookmark auf del.icio.usBookmark auf Mister WongBookmark auf BlinklistBookmark auf GoogleBookmark auf LinkarenaBookmark auf YiggBookmark auf FolkdBookmark auf Yahoo
Home / Client / Server Dienste / WebDAV
simplum