Linux インストール · 2 min read · Nov 21, 2025

ISPConfig(2.2.20以上)で使用するためのさまざまなLinuxディストリビューションへのsuPHPのインストール方法

ISPConfig(2.2.20以上)で使用するためのさまざまなLinuxディストリビューションへのsuPHPのインストール方法

バージョン 1.0
著者: Falko Timme

バージョン2.2.20から、ISPConfigはsuPHPのサポートを改善しました。この記事では、ISPConfigがサポートするさまざまなディストリビューションにsuPHPをインストールする方法を説明します。(以前のISPConfigバージョンでsuPHPを使用していた場合、インストールはそのまま動作します。)

これがあなたにとって機能するという保証はありません!

1 Debian Etch / Ubuntu 7.10

DebianとUbuntuでは、libapache2-mod-suphpパッケージが存在しますが、このパッケージの問題は、ISPConfigで使用されるsuPHP_UserGroupディレクティブをサポートしていないことです。これは、–with-setid-mode=paranoidスイッチを使用してコンパイルされていないためです。したがって、mod_suphpを手動でビルドする必要があります。

まず、通常のPHP5モジュールを無効にします(rootとして):

a2dismod php5  
/etc/init.d/apache2 restart

次に、mod_suphpをビルドするために必要な前提条件をインストールします:

apt-get install php5-cgi apache2-prefork-dev

次に、suPHPをダウンロードしてビルドします:

cd /tmp  
wget http://www.suphp.org/download/suphp-0.6.2.tar.gz  
tar xvfz suphp-0.6.2.tar.gz  
cd suphp-0.6.2  
./configure --prefix=/usr --sysconfdir=/etc --with-apache-user=www-data --with-setid-mode=paranoid --with-apxs=/usr/bin/apxs2  
make  
make install

最後に、suPHPモジュールをApacheの設定に追加します…

vi /etc/apache2/httpd.conf

| LoadModule suphp_module /usr/lib/apache2/modules/mod_suphp.so |

… そしてApacheを再起動します:

/etc/init.d/apache2 restart

2 Fedora 8 / CentOS 5.1

Fedora 8およびCentOS 5.1では、DebianおよびUbuntuと同様の理由(suPHP_UserGroup)から、mod_suphpを手動でビルドする必要があります。

まず、通常のPHP5モジュールを無効にします:

vi /etc/httpd/conf.d/php.conf

LoadModule行をコメントアウトします:

| [...] #LoadModule php5_module modules/libphp5.so [...] |

次に、mod_suphpをビルドするために必要な前提条件をインストールします:

yum install php-cli httpd-devel

次に、suPHPをダウンロードしてビルドします:

cd /tmp  
wget http://www.suphp.org/download/suphp-0.6.2.tar.gz  
tar xvfz suphp-0.6.2.tar.gz  
cd suphp-0.6.2/  
./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=paranoid --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable-SUPHP_USE_USERGROUP=yes  
make  
make install

最後に、suPHPモジュールをApacheの設定に追加します…

vi /etc/httpd/conf.d/suphp.conf

| LoadModule suphp_module modules/mod_suphp.so |

… そしてApacheを再起動します:

/etc/init.d/httpd restart

3 Mandriva 2008.0

Mandriva 2008.0では、DebianおよびUbuntuと同様の理由(suPHP_UserGroup)から、mod_suphpを手動でビルドする必要があります。

まず、通常のPHP5モジュールを無効にします:

vi /etc/httpd/modules.d/70_mod_php.conf

LoadModule行をコメントアウトします:

| #LoadModule php5_module extramodules/mod_php5.so [...] |

次に、mod_suphpをビルドするために必要な前提条件をインストールします:

urpmi php-cgi apache-devel

次に、suPHPをダウンロードしてビルドします:

cd /tmp  
wget http://www.suphp.org/download/suphp-0.6.2.tar.gz  
tar xvfz suphp-0.6.2.tar.gz  
cd suphp-0.6.2/  
./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=paranoid --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable-SUPHP_USE_USERGROUP=yes  
make  
make install

最後に、suPHPモジュールをApacheの設定に追加します…

vi /etc/httpd/modules.d/A36_mod_suphp.conf

| LoadModule suphp_module modules/mod_suphp.so |

… そしてApacheを再起動します:

/etc/init.d/httpd restart

4 OpenSUSE 10.3

OpenSUSE 10.3には、suPHP_UserGroupディレクティブを理解するsuPHPパッケージが付属しているため、自分でビルドする必要はありません。

まず、通常のPHP5モジュールを無効にします。/etc/sysconfig/apache2を開き、APACHE_MODULES行からphp5を削除します(この行がこのように見えるように - あなたのモジュールは異なるかもしれませんが、php5はもはやリストされてはいけません):

vi /etc/sysconfig/apache2

| [...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir rewrite ruby" [...] |

その後、実行します:

SuSEconfig

次に、suPHPを次のようにインストールします:

yast -i suphp

次に、/etc/sysconfig/apache2のAPACHE_MODULES行にsuphpを追加します。例えば、次のように:

vi /etc/sysconfig/apache2

| [...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir rewrite ruby suphp" [...] |

OpenSUSEのsuPHPパッケージには、suPHPをグローバルに有効にするsuPHP設定が付属しています。したがって、ISPConfigでウェブサイトごとにsuPHPを有効または無効にできるように、この設定を無効にする必要があります:

vi /etc/apache2/conf.d/mod_suphp.conf

そのファイル内で、すべてをコメントアウトします:

| # # suPHP_Engine on # # AddType application/x-httpd-php .php # AddType application/x-httpd-php .php3 # AddType application/x-httpd-php .php4 # AddType application/x-httpd-php .php5 # AddHandler application/x-httpd-php .php # # DirectoryIndex index.php index.php3 index.php4 index.php5 # # # suPHP_AddHandler application/x-httpd-php # # # # あなたのvhostには次のように必要です: # # suPHP_UserGroup someuser somegroup # |

最後に、実行します:

SuSEconfig  
/etc/init.d/apache2 restart

5 ISPConfigの設定

最後に、ISPConfigに通常のPHP設定の代わりにApache vhostsにsuPHP設定を書き込むように指示する必要があります。これを行うには、ISPConfigの設定ファイル/home/admispconfig/ispconfig/lib/config.inc.phpを開き、$go_info[“server”][“apache2_php”]をsuphpに設定します:

vi /home/admispconfig/ispconfig/lib/config.inc.php

| [...] $go_info["server"]["apache2_php"] = 'suphp'; [...] |

これで、ISPConfigでウェブサイトにPHPを有効にするたびに、ISPConfigはそのウェブサイトのvhost設定にsuPHP設定を書き込みます。

6 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。