Verwendung von WebDAV mit ISPConfig3

Autor: Alexander Fox

Create: 15/03/10

Version 1.0

Folge mir auf Twitter
Orginal: Falko Timme

Dieses Howto beschreibt wie man WebDav auf einer Webseite nutzen kann, die mit ISPConfig3 auf einem Debian Lenny Server erstellt worden ist. WebDav (Web-based Distributed) ist ein offener Standard zur Bereitstellung von Dateien im Internet. Dabei können Benutzer auf ihre Daten wie auf einer online Festplatte zugreifen. Mit WebDav können ganze Verzeichnisse übertragen werden. Zudem ist eine Versionskontrolle spezifiziert. WebDav ist eine Erweiterung des HTTP/1.1 Protokolls, die bestimmte Einschränkungen von HTTP aufhebt.Man kann die Dateien direkt auf dem Webserver bearbeiten ohne Download und Upload mit FTP.

Ich gebe keine Garantie dass diese HowTo genauso auch bei Dir funktioniert - so funktioniert es bei mir.

 

1.Schritt

Ich verwende einen Debian Lenny Server mit dem Hostnamen server1.example.com hier. Wir müssen alle Schritte in diesem Howto als root ausführen. Dazu werden wir mittels su zu root

su

Ich gehe davon aus das Ihr bereits ISPConfig3 auf dem Server Installiert habt, falls nicht findet Ihr hier das HowTo zu einer ISPConfig 3 Installation. Ich möchte für die Webseite www.example.com (diese wurde mit ISPConfig3 erstellt), die im Dokument Rootordner /var/www/clients/client1/web1/web (oder /var/www/example.com/web mit Symlink auf /var/www/clients/client1/web1/web ) zu finden ist, WebDav nutzen.

Die aktuelle vhost Konfiguration sieht derzeit so aus:

cat /etc/apache2/sites-available/example.com.vhost

 


AllowOverride None Order Deny,Allow Deny from all DocumentRoot /var/www/example.com/web ServerName example.com ServerAlias www.example.com ServerAdmin webmaster@example.com ErrorLog /var/log/ispconfig/httpd/example.com/error.log ErrorDocument 400 /error/400.html ErrorDocument 401 /error/401.html ErrorDocument 403 /error/403.html ErrorDocument 404 /error/404.html ErrorDocument 405 /error/405.html ErrorDocument 500 /error/500.html ErrorDocument 503 /error/503.html Options FollowSymLinks AllowOverride All Order allow,deny Allow from all Options FollowSymLinks AllowOverride All Order allow,deny Allow from all # mod_php enabled AddType application/x-httpd-php .php .php3 .php4 .php5 php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fwebmaster@example.com" php_admin_value upload_tmp_dir /var/www/clients/client1/web1/tmp php_admin_value session.save_path /var/www/clients/client1/web1/tmp php_admin_value open_basedir /var/www/clients/client1/web1/web:/var/www/clients/client1/web1/tmp:/usr/share/php5

2. Aktiviere WebDav

Wir können mit folgenden Befehlen WebDav auf dem Server aktivieren:

a2enmod dav_fs
a2enmod dav

Nun startet ihr den Apache2 Webserver neu

/etc/init.d/apache2 restart

3. Konfiguriere den Virtual Host für WebDav

Wir erstellen die WebDav Passwort Datei in /var/www/clients/client1/web1/passwd.dav mit dem User test (dsa -c steht für create, also erstelle die Datei wenn sie nicht existiert)

htpasswd -c /var/www/clients/client1/web1/passwd.dav test
Du  wirst vom System gebeten ein Passwort für den User test einzugeben:

(bitte nutze -c nicht wenn /var/www/clients/client1/web1/passwd.dav schon existiert, ansonsten wird die Datei neu erstellt und Du verlierst alle alten bestehenden User)

Nun ändern wir die Berechtigungen für die Datei /var/www/clients/client1/web1/passwd.dav damit nur noch root und die usergruppe www-data darauf zugreifen können.

 

chown root:www-data /var/www/clients/client1/web1/passwd.dav

chmod 640 /var/www/clients/client1/web1/passwd.dav

Nun loggen wir uns im ISPConfig3 System unseres Servers ein und gehen auf der Option Tab in der Webseite www.example.com. Danach fügen wir folgende Daten hinzu:

 

Options +Indexes +MultiViews

 

Alias /webdav /var/www/clients/client1/web1/web

 

DAV On

AuthType Basic

AuthName "webdav"

AuthUserFile /var/www/clients/client1/web1/passwd.dav

Require valid-user

 

Die alias directive erstellt einen alias auf /webdav, Du kannst auf Dokumente im Rootverzeichnis des vhost zugreifen. Alle anderen URLs des vhosts werden normal über HTTP behandelt.

Nach einiger Zeit (ISPConfig 3 muss die vhost Datei neu schreiben), sollte der vhost so aussehen:

 

 

 

 

 

AllowOverride None

Order Deny,Allow

Deny from all

 

 

DocumentRoot /var/www/example.com/web

ServerName example.com

ServerAlias www.example.com

ServerAdmin webmaster@example.com

ErrorLog /var/log/ispconfig/httpd/example.com/error.log

ErrorDocument 400 /error/400.html

ErrorDocument 401 /error/401.html

ErrorDocument 403 /error/403.html

ErrorDocument 404 /error/404.html

ErrorDocument 405 /error/405.html

ErrorDocument 500 /error/500.html

ErrorDocument 503 /error/503.html

 

Options FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

 

 

Options FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

 

# mod_php enabled

AddType application/x-httpd-php .php .php3 .php4 .php5

php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fwebmaster@example.com"

php_admin_value upload_tmp_dir /var/www/clients/client1/web1/tmp

php_admin_value session.save_path /var/www/clients/client1/web1/tmp

php_admin_value open_basedir /var/www/clients/client1/web1/web:/var/www/clients/client1/web1/tmp:/usr/share/php5

 

Options +Indexes +MultiViews

 

Alias /webdav /var/www/clients/client1/web1/web

 

DAV On

AuthType Basic

AuthName "webdav"

AuthUserFile /var/www/clients/client1/web1/passwd.dav

Require valid-user

 

 

 

Aber mod_dav läuft mit den Rechten des Apache Users und der Gruppe ( www-data auf Debian ), wir müssen den Benutzer und die Gruppe von /var/www/clients/client1/web1/web auf www-data rekursiv setzen (anders hast Du keine Erlaubnis über WebDav Dateien und Ordnern  zu erstellen/editieren/löschen ). Daher ändern wir die Berechtigungen

chown -R www-data:www-data /var/www/clients/client1/web1/web

Bitte beachte dass es Probleme für PHP Dateien gibt, wenn Du PHP in diesem Web mit FASTCGI, CGI oder suExec laufen hast. Es ist aber kein Problem wenn du WebDav mit mod_php nutzt.

Du kannst nun WebDav nutzen im folgenden Howto ( http://www.howtoforge.de/howto/einrichtung-von-webdav-mit-apache2-auf-debian-lenny/2/ )von Falko findest du die Beschreibung zur Einrichtung unter Windows XP.

4.Links

1 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: triple5

WebDAV geht jetzt aber auch mit ISP-Config 3, ...