Linux/suPHP の変更点
*suPHP [#f6aa28c8]
[[dokuwiki.fl8.jp>http://dokuwiki.fl8.jp/doku.php/01_linux/02_www/suphp]]
[[dokuwiki.fl8.jp転載済み>http://dokuwiki.fl8.jp/doku.php/01_linux/02_www/suphp]]
#contents
**インストール [#r8e86f90]
# yum install mod_suphp
・設定ファイル修正
# vi /etc/suphp.conf
umask=0077
↓ アップロードされたファイルなど、600→644へ
umask=0022
;x-httpd-php=php:/usr/bin/php
↓
x-httpd-php="php:/usr/bin/php-cgi"
# vi /etc/httpd/conf.d/suphp.conf
suPHP_Engine off
↓ コメントアウト外す
suPHP_Engine on
# suPHP_AddHandler x-httpd-php
↓ コメントアウト外す
suPHP_AddHandler x-httpd-php
・Apache再起動
# service httpd restart
**with-setid-mode [#d844e5e2]
yumからインストールした場合
&color(Red){デフォルトではparanoidになっています。};
コンパイルオプション
--with-setid-mode=MODE:
MODEは下記のいずれかを選択します。
"owner": ownerのUID/GIDでスクリプトを実行します。
"force": Apacheで設定されたUID/GIDでスクリプトを実行します。
(Apache 2を使用している場合のみサポート)
"paranoid": ownerのUDI/GIDでスクリプトを実行しますが、Apacheで設定された
UDI/GIDと一致するかどうかをチェックします。
◆こんな感じで設定する必要があります。
<VirtualHost *:80>
ServerAdmin matsui@flat8.co.jp
DocumentRoot /home/hogehoge/public_html
ServerAlias www.flat8.co.jp
ServerName www.flateight.com
suPHP_UserGroup hogehoge users
</VirtualHost>
**suPHPの環境変数 [#m4dbf60c]
&color(Red){※suphpの場合は、環境変数を設定する場合もヴァーチャルホスト毎に行う。};
[[参考>開発日記/2010-04-26]]
**エラー(Unknown Interpreter) [#da8bb6fb]
こんなエラーが出てしまう。
SecurityException in Application.cpp:511: Unknown Interpreter: php
◆対応~
/etc/suphp.confのx-http-phpの所をダブルクォートで囲んでやると動作するらしい。
# vi /etc/suphp.conf
;x-httpd-php=php:/usr/bin/php-cgi
↓
x-httpd-php="php:/usr/bin/php-cgi"
**セッション関係のエラー [#r6b217aa]
suphpによって書き込む権限が変わるから、セッション関係でエラーが出てしまう。
PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: open(/var/lib/php/session/sess_8ei24n25r7pg56vce3cp8ifnu3, O_RDWR) failed: Permission denied (13)
◆対応~
セッションのパスを書き込み出来る場所に変更してあげる。
# vi /etc/php.ini
session.save_path = "/var/lib/php/session"
↓
session.save_path = "/tmp"