Home > Apache > | Vine Linux > Apache 2.2 PHP & suPHP 共存

Apache 2.2 PHP & suPHP 共存

Vine 4.2 の Apache 2.2 環境にて PHP(Module版) & suPHP(CGI版) を共存させるお話。

まず前提の環境として、Apache + PHP + suPHP がインストールされているとします。
この環境の場合はsuPHPを標準で稼動していることでしょう。

そこでPHPのModuleをApacheに読み込ませるとともに設定をします。
早い話がsuPHPへ移行する際に無効にしたPHPの設定を復元するだけです。
私の環境では「#」でコメントして無効にしていたので外して有効にしました。

# vi /etc/apache2/conf.d/php5.conf

<IfModule !php4_module>
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.phtml
</IfModule>

次にApache側のsuPHPに設定を追加します。
コメントで補足がある部分が追加した部分です。
この部分でModule版PHPを無効にしています。

# vi /etc/apache2/conf.d/suphp.conf

# mod_php Off
php_admin_flag engine Off
 
LoadModule suphp_module modules/mod_suphp.so
suPHP_Engine On
AddHandler x-httpd-php .php
suPHP_AddHandler x-httpd-php

これで共存の環境は整いました。
デフォルトではsuPHPでPHPスクリプトが処理されつつ、以下で紹介する方法でModule版PHPで処理することが可能になります。

Module版PHPで動作させたい VirtualHost に以下のように追記します。
コメントで補足している3つが追加する部分なので他は参考程度にして下さい。

# vi /etc/apache2/conf/httpd.conf

<VirtualHost *:80>
SuexecUserGroup sample sample
ServerAdmin sample@fya.jp
DocumentRoot /home/sample/public_html
ServerName sample.fya.jp
# suPHP Off
suPHP_Engine Off
# 
RemoveHandler .php
# mod_php On
php_admin_flag engine On
</VirtualHost>

上記設定が施されたサイトではsuPHPが無効になり、Module版PHPで動作します。
動作確認は「phpinfo()」を用いて項目「Server API」の部分をご覧下さい。

補足ですが、拡張子「.php」以外で動作させたい場合は以下のようにします。
以下の例は拡張子「.html」をPHPスクリプトとして動作させる設定です。
「.htaccess」ファイルを開いて以下のように編集します。
(双方の環境で動作するように両方の環境の場合を記述しています)

# PHP動作
# Apache module版
RemoveHandler .html
AddType application/x-httpd-php .html
# suPHP版
AddHandler x-httpd-php .html

また、suPHP環境からModule版PHPへ移行した場合はパーミッションにも注意です。
読み書きするファイルは「606」。
読み書きするファイルがあるディレクトリは「707」などにしましょう。
仕様を理解していれば気づくのですが、意外と忘れていると「あれ?」と思います。

参考URL
http://www.kanata.to/php5/mod_php_suphp.html

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
https://www.fya.jp/cgi-bin/mt/mt-tb.cgi/92
Listed below are links to weblogs that reference
Apache 2.2 PHP & suPHP 共存 from Minase's Blog - FYA

Home > Apache > | Vine Linux > Apache 2.2 PHP & suPHP 共存

Search
Feeds

Return to page top