Apache1.3系(apache_1.3.37)でWebDAV環境を構築
MacとWindowsでファイルの受け渡しが楽にできたり、iCal形式のスケジュールを共有するみたいなことができるようになったりと。そういうワケで、ここ数年apacheを入れたらWebDAVも試してみようかなんて感じで、結局いつもインストールするはめに。
MacとWindowsでファイルの受け渡しが楽にできたり、iCal形式のスケジュールを共有するみたいなことができるようになったりと。そういうワケで、ここ数年apacheを入れたらWebDAVも試してみようかなんて感じで、結局いつもインストールするはめに。
* ApacheがDSOサポートでインストールされていること
Apacheに組み込まれているモジュールを調べる
mod_headersのインストール(インストールされていない場合)
WebDAV用のディレクトリ作成
ロックファイルを置くディレクトリ作成
ロックデータベースをnobody権限で書き込み可能にする
(ApacheがDAVLock.dir, DAVLock.pagというファイルをDAVLockと同じ階層に作成できるようにする)
mod_encodingのインストール
WebDAV Resources JP(http://webdav.todo.gr.jp/download/) から
mod_encoding 20021209.tar.gz をダウンロード
共有ライブラリの格納場所を追加
mod_davのインストール
a DAV module for Apache(http://www.webdav.org/mod_dav/) から
mod_dav-1.0.3-1.3.6 をダウンロード
WebDAV Resources JP(http://webdav.todo.gr.jp/download/)から
mod_dav-1.0.3-1.3.6-l10n.diff をダウンロード、パッチを当てる。
Makefile.inファイルの修正
mod_encoding 20021209/libからiconv_hook関連で必要なものをコピーする
Apacheに組み込まれているモジュールを調べる
# /usr/local/apache/bin/httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
...
mod_so.c (*)
mod_setenvif.c
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
...
mod_so.c (*)
mod_setenvif.c
mod_headersのインストール(インストールされていない場合)
$ cd ./apache_1.3.37/src/modules/standard
$ /usr/local/apache/bin/apxs -c mod_headers.c
$ su
# /usr/local/apache/bin/apxs -i mod_headers.so
$ /usr/local/apache/bin/apxs -c mod_headers.c
$ su
# /usr/local/apache/bin/apxs -i mod_headers.so
WebDAV用のディレクトリ作成
# mkdir /usr/local/apache/htdocs/dav
# chown -R nobody.nogroup /usr/local/apache/htdocs/dav
# chown -R nobody.nogroup /usr/local/apache/htdocs/dav
ロックファイルを置くディレクトリ作成
# mkdir /var/run/dav/DAVLock
# chown -R nobody.nogroup /var/lock/dav/DAVLock
# chown -R nobody.nogroup /var/lock/dav/DAVLock
ロックデータベースをnobody権限で書き込み可能にする
(ApacheがDAVLock.dir, DAVLock.pagというファイルをDAVLockと同じ階層に作成できるようにする)
# chmod 707 /var/run/dav
mod_encodingのインストール
WebDAV Resources JP(http://webdav.todo.gr.jp/download/) から
mod_encoding 20021209.tar.gz をダウンロード
$ wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz
$ tar xzvf mod_encoding-20021209.tar.gz
$ cd mod_encoding-20021209
$ cd lib
$ ./configure
$ make
$ su
# make install
$ tar xzvf mod_encoding-20021209.tar.gz
$ cd mod_encoding-20021209
$ cd lib
$ ./configure
$ make
$ su
# make install
共有ライブラリの格納場所を追加
# vi /etc/ld.so.conf
/usr/local/bin を追加
# ldconfig
/usr/local/bin を追加
# ldconfig
$ cd mod_encoding-20021209
$ ./configure --with-apxs=/usr/local/apache/bin/apxs --with-iconv-hook
$ make
$ su
# make install
$ ./configure --with-apxs=/usr/local/apache/bin/apxs --with-iconv-hook
$ make
$ su
# make install
mod_davのインストール
a DAV module for Apache(http://www.webdav.org/mod_dav/) から
mod_dav-1.0.3-1.3.6 をダウンロード
WebDAV Resources JP(http://webdav.todo.gr.jp/download/)から
mod_dav-1.0.3-1.3.6-l10n.diff をダウンロード、パッチを当てる。
$ wget http://www.webdav.org/mod_dav/mod_dav-1.0.3-1.3.6.tar.gz
$ wget http://webdav.todo.gr.jp/download/mod_dav-1.0.3-1.3.6-l10n.diff
$ tar xzvf mod_dav-1.0.3-1.3.6.tar.gz
$ cd mod_dav-1.0.3-1.3.6
$ patch -p1 < ../mod_dav-1.0.3-1.3.6-l10n.diff
$ wget http://webdav.todo.gr.jp/download/mod_dav-1.0.3-1.3.6-l10n.diff
$ tar xzvf mod_dav-1.0.3-1.3.6.tar.gz
$ cd mod_dav-1.0.3-1.3.6
$ patch -p1 < ../mod_dav-1.0.3-1.3.6-l10n.diff
Makefile.inファイルの修正
dav_props.c \
dav_util.c \
dav_xmlparse.c \
mod_dav.c \
dav_lock.c \
dav_opaquelock.c \
dav_dyn.c \
iconv_hook_default.c \
iconv_hook_ja_auto.c \
iconv_hook_mssjis.c \
identify_encoding.c \
iconv_hook_ucs2_cp932.c \
iconv_hook_eucjp.c \
iconv_hook_utf8_cp932.c \
iconv_hook_utf8_eucjp.c
dav_util.c \
dav_xmlparse.c \
mod_dav.c \
dav_lock.c \
dav_opaquelock.c \
dav_dyn.c \
iconv_hook_default.c \
iconv_hook_ja_auto.c \
iconv_hook_mssjis.c \
identify_encoding.c \
iconv_hook_ucs2_cp932.c \
iconv_hook_eucjp.c \
iconv_hook_utf8_cp932.c \
iconv_hook_utf8_eucjp.c
mod_encoding 20021209/libからiconv_hook関連で必要なものをコピーする
$ cp ../mod_encoding-20021209/lib/cp.h .
$ cp ../mod_encoding-20021209/lib/iconv_hook.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook.h .
$ cp ../mod_encoding-20021209/lib/iconv_hook_default.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook_ja_auto.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook_mssjis.c .
$ cp ../mod_encoding-20021209/lib/identify_encoding.c .
$ cp ../mod_encoding-20021209/lib/identify_encoding.h .
$ cp ../mod_encoding-20021209/lib/iconv_hook_ucs2_cp932.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook_ucs2_cp932.o .
$ cp ../mod_encoding-20021209/lib/ucs2_cp932.h .
$ cp ../mod_encoding-20021209/lib/iconv_hook_eucjp.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook_utf8_cp932.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook_utf8_cp932.o .
$ cp ../mod_encoding-20021209/lib/iconv_hook_utf8_eucjp.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook.h .
$ cp ../mod_encoding-20021209/lib/iconv_hook.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook.h .
$ cp ../mod_encoding-20021209/lib/iconv_hook_default.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook_ja_auto.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook_mssjis.c .
$ cp ../mod_encoding-20021209/lib/identify_encoding.c .
$ cp ../mod_encoding-20021209/lib/identify_encoding.h .
$ cp ../mod_encoding-20021209/lib/iconv_hook_ucs2_cp932.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook_ucs2_cp932.o .
$ cp ../mod_encoding-20021209/lib/ucs2_cp932.h .
$ cp ../mod_encoding-20021209/lib/iconv_hook_eucjp.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook_utf8_cp932.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook_utf8_cp932.o .
$ cp ../mod_encoding-20021209/lib/iconv_hook_utf8_eucjp.c .
$ cp ../mod_encoding-20021209/lib/iconv_hook.h .
$ ./configure
$ make
$ su
# make install
$ make
$ su
# make install
参考にしたサイト
* WebDAV経由での書き込みができない
http://webdav-jp.ml.nemui.org/msg01106.html
[error_log]
The locks could not be queried for verification
against a possible "If:" header. [500, #0]
Could not open the lock database. [500, #400]
* mod_davをmakeするとiconv_hookでエラー
http://planet-m.dip.jp/index.php?%C6%FC%CB%DC%B8%ECWebDAV
PR
トラックバック
トラックバックURL: