Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


WebDAV

Installation/Konfiguration ] Status/Info ] UserDir ] Virtuelle Hosts ] Authentifizierung ] CGI ] mod_perl ] PHP ] SSI ] SSL ] [ WebDAV ] Log-Dateien ] ht://Dig ]


'WebDAV' steht für 'Web Distributed Authoring and Versioning' und stellt eine Erweiterung des Protokolls: 'HTTP/1.1' dar. Es erlaubt, Dateien und Verzeichnisse direkt via 'HTTP'- / 'HTTPS'-Protokoll auf dem Webserver zu bearbeiten. Mögliche Funktionen sind u.a. das Erzeugen, Verschieben oder Kopieren von Dateien oder auch das Löschen von Ressourcen direkt auf dem Server. Vorraussetzung hierfür ist ein entsprechender Client der auch das 'WebDAV'-Protokoll beherrscht. Ein Vorteil von 'WebDAV' ist, da es zumeist über das Protokoll: 'HTTP' (Port: '80') bzw. auch 'HTTPS' (Port: '443') betrieben wird, wird so keine extra Port-Freigeben in der Firewall benötigt.

Im Folgenden wird gezeigt, wie eine 'WebDAV'-Server unter Apache (Linux) realisiert werden kann. Weiterhin werden kurz verschiedene 'WebDAV'-Clients unter Linux und Windows vorgestellt. Da die unterschiedlichen Clients und Betriebssysteme, von denen aus auf dem 'WebDAV'-Server zugegriffen werden soll, verschiedene Anforderungen bezüglich der Verbindung bzw. Authentifizierung haben, werden diese Dinge ebenfalls kurz erwähnt.

WebDAV-Server

Die nun folgende Beispiel-Konfiguration eines möglichen 'WebDAV'-Servers sollte, aus Client-Sicht unter Linux- und Windows-Clients, sowie mit dem gängigsten Browsern wie Konqueror (KDE), Nautilus (Gnome), Firefox (Linux / Windows) und den unterschiedlichen MS-Internet-Explorern ('IE6' / 'IE7') zusammenarbeiten. Gerade bei Microsoft ist die Version des Betriebssystems (auch von den Browsern: 'IE6' / 'IE7') und sogar das eingesetzte Service-Pack für einen erfolgreichen Zugang maßgeblich verantwortlich. So ist mit Windows-Clients eine 'SSL'-Verschlüsselung und Authentifizierung zwingend notwendig.

Damit 'WebDAV' auf dem Apache unterstützt wird, müssen zunächst erst die entsprechenden Module hierfür aktiviert werden. Es handelt sich hierbei um die beiden Module: 'mod_dav' und 'mod_dav_fs'. Unter Debian-Linux können diese Module bequem wie folgt aktiviert werden:

a2enmod dav_fs
a2enmod dav

Je nachdem welcher Authentifizierung-Typ eingesetzt werden soll, muss natürlich auch das entsprechende Modul hierzu aktiviert werden:

a2enmod auth_basic
a2enmod auth_digest

In der weiter unten folgenden Konfigurationsdatei kann zwischen 'Basic'- und 'Digest'- Authentifizierung gewählt werden. Bei einer 'Basic'-Authentifizierung wird das Passwort in Klarschrift übertragen. Bei der 'Digest'-Authentifizierung hingegen, wird das Passwort verschlüsselt übermittelt.

Weiterhin ist das Verzeichnis zu erstellen, welches den 'WebDAV'-Bereich auf dem Server repräsentiert:

mkdir /var/www/webdav
chown -R www-data:www-data /var/www/webdav
chmod 755 -R /var/www/webdav

Das 'WebDAV'-Verzeichnis muss nicht im Bereich des Apaches liegen, wichtig ist nur dann, dass dieses bei der Konfiguration des Apaches entsprechend mit einem 'Alias' berücksichtigt wird. Da Apache unter Debian-Linux als Benutzer 'www-data' läuft, ist der Benutzer und die Gruppe entsprechend mit 'chown' zu setzen. Auch sind die Rechte mit 'chmod' so anzupassen, dass der Benutzer 'www-data' auch schreiben darf.

