ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaie_5.4.0.1/rzaiemod_dav.htm

298 lines
18 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?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 &lt;Limit&gt; 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
&lt;Location /foo&gt;
Dav on
&lt;/Location&gt;</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
&lt;Directory /qsys.lib/webserver.lib*&gt;
Dav qsys
&lt;/Directory&gt;</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">&lt;Directory /&gt;
AllowOverride None
Order Deny,Allow
Deny From all
Dav filesystem
&lt;/Files&gt;
Dav off
&lt;/Files&gt;
&lt;/Directory&gt;</pre>
<p>Another invalid example: </p>
<pre class="block">&lt;Directory /www/parentDirectory&gt;
Dav filesystem
&lt;Directory&gt;
&lt;Directory /www/parentDirectory/childDirectory&gt;
Dav off
&lt;/Directory&gt;</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>