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

[webdav-jp:0701] 吉山氏のパッチについて



みなさん、こんばんわ

斉藤@kscです

今回、webdavのtestをvmwareで行っております。
vmwareのhost osはXP Pro SP1です
webdavテスト用のguest osはRedHat7.3を選択致しました。

webdav用のtest用に使用したhttpdおよびそれに付随するソフトは下記の通りで
す。
httpd:httpd-2.0.43
ssl:OpenSSL0.9.6g
DB:BerkeleyDB4.0.14
zlib:1.1.4

上記ソフトを使い、httpdをビルドするのに使用したオプション及びchown_user
に関する変更を行った箇所は以下の通りです。
[httpdをビルドするのに使用したオプション]
env CC=gcc CPPFLAGS='-I/usr/local/ssl/include -I/usr/local/BerkeleyDB.4.0/include -I/usr/local/include' 'LDFLAGS=-L/usr/local/ssl/lib -L/usr/local/BerkeleyDB.4.0/lib -L/usr/local/lib -R/usr/local/ssl/lib -R/usr/local/BerkeleyDB.4.0/lib -L/usr/local/lib' ./configure --prefix=/usr/local/apache3 --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=prefork --with-berkeley-db=/usr/local/BerkeleyDB.4.0

[chown_userのに関する変更箇所]
~httpd/srclib/apr/include/apr_file_diskquota.hの
#define CHOWN_USER_PATH  "/usr/lib/apache2/chown_user"
	↓
#define CHOWN_USER_PATH  "/usr/local/apache3/chown_user"


上記、作業終了後、「make」、「make install」を行い、構築を完了させました
そして、chown_user.cの先頭箇所を下記のように変更しsourceをビルドしました。
#define ROOT_DIR "/var/www/dav"
#define APACHE_OWNER "www-data"
#define APACHE_GROUP "www-data"
#define MAX_UID 9999
#define MAX_UID 9999
	↓
#define ROOT_DIR "/var/www/WebDAV"
#define MAX_PATH_LEN 128
#define APACHE_OWNER "nobody"(変更)
#define APACHE_GROUP "nobody"(変更)
#define MIN_UID 1000
#define MAX_UID 9999

[chown_user.cのビルドコマンド]
gcc -Wall -o chown_user chown_user.c
chmod 4050 chown_user
chown root.nobody chown_user
cp  chown_user /usr/local/apache3

この状態で、/usr/local/apache3/conf/httpd.conf中の項目を下記のように変更
しました。
[httpd.confの変更箇所]
Listen 80
 ↓
Listen 0.0.0.0:80

Group #-1
 ↓
Group nobody

DAVLockDB /var/lock/apache3/DAVLock

Alias /dav "/var/www/dav/"
<Location /dav>
      DAV on
</Location>

次に/var/www/dav/と/var/lock/apache3/DAVLockのディレクトリィを下記のコマ
ンドで作成しオーナーを変更しました。
[ディレクトリィの作成及びオーナーを変更したコマンド]
mkdir /var/www/dav/
mkdir /var/lock/apache3
mkdir /var/lock/apache3/DAVLock

chown nobody.nobody /var/www/dav/
chown -R nobody.nobody /var/lock/apache3

この状態で、host os上のXPよりネットワークプレースをvmware上のapacheに対
して作成し、fileをputしてみたのですが、転送に失敗したとのメッセージがXP
に表示され、ネットワークプレースには0Kbのfileが作成されfileを正常に転送
することができません。

そのときの、vmware上のapacheのerror_logは下記の通りです。
[error_logの内容]
[Mon Jan 13 03:04:28 2003] [error] [client 192.168.174.1] Unable to PUT new contents
for /dav/path_iconv.txt.  [403, #0]
[Mon Jan 13 03:04:28 2003] [error] [client 192.168.174.1] (2)No such file or director
y: An error occurred while opening a resource.  [500, #0]

これは、test環境をvmwareで構築しているための不具合なのでしょうか?
それとも、何か他に原因があるのでしょうか?
識者の皆様、ご助言よろしくお願い申し上げます。

尚、参考に、chown_userのls -lの結果を添付致します。
ls-l chown_user結果
---Sr-x---    1 root     nobody      15268  1月 13 01:56 chown_user

━ ∧ ━━━━━━━━━━━━━━ ☆ ━━━
 < >  ☆  斉藤 哲也
  lへl       tetuya@xxxxxxxxx
     ト1 ☆  
 ☆  ∠ >    
━━━━ V ━━━━━━━━━━━━━━━━