Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
suphp [Le 29/01/2011, 12:39]
82.232.164.221 Suppression de l'emploi de la première personne
suphp [Le 11/09/2022, 12:13] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 11: Ligne 11:
 Plus concrètement,​ suPHP permet de limiter l'​action des scripts php lancés sur votre serveur en les exécutant avec les droits de leur propriétaire,​ au lieu des droits d'​Apache. Ainsi un site ne peut pas avoir d'​action sur les fichiers d'un autre site. Cela est particulièrement utile dans le cas d'​installations d'​outils vulnérables comme des forums ou des CMS. Plus concrètement,​ suPHP permet de limiter l'​action des scripts php lancés sur votre serveur en les exécutant avec les droits de leur propriétaire,​ au lieu des droits d'​Apache. Ainsi un site ne peut pas avoir d'​action sur les fichiers d'un autre site. Cela est particulièrement utile dans le cas d'​installations d'​outils vulnérables comme des forums ou des CMS.
  
-C'est également utile pour la gestion d'un grand nombre de sites différents si vous êtes l'​administrateur d'un serveur d'​hébérgement mutualisé. suPHP permet de lancer les scripts avec les droits du propriétaire des fichiers, même si celui-ci n'​existe pas réellement. C'​est-à-dire s'il ne s'agit pas d'un utilisateur système mais d'un utilisateur virtuel, avec un simple UID numérique par exemple. Cette solution peut être combinée avec un serveur ftp administré par une base de données. Comme par exemple : [[proftpd_et_mysql]].+C'est également utile pour la gestion d'un grand nombre de sites différents si vous êtes l'​administrateur d'un serveur d'​hébérgement mutualisé. suPHP permet de lancer les scripts avec les droits du propriétaire des fichiers, même si celui-ci n'​existe pas réellement. C'​est-à-dire s'il ne s'agit pas d'un utilisateur système mais d'un utilisateur virtuel, avec un simple UID numérique par exemple. Cette solution peut être combinée avec un serveur ftp administré par une base de données.
  
-Enfin suPHP permet également de faire cohabiter plusieurs versions de php si vous souhaitez par exemple pouvoir ​executer ​php4 et php5 sur le même serveur facilement.+Enfin suPHP permet également de faire cohabiter plusieurs versions de php si vous souhaitez par exemple pouvoir ​exécuter ​php4 et php5 sur le même serveur facilement.
  
 ===== Installation ===== ===== Installation =====
Ligne 19: Ligne 19:
 <del> <del>
 À l'​heure où j'​écris ces lignes, la version actuelle d'​Apache est 2.2 et celle de suPHP et 0.6.3 et ces deux versions sont totalement compatibles l'une avec l'​autre. À l'​heure où j'​écris ces lignes, la version actuelle d'​Apache est 2.2 et celle de suPHP et 0.6.3 et ces deux versions sont totalement compatibles l'une avec l'​autre.
-</​del> ​+</​del>​
 Ces informations ont été mises à jour pour la version 0.7.1.1 de suPHP (pour Ubuntu à partir de la version 10.04), qui cohabite toujours aussi bien avec apache et qui corrige notamment une incompatibilité avec phpMyAdmin. Ces informations ont été mises à jour pour la version 0.7.1.1 de suPHP (pour Ubuntu à partir de la version 10.04), qui cohabite toujours aussi bien avec apache et qui corrige notamment une incompatibilité avec phpMyAdmin.
  
Ligne 32: Ligne 32:
 ==== Installation de php5 ==== ==== Installation de php5 ====
  
-Il ne sera pas traiter ​ici de la manière de faire cohabiter php4 et php5 du fait que php4 est voué à disparaître progressivement et que tous les efforts devraient être mis en place pour ne plus utiliser que php5.+Il ne sera pas traité ​ici de la manière de faire cohabiter php4 et php5 du fait que php4 est voué à disparaître progressivement et que tous les efforts devraient être mis en place pour ne plus utiliser que php5.
  
 Pour installer php5 en version CGI il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt://​php5-cgi|php5-cgi]]**. Pour installer php5 en version CGI il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt://​php5-cgi|php5-cgi]]**.
