blob: c341095599de023b374d2462fd818ccf4bf72d7a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Apache module mod_dav</TITLE>
</HEAD>
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#000080"
ALINK="#FF0000"
>
<!--#include virtual="header.html" -->
<H1 ALIGN="CENTER">Module mod_dav</H1>
This module provides class 1 and class 2
<A HREF="http://www.webdav.org">WebDAV</A> ('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.
<H2>Directives</H2>
<UL>
<LI><A HREF="#DAV">Dav</A>
<LI><A HREF="#DAVLockDB">DavLockDB</A>
<LI><A HREF="#DAVMinTimeout">DavMinTimeout</A>
<LI><A HREF="#DAVDepthInfinity">DavDepthInfinity</A>
<LI><A HREF="#LimitXMLRequestBody">LimitXMLRequestBody</A>
</UL>
<HR>
<P>
To enable mod_dav, add the following to a container in your <CODE>httpd.conf</CODE> file:<P>
<CODE>Dav On</CODE><P>
Also, specify a valid filename for the DAV lock database by adding the following to the global section in your <CODE>httpd.conf</CODE> file:<P>
<CODE>DavLockDB /tmp/DavLock&nbsp;&nbsp;&nbsp;&nbsp;</CODE><EM>(Any web-server writeable filename, without an extension)</EM><P>
<HR>
<H2><A NAME="DAV">Dav</A></H2>
<A
HREF="directive-dict.html#Syntax"
REL="Help"
><STRONG>Syntax:</STRONG></A> Dav &lt;on | off&gt;<BR>
<A
HREF="directive-dict.html#Default"
REL="Help"
><STRONG>Default:</STRONG></A>
<CODE>Dav off</CODE><BR>
<A
HREF="directive-dict.html#Context"
REL="Help"
><STRONG>Context:</STRONG></A> directory<BR>
<A
HREF="directive-dict.html#Status"
REL="Help"
><STRONG>Status:</STRONG></A> extension<BR>
<A
HREF="directive-dict.html#Module"
REL="Help"
><STRONG>Module:</STRONG></A> mod_dav<BR>
<A
HREF="directive-dict.html#Compatibility"
REL="Help"
><STRONG>Compatibility:</STRONG></A> Apache 1.3.4 and above<P>
Use the <CODE>Dav</CODE> directive to enable the WebDAV HTTP methods
for the given container.
You may wish to add a
<A
HREF="core.html#limit"
>&lt;Limit&gt;</A>
clause inside the
<A
HREF="core.html#location"
>location</A>
directive to limit access to DAV-enabled locations.<P>
<TABLE WIDTH="70%" BORDER=0 BGCOLOR="#E0E0F0" CELLSPACING=0 CELLPADDING=10>
<TR><TD>
<STRONG>Example</STRONG>:<BR><BR>
<CODE>DavLockDB /tmp/DavLock<BR>
<BR>
&lt;Location /foo&gt;<BR>
Dav On<BR>
<BR>
AuthType Basic<BR>
AuthName DAV<BR>
AuthUserFile user.passwd<BR>
<BR>
&nbsp;&nbsp;&lt;LimitExcept GET HEAD OPTIONS&gt;<BR>
&nbsp;&nbsp;require user admin<BR>
&nbsp;&nbsp;&lt;/LimitExcept&gt;<BR>
&lt;/Location&gt;<BR>
</CODE>
</TD></TR>
</TABLE>
<BR>
<HR>
<H2><A NAME="DavLockDB">DavLockDB</A></H2>
<A
HREF="directive-dict.html#Syntax"
REL="Help"
><STRONG>Syntax:</STRONG></A> DavLockDB &lt;Full path to lock database&gt;<BR>
<A
HREF="directive-dict.html#Default"
REL="Help"
><STRONG>Default:</STRONG></A>
<EM>None</EM><BR>
<A
HREF="directive-dict.html#Context"
REL="Help"
><STRONG>Context:</STRONG></A> server config, virtual host<BR>
<A
HREF="directive-dict.html#Status"
REL="Help"
><STRONG>Status:</STRONG></A> extension<BR>
<A
HREF="directive-dict.html#Module"
REL="Help"
><STRONG>Module:</STRONG></A> mod_dav<BR>
<A
HREF="directive-dict.html#Compatibility"
REL="Help"
><STRONG>Compatibility:</STRONG></A> Apache 1.3.4 and above<P>
Use the <CODE>DavLockDB</CODE> 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 <CODE>modules/dav/util/lockview</CODE> can be
used from the server to display all locks in a lock database.<P>
<TABLE WIDTH="70%" BORDER=0 BGCOLOR="#E0E0F0" CELLSPACING=0 CELLPADDING=10>
<TR><TD>
<STRONG>Example</STRONG>:<BR><BR>
<CODE>DavLockDB /tmp/DavLock<BR>
<BR>
</CODE>
</TD></TR>
</TABLE>
<BR>
<HR>
<H2><A NAME="DavMinTimeout">DavMinTimeout</A></H2>
<A
HREF="directive-dict.html#Syntax"
REL="Help"
><STRONG>Syntax:</STRONG></A> DavMinTimeout &lt;seconds&gt;<BR>
<A
HREF="directive-dict.html#Default"
REL="Help"
><STRONG>Default:</STRONG></A>
<CODE>DavMinTimeout 0</CODE><BR>
<A
HREF="directive-dict.html#Context"
REL="Help"
><STRONG>Context:</STRONG></A> directory<BR>
<A
HREF="directive-dict.html#Status"
REL="Help"
><STRONG>Status:</STRONG></A> extension<BR>
<A
HREF="directive-dict.html#Module"
REL="Help"
><STRONG>Module:</STRONG></A> mod_dav<BR>
<A
HREF="directive-dict.html#Compatibility"
REL="Help"
><STRONG>Compatibility:</STRONG></A> Apache 1.3.4 and above<P>
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.<P>
Use the <CODE>DavMinTimeout</CODE> 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 <CODE>DavMinTimeout</CODE>
can override this to a higher value (like 600 seconds) to reduce the chance
of the client losing the lock due to network latency.<P>
<TABLE WIDTH="70%" BORDER=0 BGCOLOR="#E0E0F0" CELLSPACING=0 CELLPADDING=10>
<TR><TD>
<STRONG>Example</STRONG>:<BR><BR>
<CODE>&lt;Location /MSWord&gt;<BR>
DavMinTimeout 600<BR>
&lt;/Location&gt;<BR>
<BR>
</CODE>
</TD></TR>
</TABLE>
<BR>
<HR>
<H2><A NAME="DavDepthInfinity">DavDepthInfinity</A></H2>
<A
HREF="directive-dict.html#Syntax"
REL="Help"
><STRONG>Syntax:</STRONG></A> DavDepthInfinity &lt;on | off&gt;<BR>
<A
HREF="directive-dict.html#Default"
REL="Help"
><STRONG>Default:</STRONG></A>
<CODE>DavDepthInfinity off</CODE><BR>
<A
HREF="directive-dict.html#Context"
REL="Help"
><STRONG>Context:</STRONG></A> directory<BR>
<A
HREF="directive-dict.html#Status"
REL="Help"
><STRONG>Status:</STRONG></A> extension<BR>
<A
HREF="directive-dict.html#Module"
REL="Help"
><STRONG>Module:</STRONG></A> mod_dav<BR>
<A
HREF="directive-dict.html#Compatibility"
REL="Help"
><STRONG>Compatibility:</STRONG></A> Apache 1.3.4 and above<P>
Use the <CODE>DavDepthInfinity</CODE> 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.
<P>
<HR>
<H2><A NAME="LimitXMLRequestBody">LimitXMLRequestBody</A></H2>
<A
HREF="directive-dict.html#Syntax"
REL="Help"
><STRONG>Syntax:</STRONG></A> LimitXMLRequestBody &lt;size in bytes&gt;<BR>
<A
HREF="directive-dict.html#Default"
REL="Help"
><STRONG>Default:</STRONG></A>
<CODE>LimitXMLRequestBody 1000000</CODE><BR>
<A
HREF="directive-dict.html#Context"
REL="Help"
><STRONG>Context:</STRONG></A> directory<BR>
<A
HREF="directive-dict.html#Status"
REL="Help"
><STRONG>Status:</STRONG></A> extension<BR>
<A
HREF="directive-dict.html#Module"
REL="Help"
><STRONG>Module:</STRONG></A> mod_dav<BR>
<A
HREF="directive-dict.html#Compatibility"
REL="Help"
><STRONG>Compatibility:</STRONG></A> Apache 1.3.4 and above<P>
Use the <CODE>LimitXMLRequestBody</CODE> directive to limit the
size of an XML request which mod_dav will attempt to parse. Specify
a size greater than zero.
<P>
<!--#include virtual="footer.html" -->
</BODY>
</HTML>