Als nächstes ist die eigentliche Konfiguration für den 'WebDAV'-Server zu erstellen, die im Folgenden als virtueller-Host gezeigt wird. Hierzu ist unter '/etc/apache2/sites-available/' die Konfigurationsdatei für den virtuellen-Host zu erstellen (hier: 'webdav'):

/etc/apache2/sites-available/webdav

<VirtualHost *:443>
     ServerName webdav.server.dyndns.org
     ServerAlias *.webdav.tld

     DocumentRoot /var/www/webdav/

     SSLEngine On
     SSLCertificateFile /etc/apache2/apache.pem

     DavLockDB /var/lock/apache2/DAVLock
     DAVMinTimeOut 120

     <Directory /var/www/webdav/>

         # enable WebDAV
         DAV On

         # allow only SSL-access
         SSLRequireSSL

         # ignores '.htacces'-files (security)
         AllowOverride None

         # list directories
         Option Indexes

         # delivers files as plain-text
         ForceType text/plain   # delivers files as plain-text

         # --- With auth_basic ---
         # create the password-file e.g. with: 'htpasswd -c /etc/apache2/passwd.auth_basic <User>'
         AuthType Basic
         AuthName "WebDAV-Area"
         AuthBasicProvider file
         AuthUserFile /etc/apache2/passwd.auth_basic

         # --- With auth_digest ---
         # create the password-file e.g. with: 'htdigest -c /etc/apache2/passwd.auth_digest "WebDAV-Area" <User>'
         # AuthType Digest
         # AuthName "WebDAV-Area"
         # AuthDigestDomain https://webdav.server.dyndns.org
         # AuthDigestProvider file
         # AuthUserFile /etc/apache2/passwd.auth_digest

         Require valid-user

    </Directory>
</VirtualHost>

Bei diesem Beispiel der Konfigurations-Datei für den 'WebDAV'- Server kommen verschiedene einzelne Themen-Gebiete des Apaches in Kombination zum Einsatz; das sind 'Virtuelle-Hosts', 'SSL' und 'Authentifikation' und natürlich 'WebDAV'. Eine genauere Beschreibung von 'Virtuelle Hosts' (blaue Markierung), 'SSL' (grüne Markierung) und 'Authentifizierung' (rote / orange Markierung) ist auf den vorangegangen Seiten dieses Kapitels zu finden.
Je nach dem welche Authentifizierung gewünscht ist der entsprechende Block zu aktivieren, d.h. für 'Basic' ist der rote Block und für 'Digest' der orange Block auszukommentieren.

Der eigentliche 'WebDAV'-Anteil in der Konfiguration beschränkt sich auf den gelb markierten Zeilen. Mit der Anweisung 'DAV On' werden 'WebDAV'-Zugriffe für den vorgesehenen Bereich aktiviert.
Damit gleichzeitige Zugriffe mehrerer Anwender auf dieselben Dateien, nicht zu Datenverlust führen, muss sich der Apache das Sperren auf Dateien merken (Locks). Dazu dient eine Lock-Datenbank, die das Modul 'mod_dav_fs' automatisch anlegt und verwaltet. Mit dem Direktive 'DavLockDB' wird der Pfad zur Datenbank gesetzt. Unter Debian ist die Datei: '/var/lock/apache2/DAVLock' eigentlich schon vorhanden und mit entsprechenden Rechten versehen. Sollte die Datei dennoch nicht vorhanden sein, kann sie wie folgt erstellt werden:

mkdir /var/lock/apache2
chown -R www-data:root /var/lock/apache2
touch /var/lock/apache2/DAVLock
chown www-data:www-data /var/lock/apache2/DAVLock
chmod 755 /var/lock/apache2/DAVLock

