mod_dav_lock
mod_dav
用の汎用ロックモジュール
Extension
mod_dav_lock.c
dav_lock_module
バージョン 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` を指定して使う必要が あります。

mod_dav
DavGenericLockDB
DAV ロックデータベースの場所
DavGenericLockDB file-path
server config
virtual host
directory

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

# 例

DavGenericLockDB var/DavLock

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