Problème avec php4 +php5 +suPHP

Salut,

Mon nouveau problème ressemble à quelque chose que dexmon a rencontré il n’y a pas longtemps.

cf : forum.debian-fr.org/viewtopic.ph … ight=suphp

J’en suis à peu près au même point, si ce n’est que ca ne marche pas…J’ai eu des problèmes en uploadant des fichiers sur le public_html de mon domaine, car certains composants joomla avaient des droits pour apache, d’où impossible de les utiliser corectement, même en les chmodant.
Apache s’approprie bien les droits…

J’ai essayé le tutorial suivant, mais cela ne marche toujours pas (peut - être ai-je fait une erreur…), j’aimerais refaire le process de configuration de php (4 et 5) pour n’avoir que du cgi et que je puisse utiliser mes fichiers.

cf le post d’Avenue du web:

directadmin.fr/viewtopic.php … +phpsuexec

N.B: Comment repartir sur une installation “clean” de php avant de refaire la conf de php et l’install de suPHP??

Le tutorial d’avenue du web est conçu pour directadmin.

Faudrait connaitre ta version d’apache et comment tu l’as installer ?
par apt-get ou tu l’as compilé ?

Je suis bien sous direct admin moi aussi, sinon je n’aurais pas suivi ce tutoriel…
httpd -v me renvoie ceci:

Server version: Apache/1.3.37 (Unix) Server built: Jan 18 2007 12:05:49 et apache a été installé automatiquement avec DA, avec pour caractéristique user: apache group: apache

Et quelle version de php a tu déjà installée ?
et que te renvoi un httpd -l ?

le php -v me renvoie php 4.4.4, mais j’ai pourtant aussi téléchargé et installé le php-5.2.0 en suivant le tutorial d’avenue du web; mais viciblement la sauce n’a pas pris!

ça dépend, si le binaire php de php5 n’est pas dans les path tu ne pourras pas l’exécuter directmeent sur la console, il faut que tu tappe le lien direct.

par exemple chez moi c :

ça dépend, si le binaire php de php5 n’est pas dans les path tu ne pourras pas l’exécuter directmeent sur la console, il faut que tappe le lien direct.[/quote]

cad? celui-ci ? : # cgi.force_redirect = 0

non, en fait je parlais pour connaitre ta version php5.

SI tu veux je peux essayer de te faire un petit tutoriel pour l’installation mais il faut que je sache les chemins vers les répertoires de tes applis (apache, php4, php5, espace utilisateurs…etc…) car sur directadmin les paths doivent changer.

quel est ce binaire et ou dois-je le renseigner?

Fait un :

et dit moi ce que ça te retourne.

j’ai ceci pour php:

/usr/local/bin/php /usr/local/lib/php /usr/local/include/php /usr/local/directadmin/customapache/php-4.4.4/sapi/cli/php /var/www/html/squirrelmail-1.4.9a/plugins/html_mail/fckeditor/editor/filemanager/browser/default/connectors/php /var/www/html/squirrelmail-1.4.9a/plugins/html_mail/fckeditor/editor/filemanager/browser/mcpuk/connectors/php /var/www/html/squirrelmail-1.4.9a/plugins/html_mail/fckeditor/editor/filemanager/upload/php

pour apache:

/usr/include/apache /usr/lib/apache /usr/src/suphp-0.6.1/doc/apache /usr/src/suphp-0.6.1/src/apache /usr/local/directadmin/customapache/php-5.2.0/sapi/apache /usr/local/directadmin/customapache/php-5.2.0/scripts/apache /usr/local/directadmin/customapache/php-4.4.4/sapi/apache /usr/local/directadmin/customapache/php-4.4.4/scripts/apache /etc/logrotate.d/apache

Merci de te donner autant de mal, là j’ai le cerveau en compote a force de fouiner partout (fin de semaine oblige…) :wink:

ok
et que te retourne la commande httpd -l c’est un L minuscule

Sinon en attendant voici un petit tuto, faudra adapter les chemins dans la compilation pour suphp, ne fonctionne qu’avec suphp 0.5.2 et par pour les versions supérieurs.

[code]==============================================================
Attention, ce howto n’est valable qu’avec la version 0.5.2
de suPHP et ne fonctionnera pas avec la version 0.6.1 et 0.6.2

  • Récupération de PHP5 et suPHP :

