mod_dav

最終更新日時:2009-03-31 12:36:30
Apache

mod_davとは


mod_davを使用すると、ApacheでWebDAV機能を提供できるようになります。

インストール


1.0.3の例です。
以降、ApacheがDSO対応で既にインストールされていることを前提にしています。

mod_davの配布サイトからアーカイブを取得し、展開します。

 % gzip -dc mod_davmod_dav-1.0.3-1.3.6.tar.gz | tar xvf -
 % cd mod_dav-1.0.3-1.3.6


あとはお決まりの手順なのですが、configure時に apxs の path を指定する必要があります。
また、私の環境では expat の path も指定しないと、インストール後にリンクエラーが出てしまいましたので、--with-expat で指定しています。

 % ./configure --with-apxs=/usr/local/apache/bin/apxs --with-expat=/usr/local/apache
 % make
 % su
 # make install


設定


make installで自動的に追記されているはずですが、httpd.confでdav_moduleを読み込むように指定されていることを確認します。

 LoadModule dav_module         libexec/libdav.so


あとは、以下のようにWebDAV機能を提供したいURLに対しての挙動を設定します。

 <Location /dav>
    DAV On
    <Limit PUT DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
        Require user admin
    </Limit>
 </Location>


上記では、コピー、移動、削除等ほとんどの操作をadmin以外のユーザーで無効としています。

WebDAVの開き方


IEであれば [ ファイル ] - [ 開く ] - "Web フォルダとして開く" にチェックを入れてURLを指定して開けばWebDAVのフォルダとして開くことができます。
Firefoxではプラグインが必要のようです。

また、上記のようにURLを指定するのではなく、リンク先をWebDAVとして開きたい場合には、以下のように記述するとIEではWebDAVとして開き、Firefoxではhrefのリンク先を普通に開くような挙動となるようです。
※Firefoxの WebDAV関係のプラグインの挙動は未確認

 <a style="behavior: url('#default#AnchorClick')" href="http://xxx.xxx/dav/" Folder="http://xxx.xxx/dav/">WebDAV領域</a>


日本語について


mod_davでは日本語のファイル名を使用する場合に問題があるようです。
※私はWebDAVは参照オンリーで使用しているので、特に問題になったことがない

日本語回りの問題を解消するには、mod_encodingというものを使うとよいようです。
WebDAV Resources JPにて配布されています。

お問い合わせは 掲示板 にて。