[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[webdav-jp:0629] Apache2 WebDAV エンコード操作について



みなさん、こんばんわ

斉藤@RITEと申します。

このたび、吉山氏作成の
010_diskquota
011_path_iconv
012_escape_am
chown_user.c
を
httpd-2.0.43
に組み込みたいと思い、挑戦しております。

吉山氏の記述されましたドキュメントに目を通し、記載通りの作業を手順通りに
行いapacheをビルドしたのですが、WinXP Proより
ビルドしたapacheに対してネットワークプレースの追加を行い
追加したネットワークプレースをopen使用とすると、クライアントのXPには
「\\192.168.112.10\davにアクセスできません。このネットワークリソースにア
クセスできない可能性があります。アクセス許可があるかどうかこのサーバー管
理者に問い合わせてください。指定されたサーバーは要求された動作を実行する
ことができませんでした。」
とpopupしビルドしたapache側の/usr/local/apache/logs/error_logには
[Thu Dec 05 21:51:52 2002] [notice] child pid 1914 exit signal Segmentation fault (11
)
[Thu Dec 05 21:51:52 2002] [notice] child pid 1913 exit signal Segmentation fault (11
)
[Thu Dec 05 21:51:52 2002] [notice] child pid 1912 exit signal Segmentation fault (11
)
[Thu Dec 05 21:51:52 2002] [notice] child pid 1906 exit signal Segmentation fault (11
)
上記のような、Segmentation faulのログが残ってしまいます。

これは、私のビルドの方法が間違っていたためなのでしょうか?

私がapache2のビルドを行った手順は下記の通りです。
何か間違っているようなところがございましたら、ご指摘よろしくお願い申し上
げます。

[httpd-2.0.43ビルドの手順]
1)httpd-2.0.43.tar.gzを"tar zxvf httpd-2.0.43.tar.gz"の用にして解凍・伸
張した
2)吉山氏作成の010_diskquota、011_path_iconv、012_escape_ampをこの順番でhttpd-2.0.43
に適用した。
3)httpd-2.0.43/srclib/apr/include/apr_file_diskquota.h内の
#define CHOWN_USER_PATH を #define CHOWN_USER_PATH "/usr/local/apache2/bin/chown_user"
の用に修正
4)httpd2.0.43を下記オプションを追加してconfiureした。
env CC=gcc CPPFLAGS='-I/usr/local/BerkeleyDB.4.0/include -I/usr/local/ssl/include -I/usr/local/include' \
LDFLAGS='-L/usr/local/BerkeleyDB.4.0/lib -L/usr/local/ssl/lib -L/usr/local/lib -R/usr/local/BerkeleyDB.4.0/lib -R/usr/local/ssl/lib -R/usr/local/lib' \
./configure --enable-modules=all --enable-mods-shared=all --enable-ssl --enable-dav --enable-dav-fs --enable-so --with-z=/usr/local/lib --with-ssl=/usr/local/ssl
--with-mpm=perchild --with-berkeley-db=/usr/local/BerkeleyDB.4.0
5)4)終了後、makeを行いmake終了後、make installを行った。
6)chown_user.c内の項目を下記のように変更した。
#define ROOT_DIR "/home/WebDAV"
#define APACHE_OWNER "nobody"
#define APACHE_GROUP "web-data"
7)chown_user.cを下記の通りのコマンドを用いてビルドした
gcc -Wall -o chown_user chown_user.c
8)7)でビルドしたchown_userのパーミッションおよびオーナーを下記のコマンド
の通り実行した
chown root:web-data chown_user
chmod 4050 chown_user
cp chown_user /usr/local/apache2/bin
ls -l chown_userの実行結果
---Sr-x---  1 root  web-data  7317 Dec  5 21:33 /usr/local/apache2/bin/chown_user
9)/usr/local/apach2/conf内のhttpd.confにおいて下記の通りの設定変更を行っ
た。
Listen 0.0.0.0:80
Group web-data
ServerAdmin root@xxxxxxxx
ServerName www.home.com:80
LanguagePriority ja en da nl et fr de el it ko no pl pt pt-br ltz ca es
AddDefaultCharset none
Alias /dav "/home/WebDAV"
<Location /dav>
   DAV on
</Location>
DAVLockDB  /usr/local/apache2/var/DAVLock