自前サーバを運営していていつも困るのは、自宅で使用するデータと会社で使用するデータを共有したい時である。
もちろんWindowsを使うので、エクスプローラでファイルをドラックアンドドロップでコピーしたり、クリックして OLEで実行!みたいに運用したい。なんて言う人にはWebDAVの機能は最適である。WebDAVは、Apacheのアドオンモジュールとし実行される。したがって、プロトコルはhttpプロトコルを使用する。
クライアントは、IE5以降から実装された”Webフォルダ機能”を使用してサーバ側のファイルにアクセスする。 MS系のソフトには、都合が良く出来ており直接OLEで実行してファイルの編集等が可能になっている。 以降、最新のWebDAVの実装方法を説明する。
DAV構築環境の構成は、
OS : Debian GNU Linux3.0 Woody
Apache : ソース apache_1.3.28
以上の環境でセットアップした。
1.準備
■ WebDAVは、前述したようにApacheのアドオンモジュールなので、mod_davというソフトをインストールする。ソースファイルは ここ ダウンロードする。執筆時点(2003年10月)では、mod_dav-1.0.3-1.3.6.tar.gzが最新だった。
したがって、このバージョンにて説明を行う。
2.セットアップ
■ ロックファイル用ディレクトリの作成
# mkdir /var/lock ← ロックファイル用フォルダ作成
# mkdir /var/lock/mod_dav ← 同上
# chown nobody.nobody /var/lock/mod_dav
■ ソースの解凍
# tar -zxvf mod_dav-1.0.3-1.3.6.tar.gz
# cd mod_dav-1.0.3-1.3.6
■ コンパイル
# ./configure –with-apxs=/usr/local/apache/bin/apxs
# make
# make install
3.Webフォルダの作成
■ Apacheのhtdocs内にWebフォルダを作成する(ここでは、kyouyuと言うフォルダで運用)
# cd /usr/local/apache/htdocs
# mkdir kyouyu
# chown nobody.nobody kyouyu
4.Apacheのhttpd.confファイルの編集
# cd /usr/local/apache/conf
# vi httpd.conf
省略
LoadModule dav_module libexec/libdav.so
AddModule mod_dav.c
省略
<Location /dav>
DAV On
</Location>
Alias /dav /usr/local/apache/htdocs/kyouyu
DAVLockDB /var/lock/mod_dav/davlock
# Password Web Setting
<Directory /usr/local/apache/htdocs/kyouyu>
AllowOverride Limit AuthConfig
</Directory>
省略
5.起動
設定を全て終えたら、
# /usr/local/apache/bin/apachectl restart
で起動!
6.Windowsクライアントからの利用
クライアントからの利用は、簡単である。
手っ取り早いのは、IE(IE5以上)を立ち上げて、<ファイル> → <開く> → ”Webフォルダとして開く”にチェック印をつけて、URL例えば、”http://www.hogehoge.com/dav/”と入力して開く。 そうすると、フォルダが見えるはずである。
7.Linuxクライアントからの利用
Linuxクライアントからは、通常FTPライクなCadaverと言うクライアントモジュールを使用する。このモジュールは、例えばRedHat系ならRPMで用意されてるはずである。ソースなら、 ここ からゲットする。
./configureしてmake、make installでコンパイル&ビルド出来るはずである。
# cadaver http://www.hogehoge.com/dav/
Username: mity
password: *********
dav: dav/>
このような感じのプロンプトがでるここから通常のFTPコマンドで運用すればよい。
抜ける場合は、
dav: dav/> quit
で抜ける。
8.セキュリティ
このままでは、URLを入れれば誰でもファイルがのぞけてしまう。したがって、Apacheで認証をかけておく必要がある。手っ取り早く、ディレクトリへBasic認証をかけておく事をお勧めする。認証をかけるには、以下の方法で行う。
■ htpasswdコマンドでユーザ名とパスワードデータを作成する
# /usr/local/apache/bin/htpasswd -c /usr/local/apache/conf/mentepass mity
メッセージに沿って、パスワード入力する。
■ httpd.confにディレクトリ認証の記述を追加する(.htaccessファイルの作成)
Basic認証するための設定ファイルを作成する。
# /usr/local/apache/htdocs/kyouyu/.htaccess
AuthUserfile /usr/local/apache/conf/mentepass ← パスワードファイル
AuthGroupFile /dev/null
AuthName Kyouyu
AuthType Basic
<LimitExcept GET OPTIONS>
require user mity
</LimitExcept>
以上で、認証登録完了!
以上
コメント