まずはデフォルトで用意されているWebDAの設定を使ってみる。
1.httpd.confの修正
httpd.confにてWebDAV用モジュールと設定ファイル、あとそのWebDAV設定ファイルに記載
されている、必要モジュールの有効化をする(コメントを外す)。
>>
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule auth_digest_module modules/mod_auth_digest.so
Include conf/extra/httpd-dav.conf
<<
2.WebDAVのデフォルト設定ファイル(httpd-dav.conf)の確認
httpd-dav.confを見ると、
・対象フォルダをDocumentRoot外のフォルダ(/usr/local/apache2/uploads)をAliasで
/uploadsと見せかけている
・Digest認証が設定されている。プロバイダはファイル。
・以下の条件をいずれかを満たせばアクセスOK。
-メソッドがGET POST OPTIONSであること
-userはadminであること
となっていますね。この設定のまま使ってみよう。
3.ディレクトリの作成
httpd-dav.confにあったディレクトリを作成する。まずはDavLockDB用のディレクトリ。
# mkdir /usr/local/apache2/var
# chown apache:apache /usr/local/apache2/var
次はWebDAV用のディレクトリ。
# mkdir /usr/local/apache2/uploads
# chown apache:apache /usr/local/apache2/uploads
# /usr/local/apache2/bin/htdigest -c "/usr/local/apache2/user.passwd" DAV-upload admin
でパスワードを求められるので設定。
これで完了いうことで、ブラウザからつついてみる。あれ??403が返ってくる。
認証の問題なのか?と思い、digest認証部分をすべて外してみるが、やはり変わらない。
ということで調査開始。
5.apacheのログをデバックモードに変更
httpd.confに記載されている個所を変更
>>
#LogLevel warn
LogLevel debug
<<
apacheを再起動。
# service httpd graceful
これで再度ブラウザから試してみると、ログ(/usr/local/apache2/logs/error_log)に以下の
エラーメッセージが出ていました。
Cannot serve directory /usr/local/apache2/uploads/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive
ディレクトリ参照が禁止されてとのことらしい。DocumentRootには
Options Indexes FollowSymLinks
がついているし、なぜディレクトリ参照が禁止されているのだろう。。。あっ!今回使ったapacheの
サンプルは、aliasを使ってDocumentRoot配下以外のディレクトリを参照させる設定になってまし
たね。ということは、そこにもOptionsを記載をしないと、そもそも参照ができないってことですね。
サンプルのhttpd-dav.confを使っているので、そこに追記し、再起動してみる。
>>
<Directory "/usr/local/apache2_2/uploads">
Dav On
AuthType Digest
AuthName DAV-upload
# You can use the htdigest program to create the password database:
# htdigest -c "/usr/local/apache2/user.passwd" DAV-upload admin
AuthUserFile "/usr/local/apache2/user.passwd"
AuthDigestProvider file
# Allow universal read-access, but writes are restricted
# to the admin user.
<RequireAny>
Require method GET POST OPTIONS
Require user admin
</RequireAny>
Options Indexes FollowSymLinks ★
</Directory>
<<
再起動後にブラウザでアクセスすると、、無事アクセスができました。
そこで改めて、Windows8からWebDAVとしてアクセスをしてみると、認証後(admin)無事アクセスが
できました。
ちなみに、、上記の★が本当に必要なのか?今一度はずしてみると、ブラウザはアクセスはできませんが、WebDAVは参照できました!
ということで、デフォルトの設定でWebDAVをアクセスすることができました。
めでたしめでたし。
0 件のコメント:
コメントを投稿