Durch Aktivieren des Parameters 'DAVMinTimeOut' kann ein Zeitlimit (in Sekunden) angegeben werden. Nach Ablauf dieses Zeitlimits hebt der Server automatisch nicht erneuerte Sperren auf; der Defaultwert ist '0'.

Nachdem die Konfigurations-Datei für 'WebDAV' erstellt ist, kann der virtuelle-Host aktivieren werden. Unter Debian ist dieses am einfachsten mit folgenden Aufruf möglich:

a2ensite webdav

Weiterhin ist noch, je nach dem welcher Authentifizierungs-Typ gewählt wurde, die entsprechende Passwort-Dateien zu erzeugen. Für die 'Basic'-Authentifizierung kann dieses wie folgt geschehen:

htpasswd -c /etc/apache2/passwd.auth_basic <User>

Wurde die 'Digest'-Authentifizierung gewählt, kann die Passwort-Datei wie folgt erzeugt werden.

htdigest -c /etc/apache2/passwd.auth_digest "WebDAV-Area" <User>

Bei beiden Varianten dient die Option '-c' zum neu Erstellen der Passwort-Datei. Sollen mehrere Benutzer in der Passwort-Datei aufgenommen werden, so ist das Kommando ohne '-c' auszuführen. Beim Erstellen einer 'Digest'-Passwort-Datei ist darauf zu achten, dass der dritte Parameter (hier 'WebDAV-Area') mit dem unter 'AuthName' konfigurierten Bezeichner in der Konfigurationsdatei übereinstimmen muss.

Da Module und Sites aktiviert wurden, ist der Apache-Server mit:

/etc/init.d/apache2 force-reload

neu zu starten. Dabei sollten die 'Log'-Dateien beobachtet werden, um evtl. Fehler bei der Konfiguration auszuschließen.

WebDAV-Clients

Um auf einen 'WebDAV'-Server zuzugreifen zu können wird ein entsprechender Client benötigt. Jedoch verhalten sich die einzelnen Betriebssysteme und deren Clients leider sehr unterschiedlich bezüglich Passwort-Übertragung und Verschlüsselung. In Verlauf werden einige Clients unter Linux und Windows kurz vorgestellt und deren Eigenarten erläutert.

Zugriff unter Linux auf WebDAV

Cadaver

Als Kommandozeilen-Client für 'WebDAV' ist 'Cadaver' zu nennen, der ähnlich wie der 'FTP'-Client auf der Kommandozeile zu bedienen ist. Unter Debian kann 'Cadaver' leicht mittels 'apt-get install cadaver' installiert werden. Leider wird im Standard-Archiv von Debian die Version mit 'SSL'-Unterstützung nicht angeboten. Die 'SSL'-Version kann jedoch unter 'http://ftp.debian-unofficial.org/' herunter geladen und anschließend installiert werden:

wget http://ftp.debian-unofficial.org/debian/pool/main/c/cadaver-ssl/cadaver-ssl_0.22.2-1.1duo+etch1_i386.deb
dpkg -i cadaver-ssl_0.22.2-1.1duo+etch1_i386.deb

Auf der Kommandozeile kann nun 'Cadaver' z.B. wie folgt benutzt werden:

cadaver https://webdav.server.dyndns.org

Nach dem Login-Vorgang durch Eingabe von Benutzer und Passwort können diverse Aktionen ausgeführt werden. Eine Übersicht aller Kommandos kann durch Eingabe von 'help' ausgegeben werden.

Nautilis / Konqueror

Verfügt das Linux-System über eine grafische Oberfläche, so kann direkt mit den jeweiligen Browsern: 'Nautilus' (Gnome) oder 'Konqueror' (KDE) auf ein 'WebDAV'-Verzeichnis zugegriffen werden.

