主に IT 技術を整理するためにメモ的に書き溜めています。少しだけフリーソフトもあるよ。コメントを残すには、 facebook を使ってください。

Plesk で open_basedir とか safe_mode の回避

最終更新日 2007-11-20 08:17:36 (1年以上前の記事です)

Plesk で php 関連の作業していると、必ずといっていいほど毎回 open_basedir とか safe_mode のエラーではまり、その度に解決策を探しているので、とりあえずメモっておく。

今回の Plesk 環境は以下の通り。
Fedora Core 6
PSA-3.2.0

簡単に仕組み

Plesk はドメインを追加すると、バーチャルドメイン毎にディレクトリを作成して、その中に htdocs やら conf やら log やらを作成することになる。
で、元になる設定ファイルはドメイン名が enjoitech.jp だとすると。

/var/www/vhosts/enjoitech.jp/conf/httpd.include

になる。
このファイルを開くと書いてあるけど、このファイルは手書きで書き換えたりしてはいけない。 Plesk がきっとバグる。
なので、このファイルが参照できる決められた場所とファイル名で追加設定用のファイルを作成する。それがここ。

/var/www/vhosts/enjoitech.jp/conf/vhost.conf

ここに設定を書いたら、後はちょちょいとコマンドを打って、設定を reload すれば良い。

設定ファイルの内容

とりあえず今回は safe_mode を off にして、 open_basedir を無効にする設定。

# vi /var/www/vhosts/enjoitech.jp/conf/vhost.conf
<Directory /var/www/vhosts/enjoitech.jp/httpdocs>
    <IfModule sapi_apache2.c>
        php_admin_flag engine on
        php_admin_flag safe_mode off
        php_admin_value open_basedir none
    </IfModule>
    <IfModule mod_php5.c>
        php_admin_flag engine on
        php_admin_flag safe_mode off
        php_admin_value open_basedir none
    </IfModule>
</Directory>

設定ファイルを追加

次に作成したファイルを Plesk に追加するため、コマンドを実行する。

# /usr/local/psa/admin/bin/websrvmng -v -a

するとこのファイルを include する行が、 /var/www/vhosts/enjoitech.jp/conf/httpd.include に追加される。なら最初から編集させろと思うんだが、まあいいや。

設定リロード

そして最後に apache をリロードして終了。

# /etc/init.d/httpd reload

参考文献

KB #432 - I am getting "open_basedir" error in the PHP script. How do I fix this error?
最終更新日 2007-11-20 08:17:36

コメント このエントリーをはてなブックマークに追加

フリーソフトウエア
EnjoiFLV
EnjoiPacket
EnjoiCrypto
ランキング
rank2, rank3, rank7, rank10, rank11
todo メモ
facebook 対応
ページ処理
RSS feed
検索機能
認証いる?
更新日表示
実はカテゴリ機能
多言語
実はユーザ機能
ソースその内公開
動作環境メモ
php-5.1.6 with PDO
SQLite-3.3
IE6
FireFox-1.5
RSS
非認証

検索
Google