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

Apache モジュール mod_dav 1k5n6p

翻訳済み言語:  ko 

この日本語訳はすでに古くなっている 可能性があります。 最近更新された内容を見るには英語版をご覧下さい。
説明: 分散オーサリングとバージョン管理 (WebDAV) 機能
ステータス: Extension
モジュール識別子: dav_module
ソースファイル: mod_dav.c

概要 556s3t

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

 Apache!

トピック 5t1b46

ディレクティブ 1f1n39

Bugfix checklist 4i2533

参照 493q1h

top

Enabling WebDAV 4k2e24

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

Dav On

これは DAV ファイルシステムプロバイダを有効にします。DAV ファイルシステムプロバイダは Loodule を使用して実行時にロードされている必要があります。

さらに、DAV ロックデータベースの場所が DavLockDB ディレクティブを使って httd.conf ファイルのグローバルセクションに指定されている 必要があります。

DavLockDB /usr/local/apache2/var/DavLock

ロックデータベースファイルのあるディレクトリは Apache が実行されている Group に書き込み権限がある必要があります。

LimitRequestBody ディレクティブは DAV リクエストに対しては効力を持ちません。

完全な例 181uz

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>
top

セキュリティの問題 6x506j

DAV のアクセスメソッドは遠隔クライアントがサーバのファイルを 操作することを可能にしますので、 mod_dav を使用する 前に、サーバが安全であることを特に注意して確認しなければなりません。

サーバ上の DAV が使用可能になっている場所はすべて認証で保護してください。 HTTP 基本認証の使用は推奨できません。少なくとも SSL が 有効なコネクションを通した基本認証を使うこともできます。

Group に所有される ことになります。この理由から、そのアカウントへのアクセスを制御することは 重要です。DAV リポジトリは Apache 専用のものだとみなされています。 Apache 以外の方法でファイルを修正すること (例えば FTP やファイルシステム 用のツールなどを使って) は許可されていません。

DavDepthInfinity ディレクティブは PROPFIND リクエストが巨大リポジトリで大量のメモリを消費するのを 防ぐことができます。他のサービス拒否攻撃には単純に使用可能なディスク領域を 多くの大きなファイルで埋めてしまうんものがあります。これを直接防ぐ方法は Apache にはありませんので、信用できないユーザに DAV アクセスを提供するのは 避けた方が良いでしょう。

top

複雑な設定 2q1j3g

よくある要求に、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 クライアントによる が操作のために使うことができます。

top

Dav ディレクティブ 9725n

説明: WebDAV HTTP メソッドを有効にします
構文: Dav On|Off|provider-name
デフォルト: Dav Off
コンテキスト: ディレクトリ
ステータス: Extension
モジュール: mod_dav

与えられたコンテナで WebDAV HTTP メソッドが使えるようにするには 次のようにします。

<Location /foo>
    Dav On
</Location>

On という指定は実際には 上記のセクション をご覧下さい。

サーバのセキュリティが確保できるまで WebDAV を有効にしないでください。 そうしなければ誰でもそのサーバでファイルを配布することができるように なってしまいます。
top

DavDepthInfinity ディレクティブ 4s4p4s

説明: PROPFIND, Depth: Infinity リクエストを許可します
構文: DavDepthInfinity on|off
デフォルト: DavDepthInfinity off
コンテキスト: サーバ設定ファイル, バーチャルホスト, ディレクトリ
ステータス: Extension
モジュール: mod_dav

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

top

DavMinTimeout ディレクティブ 2j6w47

説明: サーバが DAV リソースのロックを維持する最小時間です。
構文: DavMinTimeout seconds
デフォルト: DavMinTimeout 0
コンテキスト: サーバ設定ファイル, バーチャルホスト, ディレクトリ
ステータス: Extension
モジュール: mod_dav

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

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

例 3m3os

<Location /MSWord>
    DavMinTimeout 600
</Location>

翻訳済み言語:  ko 

top

コメント 625547

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our s if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.