webDAVを使う

debian でwebDAV をインストール

●webDAV って何?

HTTP プロトコルを用いてファイルをアップロード出来る HTTP 拡張プロトコルです。 webDAV 以外でファイルをサーバにアップロードするには FTP クライアントを使い FTP ポート20,21を利用して それを行っていました。当然この場合には FTP ポートを開けておかなければアクセスすることは出来ません。 ところが webDAV を利用することによって WEB サーバと同じ80番ポートを使いファイルをアップロード出来てしまいます。 つまりセキュアなサーバ運用ができると言うことらしいです。

●webDAV を入れちゃう

debian に於いては .deb パッケージで WebDAV が用意されております。 apt で libapache-mod-dav をインストールして下さい。

/etc/apache/httpd.conf で以下を確認

#----------
LoadModule dav_module /usr/lib/apache/1.3/libdav.so

# Added for mod_dav
Alias /dav/ /var/www/dav/

<Location /dav>
DAV On
<LimitExcept GET HEAD OPTIONS>
          AuthType Basic
          AuthName "WebDAV Secrity"
          AuthUserFile /etc/apache/DAVusers
          Require valid-user
     </LimitExcept>
LimitXMLRequestBody 0
</Location>


<IfModule mod_dav.c>
    DAVLockDB   /var/lock/DAV/DAVLock
    DAVMinTimeout 600
</IfModule>

#-----------

上記の設定では GET HEAD 以外のリクエストに於いては Basic 認証が必要になり、他人に勝手にファイルをいじられないようにしています。 ファイルのアップロードサイズを制限したい場合には LimitXMLRequestBody で指定して下さい。0 の場合は無制限です。 指定がない場合(default)は 1MB になります。

次に webDAV を利用するディレクトリを作成してアクセス権の設定

# mkdir /var/www/dav
# chown -R www-data:www-data /var/www/dav
# chmod -R 0770 /var/www/dav

Basic 認証の設定

Basic 認証に使われる passwd ファイルを作成する。

# cd /etc/apache
# htpasswd -c DAVusers hoge
New password:
Re-type new password:
Adding password for user hoge

として DAVusers が作成されたことを確認してください。 最後にrootでapache を再起動する。 ※ユーザーを追加する場合には -c オプションは付けないこと。 今までのユーザが消えちゃうよ。

●使ってみる

windows からのアクセス方法はマイネットワークを開きネットワークプレースの追加をクリックして webdav に指定したフォルダをフルアドレスで指定する。 例)http://www.example.org/dav ID,Password を入力するポップアップウィンドウが開くので自分で設定した ID,Password を入れてアクセスして下さい。ブラウザに直接ドラッグアンドドロップするだけで簡単にアップロードができます。 感じとしては samba でのファイル共有をインターネット経由で行ってるような感じですね。 アップロードしたファイルはブラウザに直接アドレスを入れることで誰でも見ることが出来ます。

●Apache のアクセスログを確認する

実際にブラウザからファイル(hoge.htm)をアップロードやデリートした時のaccess_log だ

192.168.0.6 - dell [01/Oct/2002:02:04:17 +0900] "PUT /dav/hoge.htm HTTP/1.1" 201 262 "-" "Microsoft Data Access Internet Publishing Provider DAV 1.1"
192.168.0.6 - dell [01/Oct/2002:02:04:01 +0900] "DELETE /dav/hoge.htm HTTP/1.1" 204 0 "-" "Microsoft Data Access Internet Publishing Provider DAV 1.1"
created:

Back to top