使えるネットのVPSでPHPをドメインごとに設定する場合のメモ。
/var/www/vhosts//confディレクトリの中に、vhost.confとvhost_ssl.confを設置して下記のように設定する。通常はどちらも同じ内容を設定する。同じディレクトリ内にhttpd.includeというファイルがあるが、自動的に生成されるものなのでこれを書き替えても意味がない。
[php]
<Directory /var/www/vhosts/<domain name>/httpdocs>
<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir "/var/www/vhosts/<domain name>/httpdocs:/tmp"
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir "/var/www/vhosts/<domain name>/httpdocs:/tmp"
</IfModule>
</Directory>
[/php]
今回、この<Directory>タグを忘れてしまい、なかなかPHPの変更が反映せず無駄に時間を使ってしまった。

他にも、php_admin_value include_pathを設定した場合、php_admin_value open_basedirにも同じパスを設定しないとファイルを読み込めなかった。

vhost.confとvhost_ssl.confの設定が終わったら次のコマンドで変更を反映して、apacheを再起動する。
[php]
/usr/local/psa/admin/sbin/websrvmng –reconfigure-vhost –vhost-name=<domain name>
apachectl configtest
apachectl graceful
[/php]

%d人のブロガーが「いいね」をつけました。