21
Oct 05

SuPHP: ou comment executer php avec les droits utilisateur

21 octobre 2005 | Informatique | Tags: , ,

SuPHP permet d’utiliser les scripts php avec les droits utilisateurs au lieu de celui du serveur web, et donc d’éviter que les applis php pleines de failles que l’on trouve ici ou la (ex phpbb) fassent un carnage.

L’installation sous Debian n’est pas bien compliquée, il est méme possible de spécifier si SuPHP est activé ou non par Virtualhost.

 

apt-get install libapache-mod-suphp suphp-common 

Rajouter dans /etc/apache/modules.conf:

LoadModule suphp_module modules/mod_suphp.so 

et dans /etc/apache/httpd.conf:

suPHP_ConfigPath /etc/php4/apache AddHandler x-httpd-php .php suPHP_Engine on php_admin_flag engine off

Redemarrer le serveur:

apachectl restart 

Pour désactiver SuPHP dans un VirtualHost:

<VirtualHost *> 

 suPHP_Engine off  RemoveHandler .php  php_admin_flag engine on  ServerAdmin webmaster@domaine.com  ServerName domaine.com  ServerAlias www.domaine.com  DocumentRoot /home/domaine/www

</VirtualHost>


  • le mode suExec permet la méme chose aussi, c’est la config que j’utilise dans mon script de création de compte web :
    http://www.tatane.com/index.php/...

  • SuPHP: ou comment executer php avec les droits utilisateur

    SuPHP permet d’utiliser les scripts php avec les droits utilisateurs au lieu de celui du serveur web, et donc d’éviter que les applis php pleines de failles que l’on trouve ici ou la (ex phpbb) fassent un carnage. L’installatio…

  • vanalex

    Hello,

    J’ai installé Suphp via apt-get.
    – Ubuntu Edgy (6.10), Apache2 et Suphp 0.6.1.

    Mon probleme est le suivant :
    1°/ Apres avoir activé Suphp pour apache2, j’execute un script phpinfo.php. PHP fonctionne bien. le script m’indique que mon php.ini se trouve dans /etc/php5/cgi, si je modifie le fichier php.ini qui est dans ce répertoire et qu je relance apache les modifications ne sont pas prises en compte. Est ce normal? Voyez vous un problême?

    2°/ Dans mon fichier /etc/apache2/mods-enabled/suphp.conf, j’ai ajouté la ligne suivante afin de personnaliser la configue php d’un site :
    suPHP_ConfigPath /home/websafe/public_html/php.ini
    Aprês avoir relancé apache, j’execute un script phpinfo.php qui se trouve dans le répertoire public_html. Malheureusement il semble que ce soit toujours la configue par défaut qui soit activée. Avez vous une idée?

    Merci et a++

  • Est ce que vous interpretez bien le phpinfo avec le user pour lequel vous avez affecté suPHP_ConfigPath (virtualhost) ?

  • vanalex

    Merci pour ta réponse rapide.
    Oui et non…
    Oui pour ce qui concerne la partie "/var/www/" (l’utilisateur est www-data pour ces fichiers). Et donc mon ConfigPATH c’est aussi www-data.

    Non pour ce qui concerne mon utilisateur "websafe", etant donné que c’est www-data.

    J’ai donc remplacé www-data par websafe dans le fichier ConfigPATH de suphp, afin de tester et là  j’ai l’erreur suivant "SecurityException in Application.cpp:156: Calling user is not webserver user!". J’en conclu que je doit utiliser www-data et non websafe? Mais peut étre ai je raté une étape?

    VirtualHost, je le fonctionnment , parcontre dans pour websafe je n’ai pas de virtualhost car j’hutilise le module "userdir". ce la pose t’il un probleme?

    Si tu as un utilisateur toto et autre tata comment confgures tu suphp?

    Merci pour ton aide.

    A++

  • vanalex

    Merci pour ta réponse rapide.
    Oui et non…
    Oui pour ce qui concerne la partie "/var/www/" (l’utilisateur est www-data pour ces fichiers). Et donc mon ConfigPATH c’est aussi www-data.

    Non pour ce qui concerne mon utilisateur "websafe", etant donné que c’est www-data.

    J’ai donc remplacé www-data par websafe dans le fichier ConfigPATH de suphp, afin de tester et là  j’ai l’erreur suivant "SecurityException in Application.cpp:156: Calling user is not webserver user!". J’en conclu que je doit utiliser www-data et non websafe? Mais peut étre ai je raté une étape?

    VirtualHost, je le fonctionnment , parcontre dans pour websafe je n’ai pas de virtualhost car j’hutilise le module "userdir". ce la pose t’il un probleme?

    Si tu as un utilisateur toto et autre tata comment confgures tu suphp?

    Merci pour ton aide.

    A++