忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


Posted by 2024/05/20 01:32 |
Apache1.3 で WebDAV な環境
Apache1.3系(apache_1.3.37)でWebDAV環境を構築

MacとWindowsでファイルの受け渡しが楽にできたり、iCal形式のスケジュールを共有するみたいなことができるようになったりと。そういうワケで、ここ数年apacheを入れたらWebDAVも試してみようかなんて感じで、結局いつもインストールするはめに。
* ApacheがDSOサポートでインストールされていること

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


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


WebDAV用のディレクトリ作成
# mkdir /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


ロックデータベースを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


共有ライブラリの格納場所を追加
# vi /etc/ld.so.conf
   /usr/local/bin を追加
# ldconfig


$ cd mod_encoding-20021209
$ ./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


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


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 .


$ ./configure
$ 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

Posted by yuki 2006/11/09 16:47 | Comments(0) | TrackBack() | Linux

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<禁煙半年経って | HOME | 本 『豊臣秀長―ある補佐役の生涯』 (堺屋 太一 著)>>
忍者ブログ[PR]