Kozupon.com    
 
 新WebDAVでファイル共有!


自前サーバを運営していていつも困るのは、自宅で使用するデータと会社で使用するデータを共有したい時である。
もちろん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>

以上で、認証登録完了!

以上


 
 
 



Copyright 2005 Kozupon.com.