# cd /usr/local/src
# wget http://sunsite.tus.ac.jp/pub/apache/httpd/httpd-2.0.48.tar.gz
# tar zxvf httpd-2.0.48.tar.gz
# cd httpd-2.0.48
# ./configure --enable-shared=yes --enable-dav=yes
# make && make install
mod_dav.c/mod_dav_fs.c/mod_so.cが入っているかどうかを確認する。
# /usr/local/apache2/bin/httpd -l
Compiled in modules:
core.c
mod_access.c
mod_auth.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_dav.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_dav_fs.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
httpd.confに下記を追加
# vi /usr/local/apache2/conf/httpd.conf
LoadModule dav_module ../modules/mod_dav.so
LoadModule dav_fs_module ../modules/mod_dav_fs.so
Alias /DAV "/home/DAV"
<Location /DAV>
DAV on
Option Indexes
Order allow,deny
Allow from all
</Location>
DAVLockDB /var/dav/DAVLock
DAVMinTimeout 600
DAVアクセスされるディレクトリはapacheのユーザ権限にしておく。
# mkdir /var/dav
# chown nobody:nobody /var/dav
# chown nobody:nobody /home/DAV/
で、動くはずなんだけども・・・エラーが出た^^;
# /usr/local/apache2/bin/apachectl configtest
Syntax error on line 1130 of /usr/local/apache2/conf/httpd.conf:
module dav_module is built-in and can't be loaded
モジュールをロードしてくれない・・うーんうーん。
ネットに出ている情報だとこれで正しいはずなんですがー・・・。
困っているいるやったのですが、何故か下記の方法でうまくいきました。
LoadModule dav_module ../modules/mod_dav.so
LoadModule dav_fs_module ../modules/mod_dav_fs.so
の行はコメントアウトしたら文法が通った。
# /usr/local/apache2/bin/apachectl configtest
Syntax OK
http://www.fukushi-net.or.jp/takamoto/webdav/makesubver.html
を参考にしてtelnetで動作確認すると動いてるっぽい。
$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.fukushi-net.or.jp.
Escape character is '^]'.
OPTIONS /pages/ HTTP/1.1
Host: localhost
[エンターキー二回]
http://tomo.no-ip.com/goodstream/server/webdav/linux/winxp-rh72.htm
を参考にWindowsXPの設定を追加・・・しようとするもうまくいかない。
アドレスの追加で手が滑って下記のようにしたらうまくいきました。
でも変です(汗)
http://192.168.0.3/DAV?
http://192.168.0.3/DAV
でも
http://192.168.0.3/DAV/
でもだめでした。何故? Windowsをリブートしたらいけるといういつものパターンだろうか(^^;
取りあえずファイルを置くところまではこれでOK。
日本語ファイル名対策もしないといけないですね。