GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo configurar suPHP en un servidor ISPConfig basado en Debian Etch

Cómo configurar suPHP en un servidor ISPConfig basado en Debian Etch

Versión 1.1
Autor: [at] bb-hosting [punto] org>

En general, este instructivo es el mismo que mi instructivo "Cómo configurar suPHP en un servidor ISPConfig basado en Debian Sarge" en https://www.howtoforge.com/suphp_debian_ispconfig pero contiene algunas modificaciones pequeñas pero importantes para Debian Etch.

Cuando haya configurado suPHP en su servidor ISPConfig, puede ejecutar los scripts PHP bajo el usuario administrador del sitio web en lugar de www-data.

Importante:he probado este tutorial en un servidor Debian Etch con ISPConfig 2.2.11 y PHP versión 5.2.0-8 para Apache 2.2.3, ¡pero no garantizo que funcione para usted!

Primero haga una copia de su archivo /etc/apache2/vhosts/Vhosts_ispconfig.conf. Por ejemplo, cópielo en /etc/apache2/vhosts/Vhosts_ispconfig-backup.conf.

En un servidor ISPConfig predeterminado, php5 se ejecuta como un módulo. Desactívelo con el comando:

a2dismod php5

Ahora elimine todas las entradas de phpadmin dentro del archivo Vhosts_ispconfig.conf original. Reiniciar Apache:

/etc/init.d/apache2 restart

Como eliminamos todas las entradas de phpadmin, no debería tener ningún error cuando se reinicie Apache2.

Instale suPHP como un DSO, por lo que debemos instalar apxs (en Debian Etch es apxs2):

apt-get install apache2-prefork-dev

Instalar PHP5-CGI:

apt-get install php5-cgi
cd /tmp

Instale suPHP, la versión 0.6.2 es la última versión estable en este momento:

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
vi src/apache2/mod_suphp.c

Reemplace las líneas 324/325 con estas dos líneas a continuación (si usa una versión diferente de suPHP, los números de línea pueden ser diferentes):

AP_INIT_ITERATE("suPHP_AddHandler", suphp_handle_cmd_add_handler, NULL, RSRC_CONF | ACCESS_CONF, "Tells mod_suphp to handle these MIME-types"),
AP_INIT_ITERATE("suPHP_RemoveHandler", suphp_handle_cmd_remove_handler, NULL, RSRC_CONF | ACCESS_CONF, "Tells mod_suphp not to handle these MIME-types"),

Luego compilamos e instalamos suPHP:

./configure --prefix=/usr --sysconfdir=/etc --with-apache-user=www-data --with-setid-mode=paranoid --with-apxs=/usr/bin/apxs2
make
make install

Copie el archivo suphp.conf:

cp /tmp/suphp-0.6.2/doc/suphp.conf-example /etc/suphp.conf

Cambie el contenido de /etc/suphp.conf usando el comando:

vi /etc/suphp.conf

Debería verse así:

[global]  ;Path to logfile  logfile=/var/log/suphp.log   ;Loglevel  loglevel=info   ;User Apache is running as  webserver_user=www-data   ;Path all scripts have to be in  docroot=/   ;Path to chroot() to before executing script  ;chroot=/mychroot   ; Security options  allow_file_group_writeable=true  allow_file_others_writeable=false  allow_directory_group_writeable=true  allow_directory_others_writeable=false   ;Check wheter script is within DOCUMENT_ROOT  check_vhost_docroot=true   ;Send minor error messages to browser  errors_to_browser=false   ;PATH environment variable  env_path=/bin:/usr/bin   ;Umask to set, specify in octal notation  umask=0077   ; Minimum UID  min_uid=100   ; Minimum GID  min_gid=100    [handlers]  ;Handler for php-scripts  x-httpd-php=php:/usr/bin/php5-cgi   ;Handler for CGI-scripts  x-suphp-cgi=execute:!self

Agregue la siguiente línea a /etc/apache2/httpd.conf, usando el comando:

vi /etc/apache2/httpd.conf
LoadModule suphp_module       /usr/lib/apache2/modules/mod_suphp.so

Reinicie Apache, usando el comando:

/etc/init.d/apache2 restart

Edite /home/admispconfig/ispconfig/lib/config.inc.php busque la línea:

$go_info["server"]["apache2_php"] = 'both';

y cambia a:

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

Ahora, dentro de ISPConfig haz una pequeña modificación en una de tus webs, para que ISPConfig escriba un nuevo archivo vhost. Por ejemplo, habilite cgi-scrips para uno de sus sitios web más o menos.

Dentro de /etc/apache2/vhosts/Vhosts_ispconfig.conf, verá que ISPConfig ha reescrito el archivo, porque las siguientes líneas se agregan para cada web:

suPHP_Engine on
suPHP_UserGroup username groupname
AddHandler x-httpd-php .php .php3 .php4 .php5
suPHP_AddHandler x-httpd-php
</VirtualHost>

Importante:¡no realice cambios manuales en su archivo /etc/apache2/vhosts/Vhosts_ispconfig.conf!

Cuando establezcas una conexión vía FTP, verás que puedes configurar cualquier permiso dentro de tu web:

También puede ejecutar los scripts php con el usuario administrador del sitio web en lugar del usuario del sistema www-data. Esto le da más comodidad al usuario administrador del sitio web. suPHP también es muy útil cuando ejecuta un CMS dentro de su web como Joomla. Con suPHP habilitado, Joomla tendrá suficientes permisos para funcionar correctamente, ¡mientras que el usuario administrador del sitio web tiene el control total! Por último, pero no menos importante, ¡usar suPHP es una solución más segura y más profesional que usar chmod 777 para su sitio web!

Si no quiere usar php5-cgi+suPHP para un sitio web en particular en su servidor ISPConfig, hay una solución. Inicie sesión en su servidor como root y habilite el módulo php5 para Apache2:

a2enmod php5

Reinicie Apache2 con:

/etc/init.d/apache2 force-reload

Dentro de ISPConfig, deshabilite php y agregue lo siguiente dentro del campo de directivas de Apache para su sitio:

<Directory /var/www/webX/web>
AddType application/x-httpd-php .php .php3 .php4 .php5
php_admin_flag safe_mode Off
</Directory>

Ahora su ISPConfig con Debian Etch, usa PHP5-mod y PHP5-CGI+suPHP. En la mayoría de las situaciones, solo necesitará PHP5-CGI+suPHP. Sin embargo, si no puede usar el mecanismo suphp por alguna razón, aún puede usar php5 como un módulo para ese sitio web en particular.


Panels
  1. Cómo configurar un servidor SFTP en Debian 11 Server

  2. Cómo instalar Z-Push en un servidor ISPConfig 3 (Debian Lenny)

  3. Cómo configurar suPHP en un servidor ISPConfig basado en Debian Sarge

  4. Cómo configurar un servidor TeamSpeak en Ubuntu 16.04

  5. Cómo configurar un servidor OpenVPN en Debian 10

Cómo configurar el servidor Rsyslog Debian 10/11

Cómo configurar el servidor y el cliente NTP en Debian 11

Cómo configurar Mailman con Debian e ISPConfig

Cómo configurar la base de código de Gallery2 en un servidor ISPConfig

Cómo configurar un multisitio Gallery2 en un servidor ISPConfig

Cómo instalar Drupal 5.6 en Debian Etch con ISPConfig