WebDAV

From Zimbra :: Wiki

Jump to: navigation, search
   Article-alert.png  - This article is a Work in Progress, and may be unfinished or missing sections.


Contents

WebDAV

Web-based Distributed Authoring and Versioning is an extension to HTTP allowing users to remotely manage and edit files on WWW servers. These files could be shared by these users and/or they can work upon them collaboratively.

The main feature is that you can create, change and move documents on a remote server which is generally a web server or a so called "web share". You can mainly use it for authoring (as the name suggests) the documents on the web share but also for sharing large files that can be accessed from anywhere making it an online storage unit so to speak.

Features

Other features of WebDAV protocol are:

  1. locking (overwrite prevention),
  2. properties (creation, removal, and querying of information about author, modified date, etc.),
  3. name space management (ability to copy and move Web pages within a server's namespace) and
  4. collections (creation, removal, and listing of resources).

WebDAV is supported built-in by major Operating systems.

RFC standard number is 2518: http://www.ietf.org/rfc/rfc2518.txt

Mounting/Opening a remote folder on a local machine

You can mount a remote share on the local machine and work on it as if it is a local folder.

MS Windows

This is dependent on what update level you are on windows. Please refer to the following article for more information:

http://support.microsoft.com/kb/892211
http://www.microsoft.com/downloads/details.aspx?FamilyId=17C36612-632E-4C04-9382-987622ED1D64&displaylang=en

Basic Directions

IE supports this feature since Win98. Go to File menu -> click on Open -> check the box "Open as Web Folder" and provide the URL. E.g. (for Zimbra Briefcase) http://<servername>/dav/<username(without domain)>/Briefcase

If the above doesn't work there is a workaround for it in which case you have use the following link:

http://user@domain.com:80/dav/<username(without domain)>/Briefcase

Another way to implement this is to "Map it as a network Drive/Location" aka Windows Explorer mount:

  1. Goto the "Add Network Location Wizard" from the control panel (there are multiple ways of accessing this and also varies based on version of MS windows).
  2. Select "Choose a custom network location" and then press Next.
  3. Enter the URL: http://<servername>/dav/<username(without domain)>/Briefcase and then click Next.
  4. You will be prompted for a username/password. Enter your credentials.
  5. Then type in a Name for the Network location and you are done. You can access the Briefcase from this location.

Win2K, WinXP, Win2K3 Notes

For implementation of WebDAV on Windows XP and later , MSFT made it's own interpretation of the standard to work best with the Windows IIS servers. The problem due to this is three fold:

  1. Windows XP authenticates users using the format "domain\username" by the mechanism of "Microsoft-WebDAV-MiniRedir/5.1.2600". Whereas Windows 98SE/2000 authenticates users as "username" using the mechanism of "Microsoft Data Access Internet Publishing Provider DAV 1.1".
  2. The problem lies with the implementation of "Microsoft-WebDAV-MiniRedir/5.1.2600". If authentication is sent as "domain\username" then it would be received as "usernamedomain" or "usernamehostname" by the Web server and not as "username".
  3. Also as per "Microsoft Knowledge Base, Article ID: 841215" Windows XP disables "Basic Auth" in its "Microsoft-WebDAV-MiniRedir/5.1.2600" mechanism by default for security reasons. But WebDAV expects "Basic Auth".

The standard way to connect to a WebDAV folder looks something like "http(s)://<servername>/dav/<username>". However, a due to a bug in Win XP, this would be interpreted as a M$ network drive/SMB server.

So the solution is to trick Windows XP:

  1. Force Windows XP to use the stable "Microsoft Data Access Internet Publishing Provider DAV 1.1" mechanism instead of "Microsoft-WebDAV-MiniRedir/5.1.2600".
  2. Make Windows XP internally only send username and password and not the domain. [This can be done using the old Windows 2000 WebDAV driver that is present in all Windows XP machines.]
  3. Force Windows XP to authenticate using "Basic Auth".
  4. Prevent XP to interpret "http(s)://<servername>/dav/<username>" as a M$ network drive/SMB server.
Procedure for XP
1. Find the file called "webfldrs.msi", normally under "\WINDOWS\SYSTEM32\". Incase Windows XP Service Packs are installed then the same can be found under "\WINDOWS\ServicePackFiles\i386\".
1a. Run "webfldrs.msi". 
1b. Click on "Select reinstall mode".
1c. Uncheck "Repair all detected reinstall problems". 
1d. Check "Force all files to be reinstalled, regardless of checksum or version".
1e. Check "Verify that required user registry entries are present".
1f. Check "Verify that required machine registry entries are present".
1g. Check "Validate shortcuts".
1h. Press OK and REINSTALL 
2. Modify the Windows registry "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters" and add a new value "UseBasicAuth". 
2a. Choose "Run" in the start menu and type: "regedit" 
2b. In the registry-editor go to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters"
2c. Right click into the right field and choose "New" from the context-menu. Choose "DWord-Value".
2d. Name the new value "UseBasicAuth".
2e. Right click on "UseBasicAuth" and choose "Modify".
2f. Change the value "0" (disabled) to "1" (enabled) and click "OK"

Then open in IE or mount it as a network location as discussed in the basic directions above.

If the above doesn't work, I have tried several 3rd party client that helps you to connect to webdav service under windows. And non of them comes close to "netdrive", a freeware from Novell. Once netdrive is connected to your zimbra, you can map it to a local drive letter just like the native windows webdav driver but better. Here is a link: [1]


WinVista Notes

Only the WebDAV redirector is present in Windows Vista. The original "Web folders" client has been removed. The "Web folders" client is only present if the Microsoft Update for Web Folders is installed. http://www.microsoft.com/downloads/details.aspx?FamilyId=17C36612-632E-4C04-9382-987622ED1D64&displaylang=en

Please note that during testing this did not work on all our test systems, the reason for that is how webDAV is implemented on your site. (There are currently additional bugs for working around Windows Vista SP1 & Windows Server 2008 RC1 differences.)

---

It might be possible to use the command prompt and try the following:

net use * http://full.domain.name/dav/username/

[the asterisk automatically picks a drive letter not in use]

Windows 7 Notes

WebClient Services

Check if the WebClient Service is running and set to "Start Automatically". From a command prompt you can start WebClient Services by typing

net start webclient

You need to run cmd.exe with elevated privileges if you have UAC enabled.

BasicAuthLevel

Set the registry key

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel

from 1 (default) to 2 unless you're using commercial Certificates and mixed mode enabled to access the ZWC via https://

URL Schema

The Windows 7 URL Schema has changed. Use

\\zimbra.example.com@80\DavWWWRoot\dav\user.name<without-domain-name>

for http:// access or

\\zimbra.example.com@SSL\DavWWWRoot\dav\user.name<without-domain-name>

for https:// if you have mixed mode enabled.

If your Domain - username is different from your ZWC Domain Name you may try

domain.com\user.name

as Windows - Login information.

Slow Connection / IE8 Installed

- Close IE8
- Uncheck "Automatically Detect Settings" in IE8 Connection Preferences


---

If you are unable to connect in Win7 using the Explorer 'Add Network Location' wizard, it may be possible to use the command prompt and try the following (noted in the Vista section):

net use * http://full.domain.name/dav/username/

[the asterisk automatically picks a drive letter not in use]

Linux

Nautilus This is the easiest way of opening up a WebDAV folder in an Explorer/MAC kind of a view. All you have to do is goto and then provide the below link and press enter.

http://<servername>/dav/<username(no need for specifying domain>/Briefcase

The Briefcase will open up in a new window.

If you encounter I/O Errors while trying to write files to the share, edit your /etc/davfs2/davfs2.conf and add

use_locks       0

and eventually adjust the dav_group option to be davfs2.

Cadaver

Another great utility is Cadaver, its a simple CLI based tool (that works similar to ftp) for WebDAV. You need install the cadaver package or RPM for this. Then goto the command line and type this:

  1. cadaver http://<servername>/dav/<username(no need for specifying domain>/Briefcase
  2. It will prompt you for username and password and after successful login it will then give you the dav prompt
  3. help command will give you all the commands available at your disposal.

Mount as local folder

This could be one of the most popular way of using WebDAV wherein you can mount the remote folder on a local folder just like any other NFS share. This involves installing a few of the following rpms that provide the functionality for supporting "davfs2" filesystem type. Once these are installed and all dependencies resolved, you can use the following command to mount your briefcase and work as if it is a local folder:

mount -t davfs http://<servername>/dav/<username(no need for specifying domain)>/Briefcase /<path to mount>

RPMS to install (kindly ensure the RPM architectures - whether its 32bit or 64bit for your system:

davfs2-1.2.2-4.el5.rf.i386.rpm
lwp-1.11-1.i386.rpm
lwp-devel-1.11-1.i386.rpm
rvm-1.9-1.i386.rpm
rvm-devel-1.9-1.i386.rpm
rvm-tools-1.9-1.i386.rpm
ncurses-5.5-24.20060715.i386.rpm
ncurses-devel-5.5-24.20060715.i386.rpm
rpc2-1.21-1.i386.rpm
rpc2-devel-1.21-1.i386.rpm
neon-0.25.5-5.1.i386.rpm
neon-devel-0.25.5-5.1.i386.rpm

Then "fuse" or "coda" kernel modules or both, you can obtain the latest packages from sourceforge. I have tested this on the following:

fuse-2.7.3.tgz
coda-server-6.0.5-1.i386.rpm
coda-client-6.0.5-1.i386.rpm
coda-backup-6.0.5-1.i386.rpm

This didn't work on a few of the test systems running RHEL4 U4 & U5 and RHEL5. I am getting down to the cause for this and will update this page as soon as I have any updates.

Ubuntu

To be able to use this on Ubuntu, you have to install the package davfs2. This can easily been done with the command:

apt-get install davfs2

However, you are now able to mount it, but you will not be able to write to the Briefcase. See this guide for now on how to solve this.

Mac

Mount in Finder:

http(s)://SERVER/dav/USER
You can also access the webdav mount over the CLI.  See 'man mount_webdav' for details.  Just mount it and use it like any other mounted volume.

Notes: If trying to mount against a box with more than one domain it often helps include @domain It's %40 is the encoded form of the @ sign:

http(s)://SERVER/dav/USER%40DOMAIN

Mac OS X 10.4: How to prevent .DS_Store file creation over network connections


Verified Against: unknown Date Created: 4/14/2008
Article ID: http://wiki.zimbra.com/index.php?title=WebDAV Date Modified: 05/19/2010
Personal tools