Einrichtung von WebDAV mit Apache2 auf Debian Lenny
Einrichtung von WebDAV mit Apache2 auf Debian Lenny
Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Diese Anleitung zeigt, wie man WebDAV mit Apache2 auf einem Debian Lenny Server einrichtet. WebDAV steht für Web-based Distributed Authoring and Versioning und ist eine Reihe von Erweiterungen für das HTTP Protokoll welches den Benutzern das direkte editieren von Dateien auf dem Apache Server erlaubt so das sie die Datei nicht erstüber FTP runter-und hochladen müssen. Natürlich kann WebDAV auch benutzt werden um Dateien runter- oder hoch zu laden.
Ich gebe keinerlei Garantie, das dies genauso bei euch funktioniert!
1 Vorwort
In diesem Beispiel, benutze ich Debian Lenny Server mit der IP-Adresse 192.168.0.100 .
2 Installation von WebDAV
Falls Apache noch nicht installiert ist, installiere es wie folgt:
aptitude install apache2
Anschließend, aktiviere die WebDAV Module:
a2enmod dav_fs
a2enmod dav
Starte Apache neu:
/etc/init.d/apache2 restart
3 Erstellen eines virtuellen Host
Ich werde nun einen Standard Apache vhost in dem Verzeichnis /var/www/web1/web erstellen.Dazu werde ich den die standard Apache vhost configuration in /etc/apache2/sites-available/default modifizieren. Falls du schon einen vhost hast welchen du für WebDAV verwenden möchtest, musst du die Einstellungen in diesem Tutorial deiner Situation anpassen.
Als Erstes erstellen wir das Verzeichnis /var/www/web1/web und machen den Apache Benutzer (www-data) zum Eigentümer von dem Verzeichnis:
mkdir -p /var/www/web1/web
chown www-data /var/www/web1/web
Dann machen wir ein Backup von den standard Apache vhost Einstellungen (/etc/apache2/sites-available/default) und erstellen unsere eigenen:
mv /etc/apache2/sites-available/default /etc/apache2/sites-available/default_orig
vi /etc/apache2/sites-available/default
NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www/web1/web/ <Directory /var/www/web1/web/> Options Indexes MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost> |
Dann reload Apache:
/etc/init.d/apache2 reload
4 Konfiguriere den virtuellen Host für WebDAV
Nun erstellen wir die WebDAV Passwort Datei /var/www/web1/passwd.dav mit dem Benutzer test (das -c erstellt die Datei, falls sie noch nicht existiert):
htpasswd -c /var/www/web1/passwd.dav test
Du wirst nach einem Passwort für den Benutzer test.
(Bette benutze nicht die -c Option, falls /var/www/web1/passwd.dav schon existiert, weil das wird die Datei von neuem Anlegen, das heißt, das du alle Benutzerdateien verlieren wirst!)
Nun ändern wir die Rechte von der /var/www/web1/passwd.dav Datei, sodass nur root und die Mitglieder der www-data Gruppe Zugriff drauf haben:
chown root:www-data /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav
Nun modifizieren wir unseren vhost in /etc/apache2/sites-available/default und fügen folgende 2 Zeilen hinzu:
vi /etc/apache2/sites-available/default
[...] Alias /webdav /var/www/web1/web <Location /webdav> DAV On AuthType Basic AuthName "webdav" AuthUserFile /var/www/web1/passwd.dav Require valid-user </Location> [...] |
Die Alias Vorschrift macht (zusammen mit <Location>) das wenn du /webdav auftufst, WebDAV aktiviert ist, aber du dennoch vollen Zugriff auf das Dokument root vom vhost hast. Alle anderen URLs von dem vhost sind immernoch „normale“ HTTP.
Letzenendes sollte der vhost so ausschauenThe final vhost should look like this:
NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www/web1/web/ <Directory /var/www/web1/web/> Options Indexes MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias /webdav /var/www/web1/web <Location /webdav> DAV On AuthType Basic AuthName "webdav" AuthUserFile /var/www/web1/passwd.dav Require valid-user </Location> </VirtualHost> |
Reload Apache anschließend:
/etc/init.d/apache2 reload
5 Teste WebDAV
Wir werden nun cadaver installieren, eine Kommandozeilen WebDAV klient:
aptitude install cadaver
Um zu testen ob WebDAV läuft, gib folgendes ein:
cadaver http://localhost/webdav/
Du solltest nach einem Benutzernamen aufgefordert werden. Gib test ein und dann das Passwort für den Benutzer test.Wenn alles gut verlaufen ist, solltest du Zugriff bekommen, was heißt, das WebDAV funtkioniert. Gib quit ein um die WebDAV Shell zu verlassen:
server1:~# cadaver http://localhost/webdav/
Authentication required for webdav on server `localhost‘:
Username: test
Password:
dav:/webdav/> quit
Connection to `localhost‘ closed.
server1:~#