WebDAV 機能を導入する
ウェブサーバーは、CGI などを使用して、クライアントからサーバーにファイルやデータを送信することができます。 しかし、ファイルを操作することができないため、ファイルを操作する場合には、FTP や Samba などの機能を利用する必要があります。 もちろん、FTP を利用する場合には、FTP サーバーの構築、Samba を利用する場合には、Samba サーバーの構築というようにそれぞれのサーバー機能を構築する必要があります。
WebDAV 機能は、FTP や Samba とは異なりウェブサーバーを利用してファイルの操作を行うため、クライアントとサーバー間のファイル転送は最小限で行われるほか、可能な限りの操作がサーバーサイドで行われるため、インターネットを経由した操作でも効率的にファイルを操作することができます。
ここでの説明は、ウェブサーバーの構築が完了していることを前提としています。
モジュールの確認
WebDAV モジュールが組み込まれているか確認します。
[root@web ~]# vi /etc/httpd/conf/httpd.conf
# # Dynamic Shared Object (DSO) Support # # To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule' lines at this location so the # directives contained in it are actually available _before_ they are used. # Statically compiled modules (those listed by `httpd -l') do not need # to be loaded here. # # Example: # LoadModule foo_module modules/mod_foo.so # : ( 中略 ) : LoadModule usertrack_module modules/mod_usertrack.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule mime_module modules/mod_mime.so LoadModule dav_module modules/mod_dav.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule info_module modules/mod_info.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so : ( 中略 ) :
[ CentOS 5 ]
ディレクトリの有効化
WebDAV を利用する際、URL ディレクトリを有効化する必要があります。
(Ex. http://localhost/webdav/ が URL ディレクトリの場合)
URL ディレクトリの所有者、所有グループを変更する
[root@web ~]# chown -R apache:apache /var/www/html/webdav/
[ CentOS 5 ]
ウェブサーバーの再起動
WebDAV に関するウェブサーバーの設定を変更します。
[root@web ~]# vi /etc/httpd/conf/httpd.conf
Alias /webdav "/var/www/html/webdav" <Location /webdav> # WebDAV を有効化 DAV On # SSL 通信暗号化機能を使用 SSLRequireSSL # ウェブページのアクセス制限機能を使用 AuthType Basic AuthName "Authorization Required" AuthUserFile /var/www/acl/.htpasswd Require valid-user </Location>
設定を反映するため、ウェブサーバーを再起動します。
[root@web ~]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ] httpd を起動中: [ OK ]
[ CentOS 5 ]