koba::blog

小林聡: プログラマです

WebDAVの設定

続いては、mod_davでWebDAVを構築する。

別にMacBook上にWebDAVを構築する意味などないのだが、今までWebDAVの設定はしたことがなかったので、試してみた。

ロックファイル用ディレクトリの作成

WebDAVのロックファイルはrootではなくApacheを動作させるユーザの権限(LeopardApacheの場合 www)で作られるらしい。なので、ロックファイルを置くディレクトリをあらかじめ作成し、持ち主を www にしておく。

# mkdir /etc/apache2/dav
# chown www:staff /etc/apache2/dav

WebDAV用のディレクトリの作成

WebDAVとして見えるディレクトリも同様に作成する。

# mkdir /Library/WebServer/share/dav
# chown www:staff /Library/WebServer/share/dav

どこに置くか迷ったけど、DocumentRoot近辺にしておいた。

パスワードファイルの設定

デフォルトのApacheの設定ではDigest認証を使うようになっていたので、Digest認証用のパスワードファイルを作成する。

# htdigest -c /etc/apache2/passwd.digest DAV koba

DAVはレルムの名前、kobaがユーザ名。

httpd.conf の設定

以下の行は多分最初から有効になっている。

LoadModule dav_module libexec/apache2/mod_dav.so
  ...
LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so

以下の行を有効にする。

# Distributed authoring and versioning (WebDAV)
Include /private/etc/apache2/extra/httpd-dav.conf

extra/httpd-dav.conf の設定

元のファイルにはいろいろ設定があったけど、簡潔に以下だけにした。

DavLockDB "/etc/apache2/dav/DavLock"
Alias /dav "/Library/WebServer/share/dav"
<Location "/dav">
    Dav On
    SSLRequireSSL

    Order Allow,Deny
    Allow from all

    AuthType Digest
    AuthName DAV
    AuthUserFile "/etc/apache2/passwd.digest"
    AuthDigestProvider file
    <LimitExcept GET OPTIONS>
        require user koba
    </LimitExcept>
</Location>

SSLRequireSSL を指定すると、httpsでのアクセスしか許さないようになる。

Apacheを再起動すればWebDAVが有効になってます。