Установка suPHP · 3 min read · Nov 21, 2025
Как установить suPHP на различных дистрибутивах Linux для использования с ISPConfig (2.2.20 и выше)
Как установить suPHP на различных дистрибутивах Linux для использования с ISPConfig (2.2.20 и выше)
Версия 1.0
Автор: Фалко Тимме
Начиная с версии 2.2.20, ISPConfig улучшил поддержку suPHP. Эта статья объясняет, как установить suPHP на различных дистрибутивах, поддерживаемых ISPConfig. (Если вы использовали suPHP с предыдущими версиями ISPConfig, ваша установка все равно будет работать.)
Я не даю никаких гарантий, что это сработает для вас!
1 Debian Etch / Ubuntu 7.10
Для Debian и Ubuntu существует пакет libapache2-mod-suphp, однако проблема с этим пакетом заключается в том, что он не поддерживает директиву suPHP_UserGroup (которая используется ISPConfig), потому что он не был скомпилирован с использованием ключа –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 restart2 Fedora 8 / CentOS 5.1
На Fedora 8 и CentOS 5.1 мы должны собрать mod_suphp вручную по тем же причинам, что и для Debian и Ubuntu (suPHP_UserGroup).
Сначала мы отключаем обычный модуль 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 restart3 Mandriva 2008.0
На Mandriva 2008.0 мы должны собрать mod_suphp вручную по тем же причинам, что и для Debian и Ubuntu (suPHP_UserGroup).
Сначала мы отключаем обычный модуль PHP5:
vi /etc/httpd/modules.d/70_mod_php.confЗакомментируйте строку LoadModule:
| |
Затем мы устанавливаем необходимые зависимости для сборки 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 restart4 OpenSUSE 10.3
OpenSUSE 10.3 поставляется с пакетом suPHP, который понимает директиву suPHP_UserGroup, поэтому нам не нужно собирать его самостоятельно.
Сначала мы отключаем обычный модуль PHP5. Откройте /etc/sysconfig/apache2 и удалите php5 из строки APACHE_MODULES (так, чтобы она выглядела примерно так - ваши модули могут отличаться, но 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Затем мы добавляем suphp в строку APACHE_MODULES в /etc/sysconfig/apache2, например, так:
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" [...] |
Пакеты suPHP для OpenSUSE поставляются с конфигурацией suPHP, которая включает suPHP глобально. Поэтому мы должны отключить эту конфигурацию сейчас, чтобы мы могли включать или отключать suPHP в ISPConfig для каждого сайта отдельно:
vi /etc/apache2/conf.d/mod_suphp.confВ этом файле мы закомментируем все:
| # |
Наконец, мы запускаем:
SuSEconfig
/etc/init.d/apache2 restart5 Настройка ISPConfig
Наконец, мы должны сказать ISPConfig, что он должен записывать конфигурацию suPHP в виртуальные хосты Apache вместо обычной конфигурации PHP. Для этого мы открываем файл конфигурации 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'; [...] |
Теперь, когда вы включаете PHP для веб-сайта в ISPConfig, ISPConfig будет записывать конфигурацию suPHP в конфигурацию виртуального хоста этого веб-сайта.
6 Ссылки
- suPHP: http://www.suphp.org
- ISPConfig: http://www.ispconfig.org
Get new posts in your inbox
No spam. Unsubscribe anytime.