2009年05月04日

suPHP on SUSE 11.1

こちらのエントリの最新版です。

suPHPをopenSUSE 11.1(Apache 2.2)上で簡単に導入するためのレシピです。

1年前のエントリと同様にsuphpを導入する意味とか役割はわかっているものとしてここでは一切説明しません。

【用意する物】

  1. suphp-0.7.1.tar.gz
  2. mod_suphp-0.7.1-1_suse11.nosrc.rpm
【手順】
(root権限で実行する場合の手順です)

1. まずダウンロードしたmod_suphp-0.7.1-1_suse11.nosrc.rpmをインストールします。

rpm -ivh mod_suphp-0.7.1-1_suse11.nosrc.rpm

2. 続いてダウンロードしたsuphp-0.7.1.tar.gz/usr/src/packages/SOURCESに移動します

mv suphp-0.7.1.tar.gz /usr/src/packages/SOURCES

3. 次のコマンドを実行してパッケージを作成します

rpmbuild -bb /usr/src/packages/SPEC/mod_suphp.spec

4. 作成したパッケージをインストールします

rpm -ivh /usr/src/packages/RPMS/i586/mod_suphp-0.7.1-1_suse11.i586.rpm

(この際に「php5-fastcgi」を要求される場合がありますがその場合は下記のようにしてインストールして下さい。)
zypper in php5-fastcgi

5. apacheでmod_suphpを読み込むように設定します。

vi /etc/sysconfig/apache2
 にて「APACHE_MODULES=」が記載されている行を探してその中に「php5」があれば削除して、末尾に「suphp」を追加します。

 (デフォルトではmod_php5とは共存できません)

6. paranoidモードでコンパイルしていますので、

vi /etc/apache2/conf.d/mod_suphp.conf
 を編集して「suPHP_UserGroup」をコメントインして適切なユーザ名とパスワードを記載してください。

 例) suPHP_UserGroup hogeuser bargroup

7. あとはApache2を再起動すればsuphpにて動作するようになります。

なお、mod_suphp-0.7.1-1_suse11.nosrc.rpmは、Fedora用のRPMを元に私が作成したmod_suphp-0.6.3-1_suse10.nosrc.rpmをさらに書き換えた物です。

前回の注意書きに加えて次の変更点があります。

  • ソースとして最新の0.7.1を利用している。(前回はは0.6.3)
  • 前回は同梱していた「AddHandler」パッチと「chroot」を外した。(0.7.0の更新でおそらく同等の機能追加があったため)
  • 同梱の「suphp.conf」の設定で「errors_to_browser」をtrueからfalseに変更
なお、検証は余り行っていませんので、いきなり本番サーバに適応するような荒技は避けておくのが無難です。

Posted by Takuchan at 2009年05月04日 03:17 | トラックバック(0)