GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment configurer suPHP sur un serveur ISPConfig basé sur Debian Etch

Comment configurer suPHP sur un serveur ISPConfig basé sur Debian Etch

Version 1.1
Auteur : [at] bb-hosting [dot] org>

En général, ce guide est le même que mon guide "Comment configurer suPHP sur un serveur ISPConfig basé sur Debian Sarge" sur https://www.howtoforge.com/suphp_debian_ispconfig mais il contient quelques modifications mineures mais importantes pour Debian Etch.

Lorsque vous avez configuré suPHP sur votre serveur ISPConfig, vous pouvez exécuter les scripts PHP sous l'utilisateur administrateur du site Web au lieu de www-data.

Important :J'ai testé ce guide sur un serveur Debian Etch avec ISPConfig 2.2.11 et PHP Version 5.2.0-8 pour Apache 2.2.3, mais je ne garantis pas que cela fonctionnera pour vous !

Faites d'abord une copie de votre fichier /etc/apache2/vhosts/Vhosts_ispconfig.conf. Par exemple, copiez-le dans /etc/apache2/vhosts/Vhosts_ispconfig-backup.conf.

Sur un serveur ISPConfig par défaut, php5 s'exécute en tant que module. Désactivez-le avec la commande :

a2dismod php5

Supprimez maintenant toutes les entrées phpadmin dans le fichier Vhosts_ispconfig.conf d'origine. Redémarrez Apache :

/etc/init.d/apache2 redémarrage

Comme nous avons supprimé toutes les entrées de phpadmin, vous ne devriez pas avoir d'erreurs au redémarrage d'Apache2.

Installez suPHP en DSO, donc il faut installer apxs (sur Debian Etch c'est apxs2) :

apt-get install apache2-prefork-dev

Installez PHP5-CGI :

apt-get install php5-cgi
cd /tmp

Installez suPHP, la version 0.6.2 est la dernière version stable à ce jour :

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

Remplacez les lignes 324/325 par ces deux lignes ci-dessous (si vous utilisez une version différente de suPHP, les numéros de ligne peuvent être différents) :

AP_INIT_ITERATE("suPHP_AddHandler", suphp_handle_cmd_add_handler, NULL, RSRC_CONF | ACCESS_CONF, "Dit à mod_suphp de gérer ces types MIME"),
AP_INIT_ITERATE("suPHP_RemoveHandler", suphp_handle_cmd_remove_handler, NULL, RSRC_CONF | ACCESS_CONF, "Dit à mod_suphp de ne pas gérer ces types MIME"),

Ensuite, nous compilons et installons suPHP :

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

Copiez le fichier suphp.conf :

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

Changez le contenu de /etc/suphp.conf, en utilisant la commande :

vi /etc/suphp.conf

Cela devrait ressembler à ceci :

[global];Chemin d'accès au fichier journal logfile=/var/log/suphp.log;Niveau de journalisation loglevel=info;L'utilisateur Apache s'exécute en tant que webserver_user=www-data;Le chemin d'accès à tous les scripts doit être dans docroot=/;Le chemin d'accès chroot() avant d'exécuter le script;chroot=/mychroot; Options de sécurité allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Vérifier si le script se trouve dans DOCUMENT_ROOT check_vhost_docroot=true ;Envoyer des messages d'erreur mineurs au navigateur errors_to_browser=false ;Variable d'environnement PATH env_path=/bin:/usr/bin ;Umask à set, spécifiez en notation octale umask=0077 ; UID minimal min_uid=100 ; GID minimum min_gid=100 [handlers];Gestionnaire pour les scripts php x-httpd-php=php:/usr/bin/php5-cgi;Gestionnaire pour les scripts CGI x-suphp-cgi=execute:!self

Ajoutez la ligne suivante à /etc/apache2/httpd.conf, en utilisant la commande :

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

Redémarrez Apache en utilisant la commande :

/etc/init.d/apache2 redémarrage

Editez /home/admispconfig/ispconfig/lib/config.inc.php trouvez la ligne :

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

et changez en :

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

Maintenant, dans ISPConfig, apportez une petite modification à l'un de vos sites Web, afin qu'ISPConfig écrive un nouveau fichier vhost. Par exemple, activez les scripts cgi pour l'un de vos sites Web ou autre.

Dans votre /etc/apache2/vhosts/Vhosts_ispconfig.conf, vous verrez qu'ISPConfig a réécrit le fichier, car les lignes ci-dessous sont ajoutées pour chaque site :

suPHP_Engine sur
suPHP_UserGroup username nom_groupe
AddHandler x-httpd-php .php .php3 .php4 .php5
suPHP_AddHandler x-httpd-php

Important :n'apportez aucune modification manuelle dans votre fichier /etc/apache2/vhosts/Vhosts_ispconfig.conf !

Lorsque vous établissez une connexion via FTP, vous verrez que vous pouvez définir n'importe quelle autorisation sur votre site :

Vous pouvez également exécuter les scripts php sous l'utilisateur administrateur du site Web au lieu de l'utilisateur système www-data. Cela donne plus de confort à l'utilisateur administrateur du site Web. suPHP est également très utile lorsque vous exécutez un CMS sur votre site Web comme Joomla. Avec suPHP activé, Joomla aura suffisamment d'autorisations pour fonctionner correctement, tandis que l'utilisateur administrateur du site Web aura le contrôle total ! Enfin, l'utilisation de suPHP est une solution plus sûre et plus professionnelle que l'utilisation de chmod 777 pour votre site !

Si vous ne souhaitez pas utiliser php5-cgi+suPHP pour un site Web particulier sur votre serveur ISPConfig, il existe une solution. Connectez-vous à votre serveur en tant que root et activez le module php5 pour Apache2 :

a2enmod php5

Redémarrez Apache2 avec :

/etc/init.d/apache2 force-reload

Dans ISPConfig, désactivez le php et ajoutez ce qui suit dans le champ des directives Apache pour votre site :


AddType application/x-httpd-php .php .php3 .php4 .php5
php_admin_flag safe_mode Off


Maintenant, votre ISPConfig avec Debian Etch, utilise PHP5-mod et PHP5-CGI+suPHP. Dans la plupart des cas, vous n'aurez besoin que de PHP5-CGI+suPHP. Cependant, si vous ne pouvez pas utiliser le mécanisme suphp pour certaines raisons, vous pouvez toujours utiliser php5 comme module pour ce site Web particulier.


Panels
  1. Comment configurer un serveur Ubuntu/Debian LAMP

  2. Comment configurer un serveur SFTP sur le serveur Debian 11

  3. Comment installer Z-Push sur un serveur ISPConfig 3 (Debian Lenny)

  4. Comment configurer suPHP sur un serveur ISPConfig basé sur Debian Sarge

  5. Comment installer Nextcloud 14 sur Debian 9

Comment configurer le serveur Rsyslog Debian 10/11

Comment configurer le serveur et le client NTP sur Debian 11

Comment configurer Mailman avec Debian et ISPConfig

Comment configurer la base de code Gallery2 sur un serveur ISPConfig

Comment configurer un multisite Gallery2 sur un serveur ISPConfig

Comment installer Drupal 5.6 sur Debian Etch avec ISPConfig