PLESK

PLESK & PHP & open_basedir & Safe Modeの問題

Parallels Plesk Panel 9.3.0

問題点

サーバ管理でよく使用されるPLESKですが、PHP の Safe Mode と open_basedir の設定によってよく問題を引き起こします。

PLESKでは各ドメインに WEB の公開用フォルダとして /httpdocs、プライベート用の非公開用フォルダとして /private というフォルダが用意されています。で、よくやる方法としてデータベースやシステムの設定を /private フォルダに格納し、 /httpdocs フォルダ内に配置された .php ファイルよりアクセスしようとしてこの問題にはまります。

(safe_mode自体はコントロールパネルより、設定出来ますが、open_basedirはできません)

対処方法

対処方法としては、/var/www/vhosts/yourdomain/conf/http.include に以下のように注意書きが入っていますので、これを参考にします。

(ちなみに 設定にはrootアカウントが必要です。confフォルダがrootでないと入れません)

# ATTENTION!
# DO NOT MODIFY THIS FILE OR ANY PART OF IT. THIS CAN RESULT IN IMPROPER PLESK
# FUNCTIONING OR FAILURE, CAUSE DAMAGE AND LOSS OF DATA. IF YOU REQUIRE CUSTOM
# MODIFICATIONS TO BE APPLIED TO THE CONFIGURATION, PLEASE, PERFORM THEM IN THE
# FOLLOWING FILE(S):
# /var/www/vhosts/<domain>/conf/vhost.conf
# /var/www/vhosts/<domain>/conf/vhost_ssl.conf
# /var/www/vhosts/<domain>/subdomains/<subdomain-name>/conf/vhost.conf

設定ファイルを作成する。

# vi /var/www/vhosts/<domain>/conf/vhost.conf
<Directory /var/www/vhosts/<domain>/httpdocs>
php_admin_flag engine on
php_admin_value open_basedir none
</Directory>

sslアクセス用の設定ファイルを作成する。

# vi /var/www/vhosts/<domain>/conf/vhost_ssl.conf
<Directory /var/www/vhosts/<domain>/httpsdocs>
php_admin_flag engine on
php_admin_value open_basedir none
</Directory>

修正が完了したので、httpd.include に上記のファイルを読み込ませる設定をして、httpdの修正を読み込ませる。

# /usr/local/psa/admin/bin/websrvmng -v -a
# /etc/init.d/httpd restart

これで、修正が完了です。 phpinfo(); にて確認できます。

keyword : plesk/open_basedir/vhost.conf/chost_ssl.conf/httpd.include/Safe Mode

コメントを残す