Aller au contenu

Plesk, PEAR, CentOs et open_basedir...


real34

Sujets conseillés

Bonjour à tous,

Je viens vous demander conseil en désespoir de cause après avoir passé plusieurs heures à trifouiller les configurations d'un nouveau serveur et les résultats de Google sans succès.

Diverses solutions ont été testées, et au final je n'arrive plus à comprendre ce que je peux oublier alors peut-être qu'un oeil extérieur pourrait m'aiguiller ...

Voici un résumé de ma situation (qui semble somme toute assez commune).

Je souhaite déployer une application PHP utilisant PEAR sur ce nouveau serveur CentOs. PHP ayant été compilé "--without-pear" j'ai donc installé yum et ensuite PEAR, puis quelques packages nécessaires.

Le problème est que lorsque j'accède à mon site j'ai toujours la même erreur :

PHP Warning: require_once(MDB2.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory in /var/www/vhosts/mondomaine.com/httpdocs/classes/ClassPage.php on line 14

[Thu Mar 04 07:47:36 2010] [error] [client 79.84.171.246] PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required 'MDB2.php' (include_path='.:/usr/share/pear') in /var/www/vhosts/mondomaine.com/httpdocs/classes/ClassPage.php on line 14

Comme vous le voyez il semble que "/usr/share/pear" soit bien dans le include_path et ce dossier contient pour sûr mes fichiers :

[root_AT_xxxx]# ls /usr/share/pear/
Archive Console data doc MDB2 MDB2.php OS PEAR pearcmd.php PEAR.php peclcmd.php System.php test XML

Il semble également que la restriction open_basedir et le fait que Plesk soit installé puisse poser des problèmes, alors j'ai effectué des modifications à divers endroits d'après les messages trouvés sur le net (sans succès malheureusement).

Voici le récap des modifications faites, dites moi si j'ai oublié quelque chose :

Dans /etc/php.ini, j'ai ajouté le path vers le dossier pear pour ces deux instructions

> include_path (initialement à ".:")

> open_basedir (initialement commentée)

Dans /var/www/vhosts/mondomaine.com/conf/httpd.include

> php_admin_value open_basedir ... x4

Malheureusement il semble qu'en exécutant "websrvmng" (cf ci-dessous) cette config soit écrasée. Du coup j'ai également créé un fichier "vhost.conf"

Dans /var/www/vhosts/mondomaine.com/conf/vhost.conf

<Directory /var/www/vhosts/mondomaine.com/httpdocs>
php_admin_value open_basedir /var/www/vhosts/mondomaine.com/httpdocs:/tmp:/usr/share/pear
</Directory>

Voilà toutes mes configs. Après modifications des fichiers du virtual host j'ai exécuté la commande suivante (pour que Plesk mette à jour d'autres configs)

/usr/local/psa/admin/sbin/websrvmng -u --vhost-name=mondomaine.com

Et bien entendu redémarré Apache

/etc/init.d/httpd restart

Enfin, je vous met un récapitulatif de ce que m'affiche un phpinfo() au cas où celà pourrait être utile :

include_path .:/usr/share/pear .:/usr/share/pear

open_basedir /var/www/vhosts/mondomaine.com/httpdocs:/tmp:/usr/share/pear /tmp:/usr/share/pear

N'hésitez pas à demander toute autre information nécessaire ...

Pensez-vous que j'ai oublié ou mal compris quelque chose ?

En dernier recours je pourrais copier le dossier d'install PEAR dans un dossier accessible depuis le domaine, mais je pense qu'il est plus propre de le laisser dans le dossier d'origine d'où mon obstination !

Merci d'avance à ceux qui prendront un peu de temps pour m'aider ! Le chemin de l'admin serveur est encore un peu embrouillé pour moi ... et c'est en buttant sur de tels points qu'on apprend !

Pierre

Modifié par real34
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...