mod_dav Distributed Authoring and Versioning (WebDAV) functionality Extension mod_dav.c dav_module

This module provides class 1 and class 2 WebDAV ('Web-based Distributed Authoring and Versioning') functionality for Apache. This extension to the HTTP protocol allows creating, moving, copying, and deleting resources and collections on a remote web server.

To enable mod_dav, add the following to a container in your httpd.conf file:

Dav On

Also, specify a valid filename for the DAV lock database by adding the following to the global section in your httpd.conf file:

DavLockDB /tmp/DavLock     (Any web-server writable filename, without an extension)
Dav Enable WebDAV HTTP methods Dav on|off Dav off directory

Use the Dav directive to enable the WebDAV HTTP methods for the given container. You may wish to add a Limit clause inside the location directive to limit access to DAV-enabled locations.

Example DavLockDB /tmp/DavLock

<Location /foo>
Dav On

AuthType Basic
AuthName DAV
AuthUserFile user.passwd

  <LimitExcept GET HEAD OPTIONS>
  require user admin
  </LimitExcept>
</Location>
DavLockDB Location of the DAV lock database DavLockDB file-path server configvirtual host

Use the DavLockDB directive to specify the full path to the lock database, excluding an extension. The default (file system) implementation of mod_dav uses a SDBM database to track user locks. The utility modules/dav/util/lockview can be used from the server to display all locks in a lock database.

Example DavLockDB /tmp/DavLock
DavMinTimeout Minimum amount of time the server holds a lock on a DAV resource DavMinTimeout seconds DavMinTimeout 0 directory

When a client requests a DAV resource lock, it can also specify a time when the lock will be automatically removed by the server. This value is only a request, and the server can ignore it or inform the client of an arbitrary value.

Use the DavMinTimeout directive to specify, in seconds, the minimum lock timeout to return to a client. Microsoft Web Folders defaults to a timeout of 120 seconds; the DavMinTimeout can override this to a higher value (like 600 seconds) to reduce the chance of the client losing the lock due to network latency.

Example <Location /MSWord>
DavMinTimeout 600
</Location>
DavDepthInfinity Allow PROPFIND, Depth: Infinity requests DavDepthInfinity on|off DavDepthInfinity off directory

Use the DavDepthInfinity directive to allow the processing of PROPFIND requests containing the header 'Depth: Infinity'. Because this type of request could constitute a denial-of-service attack, by default it is not allowed.