====== What WebDAV is ====== WebDAV is a protocol that allows for convenient mounting of a remote server on your desktop for easy file access. Once setup, using it is as simple as any other drag and drop navigation on your desktop. Native WebDAV clients differs in various operating systems. We know positively that WebDAV works in MacOS X and Windows XP, and there are also 3rd party utilities to help you mount your WebDAV storage. {{:ressources:ubuntu:webdav_idisk.png?600|}} A few usages : * On MacOS X, you can use a WebDAV storage place as an iDiskĀ®. * Calendar synchronisation using [[http://www.mozilla.org/projects/calendar/sunbird/|Mozilla Sunbird]] ===== Install ===== See tutorial [[http://www.ubuntugeek.com/howto-setup-a-remote-calendar-using-webdav-with-mozilla-sunbird.html]] ===== Connecting via WebDAV ===== To connect via WebDAV, be sure you are using: * The appropriate WebDAV URL (e.g. http://mysite.com/dav/). * The longform username for WebDAV (e.g. //joe@mysite.com// instead of //joe-mysite//). * The password for the user set in Virtualmin. If you only wish to publish to a single directory within your document root (see **WebDAV and Write Access** below), you should add that directory name to your WebDAV URL (e.g. http://mysite.com/dav/dirname/). ===== Cannot publish files over WebDAV ===== If you're having trouble publishing files over WebDAV, and your site is powered by Textpattern or WordPress, then you likely have a conflict created by the default .htaccess file, which typically looks like this: RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+) - [PT,L] RewriteRule ^(.*) index.php The last RewriteRule takes care of clean URLs for Textpattern, for example, but unfortunately breaks most WebDAV access. To make that WebDAV access work again, add the following RewriteCond line to your .htaccess file above the last RewriteRule: RewriteCond %{REQUEST_URI} !/dav Your .htaccess file will now look like this: RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+) - [PT,L] RewriteCond %{REQUEST_URI} !/dav RewriteRule ^(.*) index.php If your file contains more directives than those listed above, you just need to make sure that the new RewriteCond line appears right above the last RewriteRule line (the one ending in //index.php//).