Kozupon.com    
 
 ネット越しでファイル共有!


自前サーバを運営していていつも困るのは、自宅で使用するデータと会社で使用するデータを共有したい時である。
もちろん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で認証をかけておく必要がある。
手っ取り早く、ディレクトリ認証をかけておく事をお勧めする。
認証をかけるには、以下の方法で行う。

■ htpasswdコマンドでユーザ名とパスワードデータを作成する
# /usr/local/apache/bin/htpasswd -c /usr/local/apache/conf/mentepass mity
メッセージに沿って、パスワード入力する。

■ .htaccessファイルへディレクトリ認証の記述を追加する(.htaccessファイルの作成)
Basic認証するための設定ファイルを作成する。

# vi /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>

以上で、認証登録完了!

■ .htaccessを使わないでhttpd.confの記述だけでBasic認証する
# cd /usr/local/apache/conf
# vi httpd.conf

<Directory "/usr/local/apache/htdocs/kyouyu">
  AuthType Basic
  AuthName "product planning department"
  AuthUserFile /usr/local/apache/conf/mentepass ← パスワードファイル
  Require user mity
</Directory>

以上で認証登録完了。

以上


 
 
 



Copyright 2005 Kozupon.com.