Apache HTTP サーバ バージョン 2.4
翻訳済み言語: ko
説明: | 分散オーサリングとバージョン管理 (WebDAV) 機能 |
---|---|
ステータス: | Extension |
モジュール識別子: | dav_module |
ソースファイル: | mod_dav.c |
このモジュールはクラス 1 とクラス 2 の WebDAV ('ウェブベースの分散オーサリングとバージョン管理') 機能を Apache に提供します。 この HTTP プロトコルの拡張により、リモートのウェブサーバ上にある リソースやコレクションを 作成、移動、複製、削除できるようになります。
mod_dav を有効にするには、apache2.conf
ファイル中のコンテナに次を加えます:
Dav On
これは DAV ファイルシステムプロバイダを有効にします。DAV ファイルシステムプロバイダは Loodule
を使用して実行時にロードされている必要があります。
さらに、DAV ロックデータベースの場所が DavLockDB
ディレクティブを使って httd.conf
ファイルのグローバルセクションに指定されている 必要があります。
DavLockDB /usr/local/apache2/var/DavLock
ロックデータベースファイルのあるディレクトリは Apache が実行されている Group
に書き込み権限がある必要があります。
LimitRequestBody
ディレクティブは DAV リクエストに対しては効力を持ちません。
DavLockDB /usr/local/apache2/var/DavLock <Directory /usr/local/apache2/htdocs/foo> Require all granted Dav On AuthType Basic AuthName DAV AuthFile .wd <LimitExcept GET POST OPTIONS> Require </LimitExcept> </Directory>
DAV のアクセスメソッドは遠隔クライアントがサーバのファイルを 操作することを可能にしますので、 mod_dav
を使用する 前に、サーバが安全であることを特に注意して確認しなければなりません。
サーバ上の DAV が使用可能になっている場所はすべて認証で保護してください。 HTTP 基本認証の使用は推奨できません。少なくとも SSL が 有効なコネクションを通した基本認証を使うこともできます。
Group
に所有される ことになります。この理由から、そのアカウントへのアクセスを制御することは 重要です。DAV リポジトリは Apache 専用のものだとみなされています。 Apache 以外の方法でファイルを修正すること (例えば FTP やファイルシステム 用のツールなどを使って) は許可されていません。
DavDepthInfinity
ディレクティブは PROPFIND
リクエストが巨大リポジトリで大量のメモリを消費するのを 防ぐことができます。他のサービス拒否攻撃には単純に使用可能なディスク領域を 多くの大きなファイルで埋めてしまうんものがあります。これを直接防ぐ方法は Apache にはありませんので、信用できないユーザに DAV アクセスを提供するのは 避けた方が良いでしょう。
よくある要求に、mod_dav
を使って動的なファイル (PHP スクリプト、CGI スクリプトなど) を操作したいというものがあります。 これの実現は、GET
リクエストはスクリプトの内容をダウンロードさせる 代わりに、スクリプトを常に実行させてしまうので難しくなっています。 これを回避する方法には、二つの違う URL を同じコンテンツにマップし、 一つはスクリプトを実行させ、もう一つはダウンロードさせたり、DAV から 操作されたりするように設定するというものがあります。
Alias /phparea /home/gstein/php_files Alias /php-source /home/gstein/php_files <Location /php-source> Dav On ForceType text/plain </Location>
この設定により、http://example.com/phparea
を PHP スクリプトの 出力をアクセスするために使うことができ、 http://example.com/php-source
を DAV クライアントによる が操作のために使うことができます。
説明: | WebDAV HTTP メソッドを有効にします |
---|---|
構文: | Dav On|Off|provider-name |
デフォルト: | Dav Off |
コンテキスト: | ディレクトリ |
ステータス: | Extension |
モジュール: | mod_dav |
与えられたコンテナで WebDAV HTTP メソッドが使えるようにするには 次のようにします。
<Location /foo> Dav On </Location>
On
という指定は実際には 上記のセクション をご覧下さい。
説明: | PROPFIND, Depth: Infinity リクエストを許可します |
---|---|
構文: | DavDepthInfinity on|off |
デフォルト: | DavDepthInfinity off |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_dav |
'Depth: Infinity' を含んでいる PROPFIND
リクエストを処理できるようにするには、 DavDepthInfinity
ディレクティブを使います。このタイプのリクエストは denial-of-service アタックとなりうるので、 デフォルトでは許可されていません。
説明: | サーバが DAV リソースのロックを維持する最小時間です。 |
---|---|
構文: | DavMinTimeout seconds |
デフォルト: | DavMinTimeout 0 |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_dav |
クライアントが DAV リソースロックを要求した場合、 ロックがサーバによって自動的に解除されるまでの時間を 同時に指定することができます。この値は単なるリクエストであって、 サーバはこれを無視することもできますし、 任意の値をクライアントに通知することもできます。
クライアントに戻すロックタイムアウトの最小時間を、 秒で、指定するために DavMinTimeout
ディレクティブを使います。 マイクロソフトのウェブフォルダのデフォルトでは 120 秒ですが; ネットワークの遅延のせいでクライアントがロックを失うのを減らすために、 DavMinTimeout
を使って これをもっと大きな値 (例えば 600 秒) に上書きできます。
<Location /MSWord> DavMinTimeout 600 </Location>
翻訳済み言語: ko