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"