Ligne 46: Ligne 46:
 Il est plus simple de l'​installer directement par le paquet : **[[apt://​libapache2-mod-suphp|libapache2-mod-suphp]]** Il est plus simple de l'​installer directement par le paquet : **[[apt://​libapache2-mod-suphp|libapache2-mod-suphp]]**
  
-Si vous utilisez Ubuntu 10.04 (Lucid Lynx) ou une version ultérieure,​ tout doit à présent fonctionner correctement. Vous pouvez directement lire les quelques [[#​remarque_sur_l_utilisation|conseils]] qui vont permettront ​d'éviter des erreurs d'​utilisationSi vous utilisez une version ​précédente ​d'​Ubuntu, ​vous devrez préalablement effectuer ​les modifications décrites ​dans le paragraphe suivant, pour corriger un bug avec phpMyAdmin.+Après l'​installation du paquet suPHP, il vous faudra apporter ​une modification ​à la configuration de suPHP et/ou mod php, selon votre version ​d'UbuntuEn effet, la configuration installée par défaut rend inutilisable les applications php installées dans /usr/share, telles que la version ​de phpMyAdmin qui se trouve dans les paquets ​d'​Ubuntu. En effet, les scripts php situés ​dans ces répertoires ne sont plus exécutés et votre navigateur vous proposera donc de les télécharger...
  
-== Ubuntu 9.10 et précédentes : correction ​du bug avec phpMyAdmin ​==+Ce problème a été [[https://​bugs.debian.org/​cgi-bin/​bugreport.cgi?​bug=519005|reporté]] et corrigé dans la version 0.7.1.1 de suPHP, qui est incluse dans les paquets à partir de la version ​10.04 d'​Ubuntu (Lucic Lynx). Cette correction ​semble cependant partielle, veuillez donc suivre les instructions ci-après pour faire cohabiter joyeusement suPHP et phpMyAdmin ​(ou autre), si vous rencontrez le problème décrit.
  
-La configuration par défaut installée par le paquet libapache2-mod-suphp rend inutilisable les applications php installées dans /usr/share, telles que la version de phpMyAdmin installée par les paquetsEn effet, les scripts php situés dans ces répertoires ne sont plus exécutés ​et votre navigateur vous proposera donc de les télécharger...+== Ubuntu 10.04 et suivantes ==
  
-Ce problème a été [[http://​bugs.debian.org/​cgi-bin/​bugreport.cgi?​bug=519005|reporté]] et corrigé dans la version 0.7.1.1 ​de suPHP, qui est incluse dans les paquets à partir ​de la version 10.04 d'Ubuntu ​(Lucic Lynx).+Au moment ​de l'​écriture ​de cette section, ​la dernière ​version ​d'​Ubuntu est la 10.10. Si vous utilisez une version ultérieure,​ vérifiez que le problème existe toujours avant d'appliquer cette solution ​(il est probablement judicieux de vérifier de toutes façons).
  
-Dans les versions précédentes,​ vous devrez ​effectuer ​manuellement ​les modifications suggérées dans le [[http://​bugs.debian.org/​cgi-bin/​bugreport.cgi?​bug=519005#​10|message #10 du rapport de bug]], exposées aussi sur [[http://​serverfault.com/​questions/​211935/​running-phpmyadmin-and-suphp|cette page]]. En voici la traduction (cette méthode n'a été testée que sur la version 10.10 d'​Ubuntu,​ mais il apparait ​qu'​elles ​correspondent effectivement à la configuration fonctionnelle installée sur la version 10.10).+La solution, pour ces versions, consiste à éditer le fichiers /​etc/​apache2/​mods-available/​php5.conf et à encadrer tout le contenu du fichier (qui doit normalement commencer par <​IfModule mod_php5.c>​ et finir par </​IfModule>​) par les lignes : 
 +<​code>​ 
 +<​Directory /​usr/​share>​ 
 +</​code>​ 
 +et 
 +<​code>​ 
 +</​Directory>​ 
 +</​code>​ 
 +Ces deux lignes doivent donc être la première et la dernière du fichier. Redémarrer apache (sudo /​etc/​init.d/​apache2 restart), et tout doit alors être en place pour utiliser suPHP. 
 + 
 +== Ubuntu 9.10 et précédentes ​== 
 + 
 +Si vous utilisez une version d'​Ubuntu plus ancienne que la 10.04, vous allez avoir un peu plus de travail, car vous allez devoir ​effectuer ​vous-même ​les modifications suggérées dans le [[https://​bugs.debian.org/​cgi-bin/​bugreport.cgi?​bug=519005#​10|message #10 du rapport de bug]], exposées aussi sur [[http://​serverfault.com/​questions/​211935/​running-phpmyadmin-and-suphp|cette page]]. En voici la traduction (cette méthode n'a été testée que sur la version 10.10 d'​Ubuntu,​ mais il apparait ​que ces modifications ​correspondent effectivement à la configuration fonctionnelle installée sur la version 10.10).
  
-Ces modifications sont à effectuer après avoir installé le paquet libapache2-mod-suphp.+Ces modifications sont bien entendu ​à effectuer après avoir installé le paquet libapache2-mod-suphp. Elles ont pour but de permettre la cohabitation de mod_php, qui sera utilisé pour les scripts dans le dossier /usr/share, et php cgi, qui sera utilisé par suPHP pour les autres scripts.
  
 Dans le fichier /​etc/​suphp/​suphp.conf,​ remplacez la ligne suivante : Dans le fichier /​etc/​suphp/​suphp.conf,​ remplacez la ligne suivante :
Ligne 84: Ligne 96:
 </​code>​ </​code>​
  
-Enfin, dans le fichier ​/​etc/​apache2/​mods-available/​suphp.conf, ajoutez les lignes suivantes à l'​intérieur de la balise <​IfModule mod_suphp.c>​...</​IfModule>​ (juste avant la ligne </​IfModule>,​ par exemple) :+Dans le même fichier, ajoutez les lignes suivantes à l'​intérieur de la balise <​IfModule mod_suphp.c>​...</​IfModule>​ (juste avant la ligne </​IfModule>,​ par exemple) :
  
 <​code>​ <​code>​
Ligne 93: Ligne 105:
 </​Directory>​ </​Directory>​
 </​code>​ </​code>​
 +
 +Enfin, dans le fichier /​etc/​apache2/​mods-available/​php5.conf,​ encadrez tout le contenu du fichier (qui doit normalement commencer par <​IfModule mod_php5.c>​ et finit par </​IfModule>​) par les lignes :
 +<​code>​
 +<​Directory /​usr/​share>​
 +</​code>​
 +et
 +<​code>​
 +</​Directory>​
 +</​code>​
 +Ces deux lignes doivent donc être la première et la dernière du fichier.
 +
 +Redémarrer apache (sudo /​etc/​init.d/​apache2 restart), et tout doit alors être en place pour utiliser suPHP.
  
 === Par la compilation === === Par la compilation ===
  
 <note important>​ <note important>​
-La méthode donnée ci-après n'​inclut pas la correction du problème d'​incompatibilité entre suPHP et les applications php installées dans /usr/share, telles que phpMyAdmin lorsqu'​il est installé par les paquets. Veuillez vous reporter aux messages et aux pages cités dans [[#​ubuntu_910_et_precedentes_correction_du_bug_avec_phpmyadmin|la partie précédente]]. Si vous ne comprenez pas comment appliquer vous-même les modifications dans les fichiers de configuration,​ préférez l'​installation par les paquets et l'​application des modifications telles qu'​elles sont décrites ci-dessus.+La méthode donnée ci-après n'​inclut pas la correction du problème d'​incompatibilité entre suPHP et les applications php installées dans /usr/share, telles que phpMyAdmin lorsqu'​il est installé par les paquets. Veuillez vous reporter aux messages et aux pages cités dans la partie précédente, qui concerne l'​installation par les paquets. Si vous ne comprenez pas comment appliquer vous-même les modifications dans les fichiers de configuration,​ préférez l'​installation par les paquets et l'​application des modifications telles qu'​elles sont décrites ci-dessus.
 </​note>​ </​note>​
  
  • suphp.1296301155.txt.gz
  • Dernière modification: Le 18/04/2011, 14:46
  • (modification externe)