Cómo instalar suPHP en varias distribuciones de Linux para usar con ISPConfig (2.2.20 y superiores)
A partir de la versión 2.2.20, ISPConfig ha mejorado la compatibilidad con suPHP. Este artículo explica cómo instalar suPHP en varias distribuciones compatibles con ISPConfig. (Si ha utilizado suPHP con versiones anteriores de ISPConfig, su instalación seguirá funcionando).
¡No emito ninguna garantía de que esto funcione para usted!
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 es compatible con la directiva suPHP_UserGroup (que usa ISPConfig) porque no se compiló con --with-setid -mode=interruptor paranoico. Por lo tanto, debemos construir mod_suphp manualmente.
Primero deshabilitamos el módulo PHP5 normal (como root):
a2dismod php5
/etc/init.d/apache2 reiniciar
Luego instalamos los requisitos previos necesarios para compilar mod_suphp:
apt-get install php5-cgi apache2-prefork-dev
Ahora podemos descargar y compilar 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
hacer
hacer instalar
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 reinicie Apache:
/etc/init.d/apache2 restart
2 Fedora 8 / CentOS 5.1
En Fedora 8 y CentOS 5.1, debemos compilar 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
Comente la línea LoadModule:
[...]
#LoadModule php5_module modules/libphp5.so
[...] |
Luego instalamos los requisitos previos necesarios para compilar mod_suphp:
yum install php-cli httpd-devel
Ahora podemos descargar y compilar 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
hacer
hacer instalación
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 reinicie Apache:
/etc/init.d/httpd restart
3 Mandriva 2008.0
En Mandriva 2008.0, debemos compilar 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
Comente la línea LoadModule:
<IfDefine HAVE_PHP5>
<IfModule !mod_php5.c>
#LoadModule php5_module extramodules/mod_php5.so
</IfModule>
</IfDefine>
[...] |
Luego instalamos los requisitos previos necesarios para compilar mod_suphp:
urpmi php-cgi apache-devel
Ahora podemos descargar y compilar 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
hacer
hacer instalación
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 reinicie Apache:
/etc/init.d/httpd restart
4 OpenSUSE 10.3
OpenSUSE 10.3 viene con un paquete suPHP que comprende la directiva suPHP_UserGroup, por lo que no tenemos que construirlo nosotros mismos.
Primero deshabilitamos el módulo PHP5 normal. Abra /etc/sysconfig/apache2 y elimine php5 de la línea APACHE_MODULES (para que se vea similar a esta línea; sus módulos pueden diferir, pero php5 ya no debe aparecer en la lista):
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"
[...] |
Ejecutar
SuSEconfig
después.
Ahora instalamos suPHP de la siguiente manera:
yast -i suphp
A continuación, agregamos suphp a la línea APACHE_MODULES en /etc/sysconfig/apache2, p. 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 suPHP que habilita suPHP globalmente. Por lo tanto, debemos deshabilitar esta configuración ahora para que podamos habilitar o deshabilitar suPHP en ISPConfig por sitio web:
vi /etc/apache2/conf.d/mod_suphp.conf
En ese archivo comentamos todo:
#<IfModule mod_suphp.c>
# 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
#
# <Location />
# suPHP_AddHandler application/x-httpd-php
# </Location>
#</IfModule>
# in your vhost you need:
#<Virtualhost *>
# suPHP_UserGroup someuser somegroup
#</Virtualhost> |
Finalmente ejecutamos:
SuSEconfig
/etc/init.d/apache2 reiniciar
Finalmente, debemos decirle a ISPConfig que debe escribir una configuración suPHP en los vhosts de Apache en lugar de la configuración habitual de PHP. 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"] en suphp:
vi /home/admispconfig/ispconfig/lib/config.inc.php
[...]
$go_info["server"]["apache2_php"] = 'suphp';
[...] |
Ahora, cada vez que habilite PHP para un sitio web en ISPConfig, ISPConfig escribirá una configuración suPHP en la configuración vhost de ese sitio web.
6 Enlaces
- suPHP:http://www.suphp.org
- ISPConfig:http://www.ispconfig.org