Beim 'Nautilus' ist im Hauptmenü: 'Datei / Mit Server verbinden...' zu wählen. Im darauf sich öffnenden Fenster kann in der obersten Zeile: 'Dienste-Typ' zwischen 'WebDAV (HTTP)' oder 'Sicheres WebDAV (HTTPS)' gewählt werden. Alle weiteren einzugebenden Parameter sollten selbsterklärend sein, in einem weiteren Fenster kommt es zur Passwort-Abfrage, danach sollte die Verbindung gegeben sein.

Beim 'Konqueror' kann direkt in der Adresszeile z.B.: 'webdav://webdav.server.dyndns.org/' bzw. für eine sichere Verbindung über 'HTTPS': 'webdavs://webdav.server.dyndns.org/' eingegeben werden. Im darauf folgenden Fenster sind wie gehabt die Zugangsdaten einzugeben.

Mozilla - Firefox

Der Mozilla-Firefox ist von Haus aus nicht in der Lage auf ein 'WebDAV'-Laufwerk zuzugreifen, damit dieses möglich wird muss ein Add-on: 'Open as Webfolder' im Firefox installiert werden. Nachdem das Add-on installiert ist, kann über rechter Maustaste auf das 'WebDAV' zugegriffen werden.

Ein weiterhin interessantes Add-on für den Firefox bezüglich 'WebDAV' ist 'Bookmark Sync and Sort', womit es möglich ist die Bookmarks vom Firefox auf einen 'WebDAV'-Server zu speichern und zu synchronisieren sowie zu sortieren.

Die beiden angesprochenen Add-ons können selbstverständlich auch in der Windows-Version von Firefox genauso eingesetzt werden.

Zugriff unter Windows auf WebDAV

Internet-Explorer

Mit dem Internet-Explorer kann am einfachsten auf ein 'WebDAV'-Verzeichnis zugegriffen werden, indem man unter 'Datei / Öffnen...' einfach die Adresse eingibt, z.B.:

 

Wichtig hierbei ist, dass die Check-Box: 'Als Webordner öffnen' aktiviert ist. Nach akzeptieren des 'SSL'-Zertifikates, sollte es zum Login-Dialog kommen, danach sollte die Struktur des 'WebDAV' im Internet-Explorer sichtbar werden.

Netzwerkumgebung

Ähnlich wie beim Internet-Explorer kann unter Windows auch unter der 'Netzwerkumgebung' ein 'WebDAV'-Server verbunden werden. Dazu ist innerhalb der 'Netzwerkumgebung' auf 'Netzwerkressource hinzufügen' zu klicken, wonach sich ein Assistent öffnen sollte:

 

Der Vorgang ist nun mit 'Weiter' zu bestätigen. Danach ist der Dienstanbieter auszuwählen und ebenfalls mit 'Weiter' zu bestätigen.

 
Als nächstes ist die Adresse einzugeben und mit 'Weiter' zu bestätigen. Nach Akzeptanz des 'SSL'-Zertifikates sollte es zum Login-Dialog kommen. Zum Schluss kann ein freier Name für die Ressource gewählt werden.

 

Mit 'Fertigstellen' sollte nun auf den 'WebDAV'-Bereich zugegriffen werden können.

NetDrive von Novell

Mit dem Programm 'NetDrive' von der Firma Novell können Verzeichnisse von einem 'FTP'- oder 'WebDAV'-Server unter Windows einem Laufwerks-Buchstaben zugewiesen und darüber angesprochen werden. Damit kommen die meisten Programme besser zurecht, als mit einer Verknüpfung in der Netzwerkumgebung. Ein Nachteil von NetDrive ist, das Programm kann nicht mit der Authentifizierungs-Methode 'Digest' umgehen, 'SSL'-Unterstützung ist jedoch gegeben.
Leider kann man das freie Programm nicht mehr direkt von der Homepage von Novell herunterladen, auch ist kein Support mehr gegeben. Durch Suche mittels Suchmaschine im Internet ist das Programm jedoch noch auf einigen Sites zu finden.
Nachdem NetDrive heruntergeladen und installiert wurde, kann die Einrichtung für den Zugriff auf ein 'WebDAV'-Server geschehen. Bezogen auf das obige Beispiel, kann die Konfiguration wie folgt aussehen:

