WebDAVとは?
WebDAVとは、通常ドキュメントを閲覧する機能しかもたないWebサーバーの機能を拡張し、ファイルやフォルダをクライアント(Webブラウザ)から管理できるようにした仕様のことです。
WebDAVは、Webで用いられるプロトコルであるHTTPを拡張したものです。
従って、ポートもHTTPで用いられる80番(HTTPSの場合は443番)を利用するので、ファイアウォールで新規にポートを開放する必要がありません。
WebDAVの基本的な設定
WebDAVモジュールの有効化
Apacheの設定ファイルを開き、WebDAVモジュールが組み込まれているかを確認します。
Apache2.0系ではWebDAVを標準でサポートしているため、デフォルトでWebDAVモジュールが有効となっています。
# vi /etc/httpd/conf/httpd.conf
- 以下の2行が存在するか確認(行頭に#がある場合は#を削除すること) -
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
ロックファイルディレクトリの確認
WebDAVでロックを行うためのロックファイルを作成するディレクトリがどこに指定されているかを確認します。
Apache2.2の設定ファイルでは以下のようなになっていました。
# vi /etc/httpd/conf/httpd.conf
- DAVLockDBディレクティブを確認 -
#
# WebDAV module configuration section.
#
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
DAVLockDB <span class="red">/var/lib/dav/</span>lockdb
</IfModule>
最近のApacheではデフォルトでこの記述があるようですが、もし見当たらなかった場合は上記を設定ファイル内に追記しておきます。
WebDAV用Apache設定ファイル作成
ここでは/var/www/webdav/をWebDAVでの共有ディレクトリとして利用し、ベーシック認証は/var/www/.htpasswd/の内容をもとすることにして、WebDAV用のApache設定ファイルを生成します。
# vi /etc/httpd/conf.d/webdav.conf Alias /webdav/ "/var/www/webdav/" <Directory "/var/www/webdav"> AuthName "This directory requires user authentification." AuthType Basic AuthUserFile "/var/www/.htpasswd" Require valid-user Order deny,allow Deny from all Allow from all </Directory> <Location /webdav> Dav on </Location>
ディレクトリの設定
WebDAVで使用するディレクトリの設定を行います。
WebDAVを用いて公開しているディレクトリ内のフォルダやファイルを編集する際は、Apacheの実行ユーザーとしてアクセスしなければならないため、ディレクトリの所有者をApacheの実行ユーザーのものに変更します。
なお、Apacheの実行ユーザーはApacheの設定ファイルで確認できます。
# vi /etc/httpd/conf/httpd.conf - Apacheの実行ユーザーを確認 - User apache Group apache
- WebDAVで使用するディレクトリを新規作成 - # mkdir -m 700 /var/www/webdav # chown apache.apache /var/www/webdav
続いて、ファイルロック用のディレクトリの設定を行います。
# mkdir -m 700 /var/lock/dav # chown apache.apache /var/lock/dav
ベーシック認証の設定
このままでは誰でもアクセスできてしまうので、ベーシック認証による制限をかけます。
# htpasswd -c /var/www/.htpasswd username New password: Re-type new password: Adding password for user username
また、ここでは行いませんでしたが、機密度の高いファイルを置く場合はSSLなどで暗号化することが望ましいです。
ここまで設定が完了したら、Apacheを再起動させてWebDAVクライアントの設定を行えばOKです。
# /etc/init.d/httpd restart
WebDAVクライアントの設定
ここまでやったところでWebDAVのクライント設定を行いますが、WebDAVの最大のメリットはクライアントの設定次第で共有しているファイルを直接開いて編集したり上書き保存したりできることです。
専用のソフトウェアを別途インストールすることなく、Windows なら Explorer、Mac なら Finder でファイル、フォルダを管理できます。
WindowsのWebDAV接続
ここではWindowsXPでの例を解説します。
1.「マイネットワーク」の「ネットワーク プレースの追加」をダブルクリック
ネットワーク プレース追加のウィザードが立ち上がったら「次へ」をクリック
3.「インターネットまたはネットワークのアドレス」へ共有するディレクトリをURL指定して記述
ここで注意!アドレスの末尾に?をつけないと接続できない場合があります。?なしでも接続できる場合もあるのですが、原因がわかりません。
接続できない場合はアドレスの末尾に?をつけてやってみましょう。
記述したら「次へ」をクリック
Basic認証による制限をかけている場合は、ID・パスワードの入力も行います。
4.上記で設定したディレクトリのWindows上での名前を入力
わかりやすい名前を付け、「次へ」をクリック
エクスプローラーで設定したディレクトリに書き込みができるかチェックする(右クリック → 新規作成 でファイルやフォルダを作成してみる)
WindowsのWebDAV実装に関してはWEB上でも何かと批判も多いようなので、Windowsの場合はCarotDAVというフリーのWebDAVクライアントソフトを利用するのもおすすめです。
WebDAVクライアントソフト CarotDAV
MacでのWebDAV接続
OSXのFinderはデフォルトでWebDAVをサポートしているようです。
Finderの”移動”メニューから”サーバへ接続…”を選択。WebDAVフォルダのアドレスを入力し、BASIC認証を設定している場合はアカウントを入力します。
これだけでWebDAVフォルダをマウントできます。