Apache HTTP サーバ バージョン 2.4

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

# Apache モジュール mod_dav_lock

説明: | `mod_dav` 用の汎用ロックモジュール
ステータス: | Extension
モジュール識別子: | dav_lock_module
ソースファイル: | mod_dav_lock.c
互換性: | バージョン 2.1 以降

### 概要

このモジュールは `mod_dav` のどのバックエンド からでも使える汎用ロック API を提供します。 使用には最低限 `mod_dav` を必要としますが、これを利用するバックエンドが存在しないと役に立たないので、 そのような場合はサーバに読み込むべきではありません。 `mod_dav_lock` を実際に利用するバックエンドモジュールの例としては subversion プロバイダモジュールの mod_dav_svn があります。

`mod_dav_fs` は特化された専用のバージョンを 使うため、この汎用モジュールは必要ないことに注意して ください。

`mod_dav_lock` を機能させるには、 以下で説明されている `DavGenericLockDB` を使って ロックデータベースの場所を指定するだけです。

### 開発者向けのメモ

ロックを提供している関数へのポインタを取得するためには、 `ap_lookup_provider` API を、引数 `dav-lock`, `generic`, `0` を指定して使う必要が あります。

### ディレクティブ

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

### 参照

- `mod_dav`

## DavGenericLockDB ディレクティブ

説明: | DAV ロックデータベースの場所
構文: | `DavGenericLockDB file-path`
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ
ステータス: | Extension
モジュール: | mod_dav_lock

`DavGenericLockDB` ディレクティブを 使って、拡張子を除いたロックデータベースへのフルパスを 指定します。絶対パスでないときは `ServerRoot` からの相対パスとして 扱われます。`mod_dav_lock` の実装ではユーザの ロックを追跡するのに SDBM データベースを使います。

### 例

    DavGenericLockDB var/DavLock

ロックデータベースファイルのあるディレクトリは Apache が実行されている `User` と `Group` によって 書き込み可能でなければなりません。セキュリティ上の理由から、 既存のディレクトリのパーミッションを変更するのではなく、 専用のディレクトリを作るのが良いでしょう。上の例では、 Apache は `ServerRoot` の下の `var/` ディレクトリに、ファイル名の本体が `DavLock` で サーバが追加する拡張子を持つファイルを作成します。