LionをWebDAVサーバにする(Digest認証対応)

2017年5月15日パソコン・インターネット

以前、Mac OS X 10.5.8が動いているPowerMac G4/MDDを、WebDAVサーバにしていました。

iPod touch/iPadからアクセスできるようになって、便利でした。

OS X 10.7 Lionに変更してから、WebDAVが動かなくなり、困っていました。やっと、対応方法がわかりました。

基本的には、Leopardの時と同じ方法です。

ただ、一カ所だけ修正する必要があります。

DAVLockDB /Users/Dav/DavLock
DAVMinTimeout 600
<IfModule alias_module>
    Alias /dav/username "/Users/Dav/username"
</IfModule>
<Directory "/Users/Dav/username">
    Dav On
    AllowOverride None
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 192.168.0.
    Options Indexes FollowSymLinks MultiViews
    AuthType Digest
    AuthName WebDAV
    AuthUserFile /Users/Dav/dav_digest
    <LimitExcept GET HEAD OPTIONS>
        require valid-user
    </LimitExcept>
</Directory>

AuthDigestFileではなく、AuthUserFileに変更する必要があります。Lionになって、Apache2のバージョンがあがり、認証ファイルを読み込む設定が変更になったようです。

これを修正したところ、Finderから接続できるようになりました。

接続できるようになり、ファイルを読み出すことはできるものの、何かファイルを作ろうとすると、次のエラーが出て悩まされていました。

20120218webdav_error36

「一部のデータを読み込めないか書き込めないため、操作を完了できません。(エラーコード -36)」

「エラーコード “-36″」で検索すると、フォルダ内に、"._"で始まるファイルがあるとこのエラーになるらしいです。

ですが、該当する、フォルダ"/Users/Dav/username"内には、そういうファイルはいっさいありません。

う〜ん、困った。

/var/log/apache2/error_logをよ〜く見てみると、次のエラーがあるのを発見しました。

Could not open the lock database.

ロックファイルを作れていないんじゃないか?

もう一度、設定ファイルを見てみたら、Apache2のプロセス(httpd、_www:_www)が書き込めない場所にロックファイルを設定しているのを発見しました。

これを正しく直して、Webサーバを再起動したところ、無事に書き込めるようになりました。

[amazonjs asin="4774119113" locale="JP"]

【関連記事】

Posted by お市のかた