Instalación suPHP · 4 min read · Nov 21, 2025

Cómo instalar suPHP en varias distribuciones de Linux para usar con ISPConfig (2.2.20 y superiores)

Cómo instalar suPHP en varias distribuciones de Linux para usar con ISPConfig (2.2.20 y superiores)

Versión 1.0
Autor: Falko Timme

A partir de la versión 2.2.20, ISPConfig ha mejorado el soporte para suPHP. Este artículo explica cómo instalar suPHP en varias distribuciones soportadas por ISPConfig. (Si has utilizado suPHP con versiones anteriores de ISPConfig, tu instalación seguirá funcionando.)

¡No emito ninguna garantía de que esto funcione para ti!

1 Debian Etch / Ubuntu 7.10

Para Debian y Ubuntu, existe el paquete libapache2-mod-suphp, sin embargo, el problema con este paquete es que no soporta la directiva suPHP_UserGroup (que es utilizada por ISPConfig) porque no fue compilado usando el switch –with-setid-mode=paranoid. Por lo tanto, debemos construir mod_suphp manualmente.

Primero deshabilitamos el módulo PHP5 normal (como root):

a2dismod php5  
/etc/init.d/apache2 restart

Luego instalamos los requisitos necesarios para construir mod_suphp:

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

Ahora podemos descargar y construir suPHP de la siguiente manera:

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

Finalmente, añadimos el módulo suPHP a nuestra configuración de Apache…

vi /etc/apache2/httpd.conf

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

… y reiniciamos Apache:

/etc/init.d/apache2 restart

2 Fedora 8 / CentOS 5.1

En Fedora 8 y CentOS 5.1, debemos construir mod_suphp manualmente por las mismas razones que para Debian y Ubuntu ( suPHP_UserGroup).

Primero deshabilitamos el módulo PHP5 normal:

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

Comenta la línea LoadModule:

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

Luego instalamos los requisitos necesarios para construir mod_suphp:

yum install php-cli httpd-devel

Ahora podemos descargar y construir suPHP de la siguiente manera:

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

Finalmente, añadimos el módulo suPHP a nuestra configuración de Apache…

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

| LoadModule suphp_module modules/mod_suphp.so |

… y reiniciamos Apache:

/etc/init.d/httpd restart

3 Mandriva 2008.0

En Mandriva 2008.0, debemos construir mod_suphp manualmente por las mismas razones que para Debian y Ubuntu ( suPHP_UserGroup).

Primero deshabilitamos el módulo PHP5 normal:

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

Comenta la línea LoadModule:

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

Luego instalamos los requisitos necesarios para construir mod_suphp:

urpmi php-cgi apache-devel

Ahora podemos descargar y construir suPHP de la siguiente manera:

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

Finalmente, añadimos el módulo suPHP a nuestra configuración de Apache…

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

| LoadModule suphp_module modules/mod_suphp.so |

… y reiniciamos Apache:

/etc/init.d/httpd restart

4 OpenSUSE 10.3

OpenSUSE 10.3 viene con un paquete suPHP que entiende la directiva suPHP_UserGroup, por lo que no tenemos que construirlo nosotros mismos.

Primero deshabilitamos el módulo PHP5 normal. Abre /etc/sysconfig/apache2 y elimina php5 de la línea APACHE_MODULES (para que se parezca a esta línea - tus módulos pueden diferir, pero php5 no debe estar listado más):

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" [...] |

Ejecuta

SuSEconfig

después.

Ahora instalamos suPHP de la siguiente manera:

yast -i suphp

A continuación, añadimos suphp a la línea APACHE_MODULES en /etc/sysconfig/apache2, por ejemplo, así:

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" [...] |

Los paquetes suPHP de OpenSUSE vienen con una configuración de suPHP que habilita suPHP globalmente. Por lo tanto, debemos deshabilitar esta configuración ahora para que podamos habilitar o deshabilitar suPHP en ISPConfig en una base por sitio web:

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

En ese archivo comentamos todo:

| # # 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 # # # en tu vhost necesitas: # # suPHP_UserGroup someuser somegroup # |

Finalmente ejecutamos:

SuSEconfig  
/etc/init.d/apache2 restart

5 Configurar ISPConfig

Finalmente, debemos decirle a ISPConfig que debe escribir una configuración de suPHP en los vhosts de Apache en lugar de la configuración PHP habitual. Para hacer esto, abrimos el archivo de configuración de ISPConfig /home/admispconfig/ispconfig/lib/config.inc.php y establecemos $go_info[“server”][“apache2_php”] a suphp:

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

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

Ahora, cada vez que habilites PHP para un sitio web en ISPConfig, ISPConfig escribirá una configuración de suPHP en la configuración del vhost de ese sitio web.

6 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.