====== WebDAV (Web-based Distributed Authoring and Versioning)======
[[wpde>WebDAV]] (Web-based Distributed Authoring and Versioning) ist ein offener Standard zur Bereitstellung von Dateien im Internet. Dabei können Benutzer auf ihre Daten wie auf eine Online-Festplatte zugreifen.
Technisch gesehen ist WebDAV eine Erweiterung des Protokolls HTTP/1.1, die bestimmte Einschränkungen von HTTP aufhebt. Bisher kennt man aus Online-Formularen meist nur die Möglichkeit, einzelne Dateien hochzuladen (HTTP-POST). Mit WebDAV können ganze Verzeichnisse übertragen werden. Zudem ist eine Versionskontrolle spezifiziert.
Quelle: [[wpde>WebDAV|Wikipedia]]
===== Clients =====
==== webbasiert ====
* [[https://app.anyclient.com/|anyclient]]
==== Linux ====
* [[http://krusader.sourceforge.net/|Krusader]]: webdav(s)://Adresse
* [[http://www.gnome.org/projects/nautilus/|Nautilus]] ([[http://www.gnome.org/|Gnome]]):
* [[http://www.konqueror.org/|Konqueror]] ([[http://www.kde.org/|KDE]]): webdavs://Adresse oder als "Netzwerkordner (hinzufügen)"
* [[http://www.webdav.org/cadaver/|Cadaver]]
* [[http://doc.owncloud.org/server/6.0/user_manual/files/files.html|davfs2]] (im Test unter [[ubuntu:Ubuntu]] 12.04 und SabreDav/owncloud7 sehr langsam)
normale Benutzer sollen webdav ohne root-Rechte mounten dürfen (nur [[debian:Debian]]/[[ubuntu:Ubuntu]]): sudo dpkg-reconfigure davfs2
in ''/etc/fstab'': https://SERVER/owncloud/remote.php/webdav /media/SERVER davfs user,rw,noauto 0 0
==== MacOS X ====
* [[http://www.tim-hora.com/index.php?option=com_content&view=article&id=25&Itemid=42|Datenaustausch mit WebDAV unter Mac OS X]]
* [[https://www.hidrive.strato.com/lnk/whotgRIm?dl|Strato Hidrive - Client für MAC]]
* [[http://cyberduck.io/|Cyberduck]]
* [[http://www.crushftp.com/|Crushftp]]
* [[http://www.binarynights.com/forklift/|Forklift]]
* [[http://www.panic.com/transmit/|Transmit]]
* [[http://www.webdav.org/goliath/|goliath]]
==== Windows ====
net use : https://: /user: /persistent:yes
Bei einem konkreten Beispiel (hier Strato) sieht das folgendermaßen aus:
net use Y: https://webdav.hidrive.strato.com:443 /user:maxmuster GeheimesPasswort /persistent:yes
Das geht auch mit einer Verknüpfung auf dem Desktop.
* **[[http://www.bitkinex.com/|Bitkinex]] Webdav Client** (Freeware, geht schnell eingerichtet, Nachteil ist die fehlende Integration in den Explorer
* [[http://cyberduck.io/|Cyberduck]] - kostenlos, leider keine Integration in den Windows-Explorer
* [[http://www.netdrive.net/index.html|Netdrive - kostenlos für private Benutzung, Integration in den Explorer, SDK erhältlich]]
* [[http://www.webdrive.com/products/webdrive/|WebDrive]] Client mit Unterstützung von vielen Protokollen, aber [[http://www.webdrive.com/products/webdrive/purchase-webdrive/|relativ teurer]]
* [[http://www.expandrive.com/expandrive|expandrive]] ([[http://updates.expandrive.com/release_notes/expandrive_win|Download]]) - relativ teurer
* [[http://www.ghisler.com/deutsch.htm|Totalcommander]] (Eine Explorer-Alternative) mit [[http://www.ghisler.com/dplugins.htm#dateisys|webdav-plugin]]
* [[http://rei.to/carotdav_en.html|carotDAV]] - kostenlos, Versachlüsselungsfunktionen, leider keine Integration in den Windows-Explorer
* [[http://www.crushftp.com/|Crushftp]]
=== Anbieterspezifisch ===
* [[https://www.hidrive.strato.com/lnk/QUINgdlk?dl|Strato Hidrive Client für Windows]] (nur für Hidrive, erzeugt lediglich den Laufwerksbuchstaben für den Windows-Client)
* [[https://www.driveonweb.de/dow-downloads|DriveOnWeb WebDAV-Client]] - funktioniert nur mit diesem Anbieter
* [[http://www.xythos.com/products/xythos_drive.html|Xythos Drive]] ([[http://www.xythos.com/support_xod/xythos_drive.html|download]]) kommerziell - nur noch als Teil von Blackboard Drive erhältlich
* [[https://secure.cloudsafe.com/pages/topics_cloudsafeclient.html|cloudafeclient]]
* [[http://tarife-und-produkte.t-online.de/mediencenter-software/id_40757030/index|Telekom Mediacenter Software]] - funktioniert nur mit diesem Anbieter
=== Links und Anleitungen ===
* [[http://technical.bestgrid.org/index.php/Review_of_Windows_webDAV_clients|Review of Windows webDAV clients]]
* [[http://www.plerzelwupp.de/webdav-ist-gut-fuer-deinen-blog/|WebDAV auf Windows]]
* Win XP
* in alten Version des Internet Explorers (nicht IE 7(?) und 8): Datei/Öffnen (als WebOrdner öffnen)
* [[http://www.tim-hora.com/index.php?option=com_content&view=article&id=25&Itemid=42|Datenaustausch mit WebDAV unter Windows XP]]
* Windows in neueren Version (ab Vista) ist leider sehr zickig was Webdav angeht: [[http://www.computerbase.de/forum/showthread.php?t=707192|SSL Webdav u. Windows 7]] Benutzeranleitung wenn alles vorbereitet ist: [[http://www.rz.rwth-aachen.de/aw/cms/rz/Themen/unsere_dienste/kommunikation/Infodienste/webdienste/~sic/einrichtung_eines_webdav-netzlaufwerks_u/?lang=de|Einrichten eines WebDAV-Netzlaufwerks unter Windows Vista/Windows 7]]
* [[http://support.filesanywhere.com/entries/23427177-WebDAV-for-Windows-8-Users|Win 8 Webdav-Einrichtung]]
* [[http://www.netzwerktotal.de/vistawebdav.htm|WebDAV - Einrichtung unter Windows Vista]]
* [[https://secure.wikimedia.org/wikipedia/en/wiki/WebDAV#Microsoft_Windows|Wikipedia - Web-DAV und Windows]]
* [[http://www.synology.com/tutorials/how_to_internet2.php?lang=deu#t4|So greifen Sie über das Internet auf Dateien zu, die auf der DiskStation gespeichert sind]]
===== Probleme in der Praxis=====
Gültig für alle:
* Dateien werden komplett übertragen obwohl Webdav Teiluploads ("Partial Write") spezifiziert
* Parameteraushandlung uneinheitlich (mal im Header mal im Body) jeweils als XML übertragen
* unterschiedliche Formate für Zeitstempel
* Unklare Spec bei Groß- und Kleinschreibung
* Auskunft über freien Speicherplatz u.U. nicht korrekt, das liegt an Clients die den RFC 4331 (([[http://www.rfc-base.org/rfc-4331.html|Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections]])) nicht (korrekt) implementieren (z.B. zeigt der Client des Windows-Explorers lediglich den freien Platz von Laufwerk C: an)
* Fähigkeiten des Server (Class 1 oder 2) werden meist vom Client ignoriert
==== Windows ====
* Windows 98 bis 2000: Anzeige über Webbrowser
* Windows XP: Einbindung ähnlich normaler Laufwerke
* lokaler WebDAV-Cache (mit Administrator-rechten kann man die Dateien anderer Benutzer einsehen)
* XP: ''C:\Dokumente und Einstellungen\LocalService\Lokale Einstellungen\TemporaryInternetFiles\Content.IE5\''
* Win7: C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\TfsStore\Tfs_DAV
**Fehlerliste**
=== alle Windows Versionen ===
* **[[http://greenbytes.de/tech/webdav/webdav-redirector-list.html|WebDAV Mini-Redirector Bugliste von greenbytes]]**
* **[[http://sabre.io/dav/clients/windows/|Fehlerliste auf der Seite von sabreDAV]]**
* **[[http://support.microsoft.com/kb/841215|Authtype Basic wird nicht unterstützt]]**
* Wenn **auf C:\ nicht genug Speicherplatz** frei ist, kommt es zu Zugriffsproblemen
* alle Windows-versionen incl. Win 7: wenn Benutzeranmeldung erforderlich ist, überträgt Windows **alle Dateien doppelt** - erstmal so und dann noch ein zweites Mal mit Anmeldedaten
* **Office-Anwendungen** reden mit dem WebDAV-Server direkt um Locking und Versionhistorie zu bieten, scheitern dabei u.U. aber beim Speichern
=== Windows XP ===
* **ab XP SP2 bis incl. Win7: [[http://support.microsoft.com/kb/841215|no-basic-auth]]**: Lösung: ''HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\UseBasicAuth'' auf 1 setzen
* XP: künstliche Größenbeschränkung bei der Dateigröße auf 50MB ([[http://support.microsoft.com/kb/900900|Lösung und Beschreibung in der knowledgebase von MS]])
* HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\FileSizeLimitInBytes auf einen höheren Wert als 50000000 (=50 MB), [[http://answers.microsoft.com/en-us/ie/forum/ie8-windows_xp/error-0x800700df-the-file-size-exceeds-the-limit/d208bba6-920c-4639-bd45-f345f462934f|maximal möglich sind 4G]]
* XP Probleme bei mehr als 1000 Dateien auf der Freigabe (in der Registry Erhöhung des Puffers nötig):
* ''HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\FileAttributesLimitInBytes'' auf z. B. 1000
Den folgenden Text als Reg-Datei abspeichern und Zusammenführen:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters]
"UseBasicAuth"=dword:00000001
"FileSizeLimitInBytes"=dword:ffffffff
"FileAttributesLimitInBytes"=dword:0000c350
=== Windows Vista ===
* **ab XP SP2 bis incl. Win7: [[http://support.microsoft.com/kb/841215|no-basic-auth]]**
* Lösung:
* XP: ''HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters'' auf 1 setzen
* Vista: auf 2 setzen um auch Verbindung ohne SSL zuzulassen
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters]
"UseBasicAuth"=dword:00000002
"FileSizeLimitInBytes"=dword:ffffffff
"FileAttributesLimitInBytes"=dword:0000c350
=== Windows 7 ===
* **ab XP SP2 bis incl. Win7: [[http://support.microsoft.com/kb/841215|no-basic-auth]]**
* Lösung:
* XP: ''HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters'' auf 1 setzen
* Vista: auf 2 setzen um auch Verbindung ohne SSL zuzulassen
* Sonderzeichenkodierung (Win7 streikt bei "&" mit Fehlermeldung "Datei zu groß", ältere Windows-versionen kodieren es korrekt als "%26")
* [[http://www.tecchannel.de/storage/tipps/2031015/tipp_fuer_windows_7_timeout_wert_fuer_webdav_aendern/index.html?r=559620220278668&lid=90202|Timeouts]]
* [[https://support.microsoft.com/de-de/kb/2445570|u.U. sehr langsam, siehe KB2445570]] (Lösung: bei Internetoptionen die automatische Suche der Einstellungen / Automatically detect settings abschalten)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters]
"UseBasicAuth"=dword:00000001
"FileSizeLimitInBytes"=dword:ffffffff
"FileAttributesLimitInBytes"=dword:0000c350
=== Server 2003 ===
* spontane Reboots bei Windows Server 2003 (wenn mit "''net start|stop Webclient''" gearbeitet wird)
==== MacOS X ====
**Finder**
* stürzt u. U. ab was praktisch einen Neustart bedeutet
* Fähigkeitenaushandlung fehlerhaft, bei Class 1 (kein file-locking) Einbindung als schreibgeschützt, bei Class 2 wird locking ignoriert
* [[http://sabre.io/dav/clients/finder/|langsamer Zugriff]]
**transmit**
* [[http://sabre.io/dav/clients/transmit/|transmit]] funktioniert nicht mit allen Webserver/PHP-Modul-Kombinationen, scheint aber deutlich robuster zu sein als der Finder
==== Linux ====
Bei [[http://sabre.io/dav/clients/davfs/|davfs]] bzw. davfs2 sind mir keine Bugs bekannt.
===== Server =====
* [[http://www.withopf.com/tools/securstick/|SecurStick - lokaler WebDAV-Server für die einfache und sichere Ablage von Dateien auf USB-Sticks und Online-Festplatten]]
==== WebDAV in Apache ====
=== Anleitungen und Informationen ===
* [[http://bobcares.com/article37.html|Enabling WebDAV for Apache]]
* [[http://www.serverwatch.com/tutorials/article.php/2176771|Enabling WebDAV on Apache]]
* [[http://www.serverwatch.com/tutorials/article.php/10825_2176771_2|WebDAV-Tutorial]]
* [[http://www.fh-wedel.de/~si/seminare/ws01/Ausarbeitung/a.webdav/WebDav0.htm|WebDAV-Überlick]]
* [[http://www.webdav.org/mod_dav/install.html#apache|mod_dav: Apache modul]]
* [[http://webdav.org/projects/|WebDAV-Projekt]]
* [[http://dav.sourceforge.net/|davfs-download]]
* [[https://hexeract.wordpress.com/2011/02/25/configure-a-webdav-enabled-webserver-for-multiple-user-folders-and-one-shared-folder/|Configure a WebDAV enabled webserver for multiple user folders and one shared folder]]
=== SSL ===
* [[http://httpd.apache.org/docs/2.0/ssl/|Apache.org SSL]]
* [[http://httpd.apache.org/docs/2.0/mod/mod_ssl.html|mod_ssl]]
=== Apache Beispielkonfiguration Webdav ===
Apache-Module aktivieren ([[debian:Debian]]): a2enmod dav_fs dav_lock
:!: Die Konfiguration von SSL wird auf der Apache-Seite erklärt.
ServerAdmin webmaster@localhost
Servername webdav.domain.tld
DocumentRoot /srv/www/webdav.domain.tld
DAV On
Require valid-user
AuthType Basic
AuthName "Restricted data"
AuthUserFile /srv/www/.DAVlogin
Require valid-user
ErrorLog /var/log/apache2/webdav.domain.tld_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/webdav.domain.tld_access.log combined
==== pywebdav ====
* [[http://code.google.com/p/pywebdav/|pywebdav]] - eine [[netzwerke:webdav]] Implementierung in Python