298 lines
18 KiB
HTML
298 lines
18 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html
|
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html lang="en-us" xml:lang="en-us">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="security" content="public" />
|
|
<meta name="Robots" content="index,follow" />
|
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
|
<meta name="DC.Type" content="topic" />
|
|
<meta name="DC.Title" content="Module mod_dav" />
|
|
<meta name="copyright" content="(C) Copyright IBM Corporation 2002,2006" />
|
|
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2002,2006" />
|
|
<meta name="DC.Format" content="XHTML" />
|
|
<meta name="DC.Identifier" content="rzaiemod_dav" />
|
|
<meta name="DC.Language" content="en-us" />
|
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
|
<!-- US Government Users Restricted Rights -->
|
|
<!-- Use, duplication or disclosure restricted by -->
|
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
|
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
|
|
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
|
<title>Module mod_dav</title>
|
|
</head>
|
|
<body id="rzaiemod_dav"><a name="rzaiemod_dav"><!-- --></a>
|
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
|
<!--Java sync-link--><h1 class="topictitle1">Module mod_dav</h1>
|
|
<div><div class="important"><span class="importanttitle">Important:</span> Information
|
|
for this topic supports the latest PTF levels for HTTP Server for i5/OS .
|
|
It is recommended that you install the latest PTFs to upgrade to the latest
|
|
level of the HTTP Server for i5/OS. Some of the topics documented here are
|
|
not available prior to this update. See <a href="http://www-03.ibm.com/servers/eserver/iseries/software/http/services/service.html" target="_blank">http://www.ibm.com/servers/eserver/iseries/software/http/services/service.htm</a> <img src="www.gif" alt="Link outside Information Center" /> for more information. </div>
|
|
<p><strong>Summary</strong></p>
|
|
<p>This module provides class 1 and class 2 WebDAV (Web-based Distributed
|
|
Authoring and Versioning) functionality for HTTP Server (powered by Apache).
|
|
This extension to the HTTP protocol allows creating, moving, copying, and
|
|
deleting resources and collections on a remote web server. </p>
|
|
<p>In order for WebDAV to function, you have to have your LoadModules, Dav
|
|
provider, and either DavLockDB or DavQsysLockDB (depending on your provider)
|
|
in your configuration file. If any of these elements are missing, your server
|
|
will not start. </p>
|
|
<p>To use DAV at all, your configuration file must include: </p>
|
|
<pre class="block">LoadModule dav_module /QSYS.LIB/QHTTPSVR.LIB/QZSRDAV.SRVPGM</pre>
|
|
<p>To use DAV for root, QOpenSys, or other UNIX-like filesystems, in addition
|
|
to the above, your configuration file must include: </p>
|
|
<pre class="block">LoadModule dav_fs_module /QSYS.LIB/QHTTPSVR.LIB/QZSRDAVF.SRVPGM</pre>
|
|
<p>To use DAV in QSYS, your configuration file must include: </p>
|
|
<pre class="block">LoadModule dav_qsys_module /QSYS.LIB/QHTTPSVR.LIB/QZSRDAVQS.SRVPGM</pre>
|
|
<div class="note"><span class="notetitle">Note:</span> You'll need two LoadModules to use DAV. If you want to DAV-enable both
|
|
IFS and QSYS, you'll need three LoadModules.</div>
|
|
<p><strong>Directives</strong></p>
|
|
<ul><li><a href="#dav">Dav</a></li>
|
|
<li><a href="#davdepthinfinity">DavDepthInfinity</a></li>
|
|
<li><a href="#davlockdb">DavLockDB</a></li>
|
|
<li><a href="#davmintimeout">DavMinTimeout</a></li>
|
|
<li><a href="#davqsyslockdb">DavQsysLockDB</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="hr" id="dav"><a name="dav"><!-- --></a><h2 class="topictitle2">Dav</h2>
|
|
<div>
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_dav </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: Dav <em>on | off | [provider name] </em></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: Dav off</td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="dav__dav_context"><a name="dav__dav_context"><!-- --></a>directory </span></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: none </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="dav__dav_origin"><a name="dav__dav_origin"><!-- --></a>Apache </span></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__UsageConsiderations">Usage Considerations</a></strong>: A LoadModule is required in
|
|
the configuration file prior to using the directive. The statement should
|
|
be as follows: LoadModule dav_module /QSYS.LIB/QHTTPSVR.LIB/QZSRDAV.SRVPGM</td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: Dav on </td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p>The Dav directive enables the WebDAV HTTP methods for the given container.
|
|
You may want to add a <Limit> clause inside the location directive to limit
|
|
access to Dav-enabled locations.</p>
|
|
<dl class="block"><dt class="dlterm"><strong>Parameter</strong>: <em>on | off | [provider name]</em></dt>
|
|
<dd><ul><li>When <em>on</em> is specified, WebDAV HTTP methods are enabled for the given
|
|
container, using the default provider "filesystem". </li>
|
|
<li>When <em>off</em> is specified, WebDAV HTTP methods are disabled for the
|
|
given container. </li>
|
|
<li>The optional <em>provider name</em> parameter is used to specify the Dav
|
|
provider for a directory or location. There are no Server restrictions on
|
|
the number or types of characters in the provider name. The provider name
|
|
used on the Dav directive is case sensitive. </li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>The values on and off are not case sensitive. </p>
|
|
<p><strong>Example 1:</strong></p>
|
|
<pre class="block">DavLockDB /tmp/DavLock
|
|
LoadModule dav_module /qsys.lib/qhttpsvr.lib/qzsrdav.srvpgm
|
|
LoadModule dav_fs_module /qsys.lib/qhttpsvr.lib/qzsrdavf.srvpgm
|
|
<Location /foo>
|
|
Dav on
|
|
</Location></pre>
|
|
<p><strong>Example 2:</strong></p>
|
|
<pre class="block">DavQsysLockDB mylib/DavLock
|
|
LoadModule dav_module /qsys.lib/qhttpsvr.lib/qzsrdav.srvpgm
|
|
LoadModule dav_qsys_module /qsys.lib/qhttpsvr.lib/qzsrdavqs.srvpgm
|
|
|
|
<Directory /qsys.lib/webserver.lib*>
|
|
Dav qsys
|
|
</Directory></pre>
|
|
<p>If you specify "Dav on" in a directory, you will get the default provider
|
|
"filesystem". </p>
|
|
<p>The Dav directive does not override like other directory-scoped directives.
|
|
You cannot turn Dav on in one directory, and then turn it off in a sub-directory.
|
|
You also cannot change providers in a sub-directory. You will receive runtime
|
|
errors if this happens. The following examples are invalid and will cause
|
|
the HTTP Server to generate a runtime error: </p>
|
|
<pre class="block"><Directory />
|
|
AllowOverride None
|
|
Order Deny,Allow
|
|
Deny From all
|
|
Dav filesystem
|
|
</Files>
|
|
Dav off
|
|
</Files>
|
|
</Directory></pre>
|
|
<p>Another invalid example: </p>
|
|
<pre class="block"><Directory /www/parentDirectory>
|
|
Dav filesystem
|
|
<Directory>
|
|
<Directory /www/parentDirectory/childDirectory>
|
|
Dav off
|
|
</Directory></pre>
|
|
<div class="note"><span class="notetitle">Note:</span> If you want to Dav-enable filesystems other than root or QOpenSys, you
|
|
will have to specify your provider's name on the directive to get the desired
|
|
behavior. As the server is shipped, the only valid provider names are "filesystem"
|
|
and "qsys". Filesystem supports root, QOpenSys (and other UNIX-like filesystems);
|
|
qsys supports QSYS objects.</div>
|
|
</div>
|
|
</div>
|
|
<div class="hr" id="davdepthinfinity"><a name="davdepthinfinity"><!-- --></a><h2 class="topictitle2">DavDepthInfinity</h2>
|
|
<div>
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_dav </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: DavDepthInfinity <em>on | off </em></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: DavDepthInfinity off</td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="davdepthinfinity__davdepthinfinity_context"><a name="davdepthinfinity__davdepthinfinity_context"><!-- --></a>server
|
|
config, virtual host, directory </span></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: none </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="davdepthinfinity__davdepthinfinity_origin"><a name="davdepthinfinity__davdepthinfinity_origin"><!-- --></a>Apache </span></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__UsageConsiderations">Usage Considerations</a></strong>: A LoadModule is required in
|
|
the configuration file prior to using the directive. The statement should
|
|
be as follows: LoadModule dav_module /QSYS.LIB/QHTTPSVR.LIB/QZSRDAV.SRVPGM</td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: DavDepthInfinity on </td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p>The DavDepthInfinity directive allows 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>
|
|
<dl class="block"><dt class="dlterm"><strong>Parameter</strong>: <em>on | off </em></dt>
|
|
<dd><ul><li>When <em>on</em> is specified, processing of PROPFIND requests containing
|
|
the header 'Depth: Infinity' is allowed. </li>
|
|
<li>When <em>off</em> is specified, processing of PROPFIND requests containing
|
|
the header 'Depth: Infinity' is not allowed. </li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
<div class="hr" id="davlockdb"><a name="davlockdb"><!-- --></a><h2 class="topictitle2">DavLockDB</h2>
|
|
<div>
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_dav </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: DavLockDB <em>filename</em> </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="davlockdb__davlockdb_context"><a name="davlockdb__davlockdb_context"><!-- --></a>server config,
|
|
virtual host </span></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: none </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="davlockdb__davlockdb_origin"><a name="davlockdb__davlockdb_origin"><!-- --></a>Apache </span></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__UsageConsiderations">Usage Considerations</a></strong>: A LoadModule is required in
|
|
the configuration file prior to using the directive. The statement should
|
|
be as follows: LoadModule dav_fs_module /QSYS.LIB/QHTTPSVR.LIB/QZSRDAVF.SRVPGM</td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: DavLockDB /tmp/DavLock </td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p>The DavLockDB directive specifies 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. </p>
|
|
<dl class="block"><dt class="dlterm"><strong>Parameter</strong>: <em>filename </em></dt>
|
|
<dd><ul><li>The <em>filename</em> parameter specifies the full path to the lock database,
|
|
excluding an extension. </li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>This directive is required if you are using Dav with the default (filesystem)
|
|
provider. For example,</p>
|
|
<pre class="block">DavLockDB /tmp/DavLock</pre>
|
|
</div>
|
|
</div>
|
|
<div class="hr" id="davmintimeout"><a name="davmintimeout"><!-- --></a><h2 class="topictitle2">DavMinTimeout</h2>
|
|
<div>
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_dav </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: DavMinTimeout <em>seconds</em> </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: DavMinTimeout 0</td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="davmintimeout__davmintimeout_context"><a name="davmintimeout__davmintimeout_context"><!-- --></a>server config,
|
|
virtual host, directory </span></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: none </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="davmintimeout__davmintimeout_origin"><a name="davmintimeout__davmintimeout_origin"><!-- --></a>Apache </span></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__UsageConsiderations">Usage Considerations</a></strong>: A LoadModule is required in
|
|
the configuration file prior to using the directive. The statement should
|
|
be as follows: LoadModule dav_module /QSYS.LIB/QHTTPSVR.LIB/QZSRDAV.SRVPGM</td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: DavMinTimeout 600</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p>The DavMinTimeout directive specifies, in seconds, the minimum lock timeout
|
|
to return to a client. Microsoft<sup>®</sup> 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.</p>
|
|
<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. The maximum value for minutes is 166; the maximum value for seconds
|
|
is 9999. </p>
|
|
<dl class="block"><dt class="dlterm"><strong>Parameter</strong>: <em>seconds </em></dt>
|
|
<dd><ul><li>The <em>seconds</em> parameter is any integer value from 0 to 9999. </li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
<div class="hr" id="davqsyslockdb"><a name="davqsyslockdb"><!-- --></a><h2 class="topictitle2">DavQsysLockDB</h2>
|
|
<div>
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_dav </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: DAVQsysLockDB <em>library/filename </em></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="davqsyslockdb__davqsyslockdb_context"><a name="davqsyslockdb__davqsyslockdb_context"><!-- --></a>server config,
|
|
virtual host </span></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: none</td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="davqsyslockdb__davqsyslockdb_origin"><a name="davqsyslockdb__davqsyslockdb_origin"><!-- --></a>Modified</span></td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__UsageConsiderations">Usage Considerations</a></strong>: A LoadModule is required in
|
|
the configuration file prior to using the directive. The statement should
|
|
be as follows: LoadModule dav_qsys_module /QSYS.LIB/QHTTPSVR.LIB/QZSRDAVQS.SRVPGM</td>
|
|
</tr>
|
|
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: DAVQsysLockDB mylib/LockDB </td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p>The DAVQsysLockDB directive specifies the library qualified database file
|
|
that the QSYS repository manager uses to track user locks of QSYS resources.
|
|
The library must exist. The names of the library and file must follow the
|
|
QSYS file system naming rules. </p>
|
|
<dl class="block"><dt class="dlterm"><strong>Parameter</strong>: <em>library/filename </em></dt>
|
|
<dd><ul><li>The <em>library/filename</em> parameter specifies the library qualified
|
|
database file that the QSYS repository manager uses to track user locks of
|
|
QSYS resources. </li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html> |