|
|
ネットワーク No. 469 WebDAV によるファイル共有
【解説】
WebDAV とは HTTP/1.1 の拡張機能の一つで、HTTP を使用してサーバー/クライアント
間のファイル転送を可能とし、Webサーバーによるファイル共有を可能とする機能です。
Turbolinux 7 Server から Apache の WebDAV モジュールである mod_dav がサポート
されます。なお、現在のWebDAVモジュールは、日本語を正しく処理することができま
せん。そこで、mod_encoding モジュールを使用して日本語に対応させます。
WebDAV に対応している主なクライアントとしては、
Internet Exploler 5
Mac OS X
cadaver
等があります。
【設定】
(1) apache と mod_dav パッケージがインストールされている事を確認します。
# rpm -q apache
# rpm -q mod_dav
(2) dev_module と encoding_module が apache の httpd.conf ファイルに定義されて
いることを確認します。
この設定は、初期状態で記述されていますので、特に編集する必要はありません。
[/etc/httpd/conf/httpd.conf]
-------------------------------------------------------------------
LoadModule dav_module /usr/libexec/apache/libdav.so
LoadModule encoding_module /usr/libexec/apache/mod_encoding.so
...(省略)
AddModule mod_dav.c
AddModule mod_encoding.c
-------------------------------------------------------------------
(3) httpd.conf にWebDAVの設定を追記します。
[/etc/httpd/conf/httpd.conf]
-----------------------------------------
#
# WebDAV setting
#
<IfModule mod_dav.c>
DAVLockDB "/var/lock/apache/DAVLock"
DAVMinTimeout 600
<Location /WebDAV>
DAV On
</Location>
</IfModule>
-----------------------------------------
(4) ロックファイルを作成します。
# cd /var/lock/
# mkdir apache
# touch apache/DAVLock
# chmod 640 apache/DAVLock
# chmod 700 apache
# chown -R nobody.nobody apache
(5) ファイル共有ディレクトリを作成します。
# cd /var/www/html/
# mkdir WebDAV
# chmod 700 WebDAV
# chown nobody.nobody WebDAV
(6) httpd.conf に mod_encoding の設定を追記します。
mod_encoding を設定し、日本語ファイル名が扱えるようにします。
httpd.conf に以下の記述を追加してください。
[/etc/httpd/conf/httpd.conf]
--------------------------------------------------
<IfModule mod_encoding.c>
EncodingEngine on
SetServerEncoding UTF-8
AddClientEncoding SJIS "Microsoft .* DAV"
AddClientEncoding SJIS "xdwin9x/"
AddClientEncoding EUC-JP "cadaver/"
</IfModule>
--------------------------------------------------
AddClientEncoding行には、各クライアントの UserAgent 名とエンコーディングを追加
してください。
(7) 動作確認
WebDAV クライアントからアクセスし、ファイルの共有が正常に動作することを確認し
てください。各クライアントの設定方法につきましては、各クライアントに付属の
マニュアル類をご参照ください。
Windows2000の場合:
「マイネットワーク」を開き、「ネットワークプレースの追加」を開きます。すると、
「ネットワークプレースの追加ウィザード」が開始されますので、指示に従って設定を
行ってください。設定が完了すると、「マイネットワーク」にネットワークプレースが
追加されています。これを開き、ファイルをドラック&ドロップする事によってファイル
を送受信することが可能です。
(8) 認証の設定を行います。
このままでは誰でもアクセスできるので、セキュリティ上問題になります。
そこで WebDAV ディレクトリに基本認証機能を設定します。
(3) の設定部分を以下のように変更してください。
[/etc/httpd/conf/httpd.conf]
-------------------------------------------------------------------------------
#
# WebDAV setting
#
<IfModule mod_dav.c>
DAVLockDB "/var/lock/apache/DAVLock"
DAVMinTimeout 600
<Location /WebDAV>
DAV On
AllowOverride None
Options None
AuthUserFile /var/www/DAVUsers
AuthGroupFile /dev/null
AuthName PublicFolder
AuthType Basic
# 指定ユーザのみ読み書きが可能となる設定
<Limit HEAD PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user davuser
</Limit>
# 書き込み時のみ認証を実行する設定
# <LimitExcept GET HEAD OPTIONS>
# Require valid-user
# </LimitExcept>
</Location>
</IfModule>
-------------------------------------------------------------------------------
(9) 認証ファイルの作成とユーザの追加
/var/www/DAVUsers に davuser ユーザを追加します。
# htpasswd -c /var/www/DAVUsers davuser
【注意】
Turbolinux 7 Server にインストールされる mod_encoding は、未完成の部分が残って
おり、以下のような問題が発生する場合があります。これらの問題については、将来の
バージョンで修正される予定です。
1. 「〜」などの特定の文字が Microsoft WebFolder で使用できません。
2. Microsoft WebFolder には、ファイル名を UTF-8 で送信するものと (MS-)SJIS で
送信するものの二種類があり、これを正しく判別できません。
【参考】
WebDAV Resources:
http://www.webdav.org/
a DAV module for Apache:
http://www.webdav.org/mod_dav/
# rpm -qd mod_dav
で表示されるドキュメントファイル
apache WebDAV 関連文書
Last modified : Thu Oct 06 JST 2005 # 2
|
Copyright © Turbolinux, Inc..All Right Reserved.

