WebDAV mit ISPConfig 3 unter Ubuntu 9.10 verwenden
Diese Anleitung erläutert, wie Sie WebDAV auf einer Website einrichten und verwenden, die mit ISPConfig 3 auf einem Ubuntu 9.10-Server erstellt wurde. WebDAV steht für Web-based Distributed Authoring and Versioning und ist eine Reihe von Erweiterungen des HTTP-Protokolls, die es Benutzern ermöglichen, Dateien direkt auf dem Apache-Server zu bearbeiten, sodass sie nicht per FTP heruntergeladen/hochgeladen werden müssen. Natürlich kann WebDAV auch zum Hoch- und Herunterladen von Dateien verwendet werden.
Ich gebe keine Garantie dafür, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
Ich verwende hier einen Ubuntu 9.10-Server mit dem Hostnamen server1.example.com.
Da wir alle Schritte aus diesem Tutorial mit Root-Rechten ausführen müssen, können wir entweder allen Befehlen in diesem Tutorial die Zeichenfolge sudo voranstellen oder wir werden sofort root, indem wir
eingebensudo su
Ich gehe davon aus, dass ISPConfig 3 bereits installiert ist (laut The Perfect Server - Ubuntu 9.10 [ISPConfig 3]). Ich werde WebDAV für die Website www.example.com / example.com (die mit ISPConfig 3 erstellt wurde) aktivieren, die das Dokumentenstammverzeichnis /var/www/clients/client1/web1/web (oder /var/www/example .com/web, was ein symbolischer Link zu /var/www/clients/client1/web1/web ist).
Der vhost www.example.com / example.com sieht derzeit wie folgt aus:
cat /etc/apache2/sites-available/example.com.vhost
<Directory /var/www/example.com> AllowOverride None Order Deny,Allow Deny from all </Directory> <VirtualHost *:80> DocumentRoot /var/www/example.com/web ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] 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 <Directory /var/www/example.com/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <Directory /var/www/clients/client1/web1/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> # mod_php enabled AddType application/x-httpd-php .php .php3 .php4 .php5 php_admin_value sendmail_path "/usr/sbin/sendmail -t -i [email protected]" 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 </VirtualHost> |
2 Aktivieren von WebDAV
Wir können die WebDAV-Module wie folgt aktivieren:
a2enmod dav_fs
a2enmod dav
Starten Sie Apache neu:
/etc/init.d/apache2 restart
3 Konfigurieren Sie den virtuellen Host für WebDAV
Jetzt erstellen wir die WebDAV-Passwortdatei /var/www/clients/client1/web1/passwd.dav mit dem Benutzertest (der Schalter -c erstellt die Datei, falls sie nicht existiert):
htpasswd -c /var/www/clients/client1/web1/passwd.dav test
Sie werden aufgefordert, ein Passwort für den Benutzertest einzugeben.
(Bitte verwenden Sie den Schalter -c nicht, wenn /var/www/clients/client1/web1/passwd.dav bereits existiert, da dies die Datei von Grund auf neu erstellt, was bedeutet, dass Sie alle Benutzer in dieser Datei verlieren!)
Jetzt ändern wir die Berechtigungen der Datei /var/www/clients/client1/web1/passwd.dav so, dass nur root und die Mitglieder der Gruppe 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
Jetzt gehen wir in ISPConfig 3 auf die Registerkarte Optionen der Website www.example.com / example.com und fügen die folgenden Zeilen in das Feld Apache-Anweisungen ein:
<Directory /var/www/clients/client1/web1/web> Options +Indexes +MultiViews </Directory> Alias /webdav /var/www/clients/client1/web1/web <Location /webdav> DAV On AuthType Basic AuthName "webdav" AuthUserFile /var/www/clients/client1/web1/passwd.dav Require valid-user </Location> |
Die Alias-Direktive sorgt (zusammen mit
Nach ein paar Augenblicken (ISPConfig 3 muss den vhost erst umschreiben) sollte der endgültige vhost so aussehen:
cat /etc/apache2/sites-available/example.com.vhost
<Directory /var/www/example.com> AllowOverride None Order Deny,Allow Deny from all </Directory> <VirtualHost *:80> DocumentRoot /var/www/example.com/web ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] 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 <Directory /var/www/example.com/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <Directory /var/www/clients/client1/web1/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> # mod_php enabled AddType application/x-httpd-php .php .php3 .php4 .php5 php_admin_value sendmail_path "/usr/sbin/sendmail -t -i [email protected]" 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 <Directory /var/www/clients/client1/web1/web> Options +Indexes +MultiViews </Directory> Alias /webdav /var/www/clients/client1/web1/web <Location /webdav> DAV On AuthType Basic AuthName "webdav" AuthUserFile /var/www/clients/client1/web1/passwd.dav Require valid-user </Location> </VirtualHost> |
Da mod_dav mit den Rechten des Apache-Benutzers und der Apache-Gruppe (beide www-data auf Ubuntu) läuft, müssen wir den Besitzer und die Gruppe von /var/www/clients/client1/web1/web rekursiv in www-data ändern (ansonsten Sie dürfen keine Dateien/Verzeichnisse mit WebDAV erstellen/bearbeiten/löschen):
chown -R www-data:www-data /var/www/clients/client1/web1/web
Bitte beachten Sie, dass dies Probleme mit PHP-Dateien verursachen kann, wenn Sie PHP über FastCGI, CGI oder suExec ausführen. Es ist kein Problem, wenn Sie mod_php verwenden.
Sie können jetzt mit der Verwendung von WebDAV beginnen, wie in den Kapiteln 5, 6 und 7 des Tutorials How To Set Up WebDAV With Apache2 On Ubuntu 9.10 beschrieben. Die WebDAV-URL lautet http://www.example.com/webdav/ für Linux-Clients und http://www.example.com:80/webdav/ für Windows-Clients.
4 Links
- WebDAV:http://www.webdav.org/
- Apache:http://httpd.apache.org/
- Ubuntu:http://www.ubuntu.com/
- ISPConfig:http://www.ispconfig.org/