Apache HTTP サーバ バージョン 2.0

Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.0 > モジュール

# Apache モジュール mod_dav

説明: | 分散オーサリングとバージョン管理 (WebDAV) 機能
ステータス: | Extension
モジュール識別子: | dav_module
ソースファイル: | mod_dav.c

### 概要

このモジュールはクラス 1 とクラス 2 の WebDAV ('ウェブベースの分散オーサリングとバージョン管理') 機能を Apache に提供します。 この HTTP プロトコルの拡張により、リモートのウェブサーバ上にある リソースやコレクションを 作成、移動、複製、削除できるようになります。

mod_dav を有効にするには、`httpd.conf` ファイル中のコンテナに次を加えます:

`Dav On`

同時に `httpd.conf` ファイルの グローバルセクションに次を加えることによって、 DAV ロックデータベースのために使う 正当なファイル名を指定します:

`DavLockDB /tmp/DavLock (ウェブサーバの書き込めるファイル名で、 拡張子のないもの)`

### ディレクティブ

## Dav ディレクティブ

説明: | WebDAV HTTP メソッドを有効にします
構文: | Dav on|off
デフォルト: | `Dav off`
コンテキスト: | directory
ステータス: | Extension
モジュール: | mod_dav

与えられたコンテナで WebDAV HTTP メソッドが使えるようにするには、 `Dav` ディレクティブを使います。 DAV を有効にした場所へのアクセスを制限するためには、 `<Location>` ディレクティブ内部に `<Limit>` 節を加えます。

### 例

`DavLockDB /tmp/DavLock
<Location /foo>
Dav On
AuthType Basic
AuthName DAV
AuthUserFile user.passwd
<LimitExcept GET HEAD OPTIONS>
require user admin
</LimitExcept>
</Location>
`

## DavDepthInfinity ディレクティブ

説明: | PROPFIND, Depth: Infinity リクエストを許可します
構文: | DavDepthInfinity on|off
デフォルト: | `DavDepthInfinity off`
コンテキスト: | directory
ステータス: | Extension
モジュール: | mod_dav

'Depth: Infinity' を含んでいる PROPFIND リクエストを処理できるようにするには、 `DavDepthInfinity` ディレクティブを使います。このタイプのリクエストは denial-of-service アタックとなりうるので、 デフォルトでは許可されていません。

## DavLockDB ディレクティブ

説明: | DAV ロックデータベースの位置です
構文: | DavLockDB file-path
コンテキスト: | server config, virtual host
ステータス: | Extension
モジュール: | mod_dav

ロックデータベースへのフルパスを、拡張子を除いた形で 指定するには、`DavLockDB` を使います。デフォルトの mod_dav の (ファイルシステム) 実装では、ユーザロックを 追跡するために SDBM データベースを使います。サーバからは、 ロックデータベースに入っている全てのロックを表示するために `modules/dav/util/lockview` ユーティリティを使用できます。

### 例

`DavLockDB /tmp/DavLock`

## DavMinTimeout ディレクティブ

説明: | サーバが DAV リソースのロックを維持する最小時間です。
構文: | DavMinTimeout seconds
デフォルト: | `DavMinTimeout 0`
コンテキスト: | directory
ステータス: | Extension
モジュール: | mod_dav

クライアントが DAV リソースロックを要求した場合、 ロックがサーバによって自動的に解除されるまでの時間を 同時に指定することができます。この値は単なるリクエストであって、 サーバはこれを無視することもできますし、 任意の値をクライアントに通知することもできます。

クライアントに戻すロックタイムアウトの最小時間を、 秒で、指定するために `DavMinTimeout` ディレクティブを使います。 マイクロソフトのウェブフォルダのデフォルトでは 120 秒ですが； ネットワークの遅延のせいでクライアントがロックを失うのを減らすために、 `DavMinTimeout` を使って これをもっと大きな値 (例えば 600 秒) に上書きできます。

### 例

`<Location /MSWord>
DavMinTimeout 600
</Location>
`