mkdir /usr/local/src/tar

cd /usr/local/src/tar

wget http://be2.php.net/get/php-5.2.0.tar.gz/from/this/mirror

wget http://suphp.org/download/suphp-0.5.2.tar.gz

  • Désarchivage

cd …/

tar -zxf tar/php-5.2.0.tar.gz

tar -zxf tar/suphp-0.5.2.tar.gz

  • Compilation de PHP5 :

cd php-5.2.0

./configure --prefix=/usr/local/php5-cgi --with-freetype-dir=/usr --with-sqlite --with-xsl --with-pdo=shared --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-ttf --with-mcrypt --with-curl --with-ming=/usr --with-gettext --with-gmp --with-bz2 --with-dom=shared --with-dom-xslt=shared --with-dom-exslt=shared --with-zlib-dir=/usr --with-iconv --with-kerberos --with-mysql=/usr --with-pdo-mysql=/usr --with-mysqli=/usr/bin/mysql_config --with-mhash --with-ncurses --with-imap --with-imap-ssl --with-openssl=/usr --with-xpm-dir=/usr --with-pcre-dir=/usr --with-pear --with-t1lib --enable-exif --enable-track-vars --enable-magic-quotes --enable-trans-sid --enable-wddx --enable-ftp --enable-inline-optimization --enable-memory-limit --enable-gd-native-ttf --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-shmop --enable-bcmath --enable-calendar --enable-mbstring --enable-posix --enable-cgi --enable-zip --enable-dbase --enable-cli --enable-fastcgi --enable-force-cgi-redirect --enable-sockets --enable-soap --disable-debug

(à adapter en fonction des extensions que vous voulez dans PHP5, ici j’ai mi la totale)

make

make install

(recopier le fichier de config “php.ini-dist” fourni dans les sources dans “/usr/local/php5-cgi/lib/php.ini”)

cd …/

  • Compilation de suPHP :
    (mettre le bon chemin vers le fichier apxs et le fichier des logs)

cd suphp-0.5.2

./configure --with-apxs=/usr/local/apache/bin/apxs --with-php=/usr/local/php5-cgi/bin/php --with-apache-user=apache --with-setid-mode=owner --with-logfile=/usr/local/apache/logs/suphp_log

make

make install

  • Maintenant, il ne reste plus qu’à modifier le fichier de configuration d’Apache :
  • Pour activer PHP5 en CGI pour un Virtual Host uniquement, il faut ajouter dans le virtual host :

    suPHP_ConfigPath /usr/local/php5-cgi/lib
    php_admin_flag engine off
    suPHP_Engine on
    AddHandler x-httpd-php .php .php3

  • Pour activer PHP5 en CGI pour tous les virtual hosts, il faut ajouter les quatres mêmes lignes mais dans la section globale de la configuration
    (par exemple après les lignes
    AddType application/x-httpd-php .php .php3
    AddType application/x-httpd-php-source .phps )

    suPHP_ConfigPath /usr/local/php5-cgi/lib
    php_admin_flag engine off
    suPHP_Engine on
    AddHandler x-httpd-php .php .php3

  • Si lorsque vous avez activé PHP5 en CGI pour tous les Virtual Hosts, vous souhaitez le désactiver pour un virtualhost seulement et utiliser PHP4 en module, ajoutez dans le virtualhost ceci :

    suPHP_ConfigPath /usr/local/php5-cgi/lib
    suPHP_Engine off
    RemoveHandler .php .php3
    php_admin_flag engine on

    Dexinou[/code]

wow, tout un programme!
En tous cas merci beaucoup pour ce tuto, je l’essaierai lundi (car je n’aurais pas accès a mes serveurs avant), et je te tiens au courant de la suite des évènements.

J’espère pouvoir arriver à customiser cela! :wink:

En tous cas, tout ca pour de malheureux petits droits (élémentaires pour faire des sites) qui ne sont pas inclu dans directadmi…

En tous cas, il est apparemment question d’intégrer suPHP à DA, il y a d’ailleurs un sondage à ce propos sur le forum américain.

Il serait temps d’y penser!! :slightly_smiling:

On peu aussi utiliser suexec avec apache mais bon.

[quote=“dexmon”]ok
et que te retourne la commande httpd -l c’est un L minuscule[/quote]

