2008年05月14日

suPHP on SUSE 10.3

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

なお、suphpを導入する意味とか役割はわかっているものとしてここでは一切説明しません。

【用意する物】

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

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

rpm -ivh mod_suphp-0.6.3-1_suse10.nosrc.rpm

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

mv suphp-0.6.3.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.6.3-1_suse10.i586.rpm

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.6.3-1_suse10.nosrc.rpmは、Fedora用のRPMを元に私が作成した物です。

基本的に、最低限ビルドが出来て動作するようにしか変更していませんので、ドキュメントなどの配置がおかしい可能性があります。
その場合、各自でmod_suphp.specファイルを修正して対応してください。

なお、オリジナルのFedora版との違いは以下の通りです。

  • ソースとしてセキュリティ修正版の0.6.3を利用している。(オリジナルは0.6.2)
  • openSUSE用にspecやデフォルト設定ファイルの各種PATHを修正している。(httpd→apache2や、apxs→apxs2など)
  • オリジナル版は権限の検査(--with-setid-mode)が「owner」だったが、今回はそのフラグを外している。(つまりデフォルトのparanoidモードです)
  • Fedora版に同梱されていたuserdirパッチはそのままでは当たらなかったので外した。(必要な方は自分でパッチ作成して組み込んでください。)
  • Fedora用のREADMEを削除した。
また、suphpの設定についての詳細は、下記のサイトに付属ドキュメントの日本語訳がありますので、こちらをご覧下さい。 2009/05/04追記
openSUSE 11.1&suPHP 0.7.1のsrc.rpmはこちら

Posted by Takuchan at 2008年05月14日 01:18 | トラックバック(0)