[PHP-users 10320] VirtualHostでのopen_basedir

Takahide Haneda php-users@php.gr.jp
Tue, 24 Sep 2002 14:13:36 +0900


羽田です。

Apache VirtualHost でのopen_basedir、safe_modeの設定が
どうも思うように行きません。
以下の設定で

http://www2.foo.co.jp/test.phpを実行した場合に、
Warning: fopen("/home/domain/www2/html/data.txt", "a") - Permission denied in xxxxxx on line xx
と出ます。
相対パス、チルダでの指定等いろいろ試したのですが、ファイルが開けません。
test.php,result.txt のowner:gorup は www2:www2です。
過去ログ等いろいろ検索したのですが、類似した情報はあって、確かに
readはうまくいくのですが writeでPermission deniedになります。
PHPのソースを追ってみて、file_virtual_exでのパス変換が関係してそうな
ところまではわかったのですが、それ以上わかりません。
どなたかご経験のあるかたよろしくお願いします。


--- start of /home/domain/www2/html/test.php ---
<?php
   $fno = fopen("/home/domain/www2/html/data.txt", "a");
   ..
?>
--- end of /home/domain/www2/html/test.php ---

/home/domain/www2/html の owner:group は www2:www2

--- start of httpd.conf ---
User www
Group www
....
<VirtualHost xxx.xxx.xxx.xxx>
ServerName  www1.foo.co.jp
DocumentRoot /home/domain/www1/html
...
</VirtualHost>

<VirtualHost xxx.xxx.xxx.xxx>
User www2
Group www2
ServerName  www2.foo.co.jp
DocumentRoot /home/domain/www2/html
...
    <Directory "/home/domain/www2/html">
        AllowOverride None
        Options Indexes
        Order allow,deny
        Allow from all
        php_admin_value open_basedir "/home/domain/www2/html"
    </Directory>
</VirtualHost>
--- end of httpd.con ---


羽田 高秀
honey@mail.intera.ne.jp