Ceci:

 Compiled-in modules:
 http_core.c
  mod_so.c
  mod_frontpage.c
suexec: enabled; valid wrapper /usr/sbin/suexec

Bon, je viens de commencer ton tuto, et j’ai déjà une erreur…

Au premier “configure” pour php5.2, a la fin j’ai ce message d’erreur:

checking for BZip2 in default path... not found configure: error: Please reinstall the BZip2 distribution

J’ai fixé le problème en installant libbz2-dev mais après j’ai une autre erreur:

configure: error: freetype2 not found!

Quelle option me demande freetype?, je n’en ai pas besoin , du moins je crois.
Car même apres l’avoir installé ca ne marche pas! j’ai la même erreur!

Quelle ligne supprimer?.

Bon en fait j’ai réadapté le configure à ma sauce avec:

./configure --prefix=/usr/local/php5-cgi --enable-force-cgi-redirect --enable-fastcgi --with-config-file-path=/usr/local/etc/php5/cgi --with-curl --with-curl-dir=/usr/local/lib --with-gd --with-gd-dir=/usr/local/lib --with-gettext --with-jpeg-dir=/usr/local/lib --with-kerberos --with-mcrypt --with-mhash --with-mysql=/usr/local/mysql --with-pear --with-png-dir=/usr/local/lib --with-xml --with-zlib --with-zlib-dir=/usr/local/lib --with-zip --enable-bcmath --enable-calendar --enable-ftp --enable-magic-quotes --enable-sockets --enable-track-vars --enable-mbstring --enable-memory-limit

Ensuite, fait un long make, puis make install qui semble s’être bien déroulé:

Installing PHP SAPI module: cgi Installing PHP CGI into: /usr/local/php5-cgi/bin/ Installing build environment: /usr/local/php5-cgi/lib/php/build/ Installing header files: /usr/local/php5-cgi/include/php/ Installing helper programs: /usr/local/php5-cgi/bin/ program: phpize program: php-config Installing man pages: /usr/local/php5-cgi/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/php5-cgi/lib/php/ [PEAR] Archive_Tar - installed: 1.3.1 [PEAR] Console_Getopt - installed: 1.2 pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0) [PEAR] PEAR - installed: 1.4.11 Wrote PEAR system config file at: /usr/local/php5-cgi/etc/pear.conf You may want to add: /usr/local/php5-cgi/lib/php to your php.ini include_path Installing PDO headers: /usr/local/php5-cgi/include/php/ext/pdo/
Ensuite, tu m’as dit:[quote=“dexmon”]recopier le fichier de config “php.ini-dist” fourni dans les sources dans “/usr/local/php5-cgi/lib/php.ini”[/quote]
Je n’ai pas de répertoire “lib”, mais “libs”, je suppose que c’est celui-là.
Sinon, lorsque tu me dis “dans les sources”, c’est dans l’archive tar elle-même?

Enfin, pour la conf des vhosts, je souhaite activer php5 en cgi pour tous mes vhosts, mais je ne vois pas de quoi tu parles quend tu parles de section “globale” dans le fichier de conf. D’ailleurs, c’est bien httpd.conf dont on parle pour l’ajout des lignes?

dans les sources que tu as télécharger pour php 5 (php-5.2.0.tar.gz et tu as décompresser!! c’est ça les sources.), il y a un fichier nommé php.ini-dist
il faut le copier dans /usr/local/php5-cgi/lib et le renommé php.ini

ensuite redémarrer apache.

Ok pour le fichier php.ini-dist!

Mais pour les options d’httpd, je ne vois pas ou exactement il faut renseigner

[quote]suPHP_ConfigPath /usr/local/php5-cgi/lib
php_admin_flag engine off
suPHP_Engine on
AddHandler x-httpd-php .php .php3[/quote]
Il y a une section “location” juste avant les options ssl dans httpd.conf où j’ai tenté cela, mais cela ne marche pas semble t’il…:

<Location /> #suPHP_ConfigPath /usr/local/php5-cgi/lib #php_admin_flag off #suPHP_Engine on #suPHP_AddHandler x-httpd-php .php .php3 </Location>
A savoir que les suPHP_Addhandler datent d’une ancienne tentative avec suphp, est-ce que cela peut encore fonctionner?