LANDISK HomeをWebDAVサーバにした時の苦労話
IODATAのNAS、LANDISK HomeをWebDAVサーバにしました。
[amazonjs asin="B000PGVH92" locale="JP"]でき上がってみると、たいした事をしていないのですが、きちんと動くようになるまでが大変でした。合計8時間かかっています。
基本接続に1時間(正味10分)、Digest認証できるまでに2時間、Windows7からも接続できるようにするまでに2時間、LANDISKの再起動に対応するために2時間、そしてその他の検証に1時間と言う感じです。
失敗談を書いても仕方がないじゃない? と思われる方もいらっしゃると思いますが、自分で何かをする時には、他の人の失敗例から学ぶ事が多いのです。そういう訳で、苦労した点をまとめてみます。
最初の基本接続は簡単でした。それまで、色々調べていたので、必要なモジュールをロードするようにした事、WebDAVの設定ファイルを、Mac OS X Leopardからコピーして来た程度です。最初は、認証なしの、アドレス(URL)さえ入力すればすぐにつながる設定です。
本当に、10分位でつながるようになりました。「楽勝じゃん!」と思いました。
次は、Basic認証です。htpasswdコマンドで作ったパスワードファイルを、WebDAVの設定ファイルから呼び出すだけです。AuthType Basicと、AuthUserFileを書き足します。
Mac OS X Leopardから、簡単に接続できました。ここまでで、1時間位かな。
そして、Digest認証化です。Basic認証のままだと、ネットワーク上に平文でIDとパスワードが流れてしまうのです。
パスワードを作るコマンドが、htdigestに変更になります。パスワードファイルをWebDAVの設定ファイルに追加して、接続試験をしてみると…。つながらない!!
LANDISK Homeの中を漁っていると、"/etc/apache2/mods-available/auth_digest.load"と言うファイルを見つけました。これが、Digest認証をしているモジュールだ!! と気が付き、追加しましたけれど、やはりつながりません。
/var/log/apache2/error.logを見てみると、"configuration error: couldn’t check user. No user file?"と言うエラーが出ていました。
「User Fileが無い? おかしいなぁ、ちゃんと指定しているはずなのに…。」と、ずっと悩んでいました。
こんな時は、Google先生に聞くのが一番です。"configuration error: couldn’t check user. No user file?"で検索して、英語のサイトばかり見ていたのですが、わかりませんでした。
実は、検索トップにでていた、次の日本語のページに書いてあったのです。その通りに修正した所、うまく行きました。ありがとうございます。
最初、Basic認証で設定したので、AuthUserFileになっていました。Digest認証の場合は、AuthDigestFileで指定するのですね。
なぜ、これに気が付かなかったかと言うと、Mac OS X LeopardのApache2では、AuthUserFileのまま、Digest認証ができていたのです。Mac OS X LeopardのApache2は、多分、拡張仕様になっているのでしょう。
- LeopardをWebDAVサーバにする(Digest認証対応)[訂正あり]: プラスα空間
- SVNリポジトリをhttp(WebDAV)でアクセス出来るようにする(Digest認証化)[訂正あり]: プラスα空間
元記事を訂正しておきました。
ここまで来るのに、更に2時間経過。
iPod touch/iPadからも、接続できる事を確認していました。良い感じ!!
じゃあ、Windows7からもつないでみよう! と試してみた所、正しいIDと正しいパスワードを入力しても、接続できません。おかしいなぁ…。
その時、色々検索してわかったのですが、Windows7では、Basic認証のWebDAVサーバにはデフォルトで接続できないようになっているのですね。接続するには、レジストリの書き換えが必要との事です。
次のサイトがわかりやすいと思います。ありがとうございます。
Mac OS X Leopardで、Digest認証できているはずなのに、なぜ、Windows7ではじかれるのか、全くわかりませんでした。試しに、Basic認証にして、Windows7のレジストリを書き換えてもダメです。つながりません。
ログファイル/var/log/apache2/access.logを見ると、次のメッセージが残っていました。
“PROPFIND /dav HTTP/1.1" 405 343 “-" “Microsoft-WebDAV-MiniRedir/6.1.7600"
また、Google先生に聞いてみます。見つけたのは、次のサイトです。
ありがとうございます。同じように、設定してみました。でも、違いました…。残念。
そもそも、"405″エラーってなんだろう?
許可されていないアクセス? “/dav"に? はて…。と悩みました。そして、見つけたのが次の設定です。
Alias /dav/ "/mnt/sataraid1/share/webdav/dav/"
もう、かなり諦めかけた頃にわかったのが、"/dav/“となっている所でした。終わりの"/"が余分なのです。これを"/dav"に書き換えたら、あっさりつながりました。やったー!!
この設定間違いを見つけるのにも、2時間かかりました。
一安心していたら、家人から、LANDISK HomeにAFPでアクセスできないと言われました。何か、設定を間違ったかな? と思って、LANDISK Homeを再起動しました。再起動後、無事、AFPでつながるようになりました。
ところが、WebDAVでアクセスすると、ファイルのダウンロードはできるのに、ファイルを書き込めないと言う状態になりました。何でだろう…。
/var/log/apache2/error.logを見てみると、"Could not open the lock database. [500, #400]"と"(13)Permission denied: Could not open property database. [500, #1]"と言うエラーが出ていました。これは、WebDAVのロックファイルが作られていないと、すぐにわかりました。
最初、ロックファイルは、次のように指定していました。
DAVLockDB /var/lock/apache2/DAVLock
“/etc/apache2/mods-available/dav_fs.conf"を見たら、そう書いてあるのですもの。そのまま、マネしましたよ。/var/lock/apache2と言うディレクトリもあります。ただ、owner/groupが違ったので、apache/apacheにしておきました。
LANDISK Homeを再起動する前までは、これで動いていたのです。ところが、LANDISK Homeを再起動すると、owner/group情報が元に戻ってしまい、WebDAVのロックファイルが作られなくなってしまうのです。
困りました。どこで、owner/groupを設定しているのだろうか…。
悩んだ末、逆転の発想で、誰でも書ける所にロックファイルを置けば良い事に気が付きました。それが、/var/lock/lanicnと言うディレクトリです。ディレクトリのモードが777になっています。再起動しても、いつも777です。ここだ!!
DAVLockDB /var/lock/lanicn/DAVLock
上記のように書き換える事で、再起動しても、ロックファイルが作られるようになりました。
この発想に至るまで、また2時間経過していました。
この他に、色々、接続検証をして2時間位かかっていると思います。
はぁ〜、疲れた。この記事が、どこかの誰かの役に立ちますように。
ディスカッション
コメント一覧
まだ、コメントがありません