2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

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

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

以上で認証登録完了。

以上

コメント