Apache/17 Erweiterungen/WebDAV: Unterschied zwischen den Versionen
K Textersetzung - „»“ durch „''“ |
K Textersetzung - „«“ durch „''“ |
||
| Zeile 10: | Zeile 10: | ||
=== 17.1.1 Konfigurationsbeispiel === | === 17.1.1 Konfigurationsbeispiel === | ||
Bevor in Abschnitt 17.1.2, ''DAV- | Bevor in Abschnitt 17.1.2, ''DAV-Direktiven'', die einzelnen Konfigurationsanweisungen von mod_dav und mod_dav_fs besprochen werden, sehen Sie hier zunächst ein Komplettbeispiel. Bei WebDAV müssen Sie besonders auf die Sicherheit achten. Schließlich wird den entsprechenden Usern der Schreibzugriff erlaubt. Sie sollten für das entsprechende Verzeichnis also unbedingt Authentifizierungseinstellungen verwenden. Details zu den verschiedenen Verfahren finden Sie in Kapitel 9, ''Authentifizierung, Autorisierung und Zugriffskontrolle''. | ||
Das folgende Beispiel aktiviert ein DAV-Verzeichnis unter www.mynet.de/dav; der Zugriff ist (außer für harmlose HTTP-Methoden) auf die Benutzer aus der Textdatei .htdav zur Basic-Authentifizierung beschränkt: | Das folgende Beispiel aktiviert ein DAV-Verzeichnis unter www.mynet.de/dav; der Zugriff ist (außer für harmlose HTTP-Methoden) auf die Benutzer aus der Textdatei .htdav zur Basic-Authentifizierung beschränkt: | ||
Version vom 31. März 2025, 12:14 Uhr
Beschreibung
Web-based Distributed Authoring and Versioning (WebDAV) ist eine Technologie, die den Zugriff auf Dateien und Verzeichnisse im Web beinahe so flexibel gestaltet wie die Arbeit mit lokalen Dateien und Ordnern. Es handelt sich um ein in RFC 2518 standardisiertes Verfahren, das einige Erweiterungsmethoden zu HTTP definiert.
Für den Zugriff auf ein DAV-Verzeichnis benötigen Sie einen passenden Client. Unter Windows ist die Unterstützung durch die sogenannten Webordner bereits eingebaut; auch grafische Website-Editoren wie Macromedia Dreamweaver und Adobe GoLive verfügen über diese Funktion. WebDAV ist nämlich erheblich praktischer für die Pflege einer Website als FTP.
Apache 2 enthält mit mod_dav eine eingebaute Implementierung des WebDAVProtokolls. In diesem Abschnitt werden alle Direktiven dieses Moduls vorgestellt.
Die DAV-Implementierung in Apache arbeitet auch hier nach dem Prinzip, das in diesem Buch bereits für mod_proxy und mod_cache beschrieben wurde: mod_dav stellt die Grundfunktionalität zur Verfügung; Provider-Module implementieren eine bestimmte konkrete Variante. Mit Apache 2 wird zurzeit nur das ProviderModul mod_dav_fs geliefert, das ebenfalls aktiviert werden muss. Es verwirklicht DAV-Verzeichnisse auf der Basis des lokalen Dateisystems.
17.1.1 Konfigurationsbeispiel
Bevor in Abschnitt 17.1.2, DAV-Direktiven, die einzelnen Konfigurationsanweisungen von mod_dav und mod_dav_fs besprochen werden, sehen Sie hier zunächst ein Komplettbeispiel. Bei WebDAV müssen Sie besonders auf die Sicherheit achten. Schließlich wird den entsprechenden Usern der Schreibzugriff erlaubt. Sie sollten für das entsprechende Verzeichnis also unbedingt Authentifizierungseinstellungen verwenden. Details zu den verschiedenen Verfahren finden Sie in Kapitel 9, Authentifizierung, Autorisierung und Zugriffskontrolle.
Das folgende Beispiel aktiviert ein DAV-Verzeichnis unter www.mynet.de/dav; der Zugriff ist (außer für harmlose HTTP-Methoden) auf die Benutzer aus der Textdatei .htdav zur Basic-Authentifizierung beschränkt:
DavLockDB /usr/local/apache2/var/DavLock <Location /dav> Dav On AuthType Basic AuthName WebDAV AuthUserFile .htdav <LimitExcept GET HEAD OPTIONS> Require valid-user </LimitExcept> </Location>
DAV-Direktiven
Im Folgenden finden Sie die Referenz der Direktiven, die die Module mod_dav und mod_dav_fs bereitstellen.
DAV WebDAV-HTTP-Methoden aktivieren
Modul mod_dav Kontext <Directory>, <Location>, <Files> Syntax Dav On|Off|Provider-Name Standardwert Off
WebDAV 17.1
Ein Verzeichnis oder URL-Pfad, für den die WebDAV-Funktionalität eingeschaltet werden soll, benötigt diese Direktive. Sie kann nur in Verzeichniskontexten eingesetzt werden. Um DAV in einem bestimmten Container zu aktivieren, können Sie folgende Anweisung verwenden:
Dav On
Dies schaltet die Funktionalität von mod_dav_fs ein. Wenn später andere Provider-Module zur Verfügung stehen, muss anstelle von On der Name des jeweiligen Providers verwendet werden; für den Dateisystem-Provider können Sie alternativ auch Folgendes schreiben:
Dav filesystem
DavDepthInfinity Ermöglicht PROPFIND-Anfragen mit beliebiger Tiefe.
Modul mod_dav Kontext Server, <VirtualHost>, <Directory>, <Location>, <Files> Syntax DavDepthInfinity on|off Standardwert off
Wenn Sie diese Direktive aktivieren, werden PROPFIND-Anfragen mit dem Header Depth: Infinity zugelassen. Mit anderen Worten: Clients wird erlaubt, zum Auffinden von Ressourcen beliebig tiefe Verzeichnisstrukturen zu durchsuchen. Sie sollten Ihre User genau kennen (oder selbst der einzige User sein), bevor Sie hier den Wert On setzen. Da das Verfahren recht ressourcenhungrig ist, lässt es sich nämlich für DoS-Attacken missbrauchen.
DavMinTimeout Mindestzeit für Sperren einer DAV-Ressource
Modul mod_dav Kontext Server, <VirtualHost>, <Directory>, <Location>, <Files> Syntax DavMinTimeout Sekunden Standardwert 0
Wenn ein DAV-Client eine Ressource anfordert, wird diese standardmäßig für eine bestimmte Zeit gesperrt. Diese Direktive ermöglicht es Ihnen, eine Mindestsperrzeit einzurichten, die auch dann verwendet wird, wenn der Client eine kürzere Zeit angefordert hat. Das folgende Beispiel stellt fünf Minuten ein:
DavMinTimeout 300
DavLockDB Pfad der DAV-Lock-Datenbank
Modul mod_dav_fs Kontext Server, <VirtualHost> Syntax DavLockDB Dateipfad Standardwert nicht gesetzt
Diese Direktive wird vom Modul mod_dav_fs bereitgestellt. Es handelt sich um den Pfad für eine SDBM-Datei, die verwendet wird, um Informationen über ausgecheckte und gesperrte Dateien zu speichern. Sie müssen den vollständigen Pfad der Datei angeben, allerdings ohne Dateiendung. Die User-ID, unter der Apache ausgeführt wird, benötigt Schreibrechte für das entsprechende Verzeichnis. Wenn Sie einen relativen Pfad angeben, gilt er relativ zur ServerRoot. Beispiel:
DavLockDB var/DavLockDB
DavGenericLockDB Pfad einer verallgemeinerten DAV-Lock-Datenbank
Seit Version 2.1-beta Modul mod_dav_lock Kontext Server, <VirtualHost> Syntax DavGenericLockDB Dateipfad Standardwert nicht gesetzt
Das in Apache 2.1 neu eingeführte Modul mod_dav_lock implementiert nur diese eine Direktive. Sie stellt eine verallgemeinerte Locking-Schnittstelle für ProviderModule zur Verfügung; innerhalb von Apache ist bisher kein solches Modul enthalten. mod_dav_fs verwendet sein eigenes Locking-Verfahren und benötigt diese Direktive nicht.