WebDAV
Grundlagen
WebDAV ist eine interessante technische Möglichkeit, um Dateien und Ordner auf entfernten Rechnern abzulegen – im Prinzip also nichts anderes als das, was auch ftp und ssh ermöglichen. Also nichts Neues – oder doch? Wir wollen im Folgenden diese Technik genauer betrachten sowie die Stärken und Schwächen beleuchten. Des Weiteren betrachten wir die Voraussetzungen, die Sie auf der Client-Seite benötigen.
Erweiterung von HTTP
WebDAV (Web-based Distributed Authoring and Versioning) ist eine Erweiterung des Protokolls HTTP/1.1 und ein offener Standard zur Bereitstellung von Dateien im Internet. Hierbei werden bestimmte Einschränkungen von HTTP aufgehoben, und die Benutzer können auf ihre Daten wie auf eine Online-Festplatte zugreifen. Bei regulärem HTTP ist es nur möglich, einzelne Daten hochzuladen (z. B. in Formularen); mit WebDAV gibt es hier keine Grenzen – bis hin zum Verschieben von ganzen Verzeichnissen. Des Weiteren ist eine Revisionskontrolle ähnlich wie cvs oder svn implementiert.
An der Tatsache, dass es sich bei WebDAV »nur« um eine Erweiterung des HTTP-Protokolls handelt, kann man den wesentlichen Vorteil dieser Technik erkennen: Es nutzt den Standard-HTTP-Port (meist 80/TCP). Dadurch kann es in der Regel auch verwendet werden, wenn sich zwischen zwei Rechnern eine Firewall befindet. Bei anderen Übertragungsmethoden wie dem File Transfer Protocol (FTP) oder ssh müssen vielfach zusätzlich Ports der Firewall geöffnet werden. Dies bringt zwar meistens kein erhöhtes Sicherheitsrisiko mit sich, erhöht aber den Zeit- und Arbeitsaufwand, um eine Verbindung zu ermöglichen. Die erwähnte Revisionskontrolle ist weder bei ftp noch bei ssh »out of the box« möglich.
Entwicklung
Die Entwicklung von WebDAV begann im Jahre 1995, als sich mehrere Unternehmen und Organisationen (DARPA, Microsoft, Netscape, Novell, U.C Irvine, W3C, Xerox) unter der Führung von Jim Whitehead zusammenschlossen. Heute sind an WebDAV drei Arbeitsgruppen der IETF (Internet Engineering Task Force) beteiligt. Sie bilden gemeinsam die WebDAV Working Group, die DASL Working Group und die Delta-V Working Group. Das Ziel wurde bereits 1995 vereinbart und bestand in einem »editierbaren« Web.
Es wurde ziemlich schnell klar, dass das letztendliche Ergebnis dieser Arbeitsgruppe eine Erweiterung des HTTP-Protokolls sein würde (siehe hierzu Abschnitt 26.1, »Das HTTP-Protokoll«). Zu Beginn stand die Entwicklung des Distributed Authorings im Vordergrund. Die Funktionalität der Versionskontrolle wurde erst später in das System integriert. Detaillierte Informationen über die Anforderungen und die Spezifikationen des Protokolls sind in den beiden Dokumenten RFC 2291 (Anforderungen) und RFC 2518 (Protokoll) zu finden. Derzeitige Arbeiten konzentrieren sich auf eine Reihe von Erweiterungen, wie z. B. Authentifizierung, Redirection-Kontrolle und Sortierung von Einträgen in Collections.
Technische Hintergründe
WebDAV ist wie erwähnt eine Erweiterung von HTTP und benutzt hierfür XML (ExtensibleMarkup Language). Diese Methoden sind für die Gewährleistung der neuen Funktionalitäten (Locking, Propertys, Collections) notwendig. HTTP selbst definiert acht Methoden:* GET / PUT / DELETE – Eine Ressource anfordern, schreiben oder löschen (WebDAV: DELETE – eine Collection löschen)
- POST – Informationen an den Browser übermitteln (Formulardaten u. Ä.)
- HEAD – Ähnlich wie GET. Der Unterschied besteht darin, dass das System in seiner Response keinen Message-Body zurückgeben muss.
- OPTIONS – Information über eine Kommunikation anfordern, ohne eine Aktion auszuführen
- TRACE – Für Test- und Diagnosezwecke (Request/Response-Kette prüfen)
- CONNECT – Reserviert für das Tunneling bei Proxys
Weitere sieben Methoden werden speziell von WebDAV definiert:* LOCK – Setzt für den Überschreibschutz eine Sperre auf eine Collection oder Ressource.
- UNLOCK – Gibt eine gesperrte Collection oder Ressource wieder frei.
- PROPFIND – Liest Meta-Daten von Ressourcen oder Collections.
- PROPPATCH – Schreibt Meta-Daten von Ressourcen oder Collections.
- COPY – Kopiert Collections und Ressourcen innerhalb eines zusammenhängenden Namensraumes.
- MOVE – Verschiebt Collections und Ressourcen innerhalb eines zusammenhängenden Namensraumes.
- MKCOL – Erzeugt eine neue Collection.
Aktuelle Möglichkeiten
Im Großen und Ganzen sind es drei Anwendungsgebiete, auf denen WebDAV seine Vorteile ausspielen kann:
- Vereinfachung des Publizierens auf Webservern
Erstellte Dokumente mehrfach zu transformieren und dann per FTP auf den Webserver hochzuladen ist ein umständlicher Weg. WebDAV bietet hier die Möglichkeit, Dateien bequem auf Webservern zu verwalten. Damit ist das Publizieren und die Versionskontrolle von Webseiten so einfach wie das Speichern auf der eigenen lokalen Festplatte. - Arbeitsgruppen
Die Arbeit von Arbeitsgruppen ist wesentlich effizienter geworden. Anstatt einzelne Dokumente zwischen den Gruppenmitgliedern per E-Mail zu verschicken, können Sie diese direkt über die Seite verschieben, die Sie gerade bearbeiten. Der Locking-Mechanismus schützt dabei vor unerwünschten Zugriffen und dem Überschreiben von Änderungen. - Content-Management
In Verbindung mit WebDAV-fähigen Content-Management-Applikationen können einzelne Eigenschaften mit beliebigen Web-Ressourcen verknüpft werden. So können Sie z. B. einzelne Dateien indizieren und eine Auswahl nach dem Autor oder nach Kombination der Key-Wörter usw. durchführen.
Konfiguration
Um WebDAV nutzen zu können, brauchen Sie einen Client und einen Server, der dieses Protokoll unterstützt. Wir gehen zunächst auf die Client-Seite ein. Viele Provider und E-Mail-Anbieter stellen ihren Nutzern WebDAV zur Verfügung. Einen kostenlosen Testzugang erhalten Sie z. B. bei www.venuecom.com. Wenn Sie z. B. ein Postfach bei web.de oder gmx.de besitzen, kommen Sie auch bei diesen Anbietern zu entsprechendem Platz. Mit modernen Windows- und Linux-Versionen ist ein Zugriff auf solche WebDAV-Server kein Problem. Wir werden im Folgenden die verschiedenen Möglichkeiten besprechen, mit denen Sie Zugriff auf WebDAV haben. Die technische Grundlage all dieser Möglichkeiten ist die Bibliothek libneon.
Mit Cadaver auf WebDAV zugreifen
Der Klassiker unter den Zugriffsmöglichkeiten ist Cadaver, ein Tool für die Kommandozeile. Sie können sich die aktuelle Version unter www.WebDAV.org/cadaver/ herunterladen, aber dieses Tool ist in allen großen Distributionen enthalten. In Debian-basierten Distributionen ist meist aus lizenzrechtlichen Gründen der SSL-Support nicht enthalten, da hilft dann nur, es selbst zu kompilieren. Die Bedienung ist außerordentlich einfach. Mit einem
cadaver https://www.WebDAV.de
verbinden Sie sich mit dem Server, und mit den Befehlen put (hochladen) und get (herunterladen) tauschen Sie Dateien aus. Ansonsten navigieren Sie auf dem WebDAV-Server wie gewohnt, also mit ls, cd usw. Konsultieren Sie die Manpage für weitere Informationen.
Ein WebDAV-Verzeichnis einhängen
Um ein WebDAV-Verzeichnis per Konsole zu mounten (am besten in das Verzeichnis /media/), benötigen Sie das Paket davfs2:
sudo apt-get install davfs2
Danach legen Sie im Verzeichnis /media/ ein entsprechendes Verzeichnis an, in dem Sie dann die WebDAV-Verbindung realisieren:
sudo mkdir /media/VerzeichnisName
Jenes Verzeichnis sollte dann mit eingeschränkten Rechten versehen werden, sodass die oder der Benutzer allenfalls darin schreiben dürfen. In diesem Fall bekommen alle Benutzer Lese- und Schreibrechte:
sudo chmod 0766 /media/VerzeichnisName
Wird dieser Befehl vergessen, kann das Laufwerk zwar eingehängt werden, aber niemand außer Root darf darin schreiben. Nun können Sie das Verzeichnis mounten, sodass es sich fast wie ein lokales Laufwerk bedienen lässt:
sudo mount -t davfs https://www.zieladresse.ch /media/VerzeichnisName/
Jetzt können Sie Daten per Drag & Drop auf das Verzeichnis verschieben. Die Technik verwendet einen Cache-Speicher zur Beschleunigung.
Falls das Verzeichnis dauerhaft eingebunden werden soll, bietet sich eine Lösung mit der Datei fstab an. Um das Verzeichnis wieder sauber auszuhängen, müssen Sie erneut einen Befehl per sudo abgesetzen:
sudo umount /media/VerzeichnisName
Es kann allenfalls einen Moment dauern, bis das Laufwerk ausgehängt wird, da der Cache je nachdem noch übertragen werden muss.
GNOME
GNOME integriert von Haus aus alle notwendigen Voraussetzungen für einen leichten Umgang mit WebDAV. Der Dateimanager Nautilus ist hier das Werkzeug der Wahl. Sie müssen lediglich den WebDAV-Server als neuen Zugriffsort angeben. Um dieses Ziel zu erreichen, gibt es prinzipiell zwei Möglichkeiten. Zum einen können Sie auf dem Desktop unter Orte · Verbindung zu Server... den WebDAV-Server eintragen, oder Sie nutzen den gleichen Dialog in einem beliebigen Nautilus-Fenster unter Datei · verbinden....
»WebDAV«-Server unter GNOME einbinde
GNOME unterstützt bei beiden Methoden sowohl gesicherte (WebDAVs://) als auch ungesicherte Verbindungen (WebDAV://). Wenn Sie alle Verbindungsdaten eingegeben haben, erscheint die Verknüpfung zum Server auf dem Desktop.
Wenn Sie diese Verbindung wieder lösen möchten, reicht ein Rechtsklick auf das zugehörige Icon und ein Anklicken des Menüpunkts Datenträger aushängen. Leider ist GNOME bei manchen Web-Server-Konfigurationen nicht in der Lage, sich das Passwort zu merken.
Abbildung 26.6 Definition von Servern in »Nautilus«
KDE
Unter KDE gestaltet sich die Integration von WebDAV ähnlich einfach wie unter GNOME. Hier nutzen Sie das Pendant zu Nautilus, den allmächtigen Konqueror. In diesem müssen Sie lediglich die Adresse des Servers in die Adressleiste eingeben. Bei der nachfolgenden Abfrage können Sie entscheiden, ob sich der Konqueror den Benutzernamen und das Passwort merken soll. Der »Datei-Eroberer« von KDE agiert hierbei vorbildlich und ist einfacher zu bedienen als Nautilus.
Der »Konqueror« beherrscht »WebDAV« ebenfalls standardmäßig.
Abbildung 26.8 Der Umgang des »Konqueror« mit einem »WebDAV«-Server ist selbsterklärend.
Zugriff auf Webdav
- cadaver
- Nextcloud-Client