Wichtig ist der Servertyp: 'WebDAV' und die Zuweisung eines freien Laufwerksbuchstaben. Nach dem 'Verbinden', sollte sich im Windows-Explorer unter 'Arbeitsplatz' das neue Laufwerk eingebunden haben, mit dem wie gewohnt gearbeitet werden kann.

Anmerkungen

Unter Linux kann man auch alternativ das 'WebDAV'-Laufwerk ins Dateisystem des lokalen Rechners einbinden. Dies geschieht durch den Treiber: 'davfs2', der unter Debian mit 'apt-get install davfs2' zu installieren ist. Nun kann mittels 'mount' die 'WebDAV'-Ressource gemountet werden. Möchte man die 'WebDAV'-Ressource permanent mounten, so ist ein Eintrag in die '/etc/fstab' -Datei vorzunehmen.

Als weiteres Programm auf Kommandozeilen-Ebene unter Linux welches 'WebDAV' unterstützt ist 'sitecopy' zu nennen. Es dient dem Abgleich der lokal und auf dem Webserver vorhandenen Dateien, aktualisiert geänderte, löscht alte etc. Um die Installation auf einem Debian-System durchzuführen, kann 'apt-get install sitecopy' eingegeben werden. Wie 'sitecopy' zu benutzen ist, kann den Manualseiten entnommen werden.

Windows deaktiviert (bei XP ab SP2) aus Sicherheitsgründen die Standardauthentifizierung für 'WebDAV', diese hat zur Folge, dass evtl. nicht mehr auf das 'WebDAV'-Verzeichnis zugegriffen werden kann. Damit wieder zugegriffen werden kann, muss auf dem Client wieder die Standardauthentifizierung aktivieren werden. Dazu ist in der Registrierung folgender Wert abzuändern:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\UseBasicAuth

Der Wert 'UseBasicAuth' als Datentyp 'REG_DWORD' ist auf '1' zu setzen ('1' = Standardauthentifizierung aktivieren; '0' Standardauthentifizierung deaktivieren (Standard).

Von Microsoft gibt es ein Softwareupdate für Webordner (KB907306), dieses Update behebt verschiedene Probleme bei der Verwendung von Webordnern auf Client-Computern zum Herstellen einer Verbindung mit einem Server, der 'WebDAV' unterstützt. Außerdem enthält das Update Sicherheitsverbesserungen für Webordner.

Weitere Infos

Homepage: WebDAV http://www.webdav.org/
WebDAV Projects http://www.webdav.org/projects/
Apache Module mod_dav http://httpd.apache.org/docs/2.2/mod/mod_dav.html
Apache Module mod_dav_fs http://httpd.apache.org/docs/2.2/mod/mod_dav_fs.html
Apache Module mod_dav_lock http://httpd.apache.org/docs/2.2/mod/mod_dav_lock.html
Authentication, Authorization and Access Control http://httpd.apache.org/docs/2.2/howto/auth.html
Firefox Add-on: 'Open as Webfolder' https://addons.mozilla.org/de/firefox/addon/540
Firefox Add-on: 'Bookmark Sync and Sort' https://addons.mozilla.org/de/firefox/addon/2367
WebDAV Linux File System (davfs2) http://dav.sourceforge.net/
Homepage: sitecopy http://www.lyra.org/sitecopy/
Microsoft Softwareupdate für Webordner (KB907306) http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=17c36612-632e-4c04-9382-987622ed1d64

Home ] Nach oben ] Installation/Konfiguration ] Status/Info ] UserDir ] Virtuelle Hosts ] Authentifizierung ] CGI ] mod_perl ] PHP ] SSI ] SSL ] [ WebDAV ] Log-Dateien ] ht://Dig ]

letzte Änderung: 10. Februar 2008

 

Copyright © 2004 Norbert Eusterholz