Skip to main content Help Control Panel

Astuces dédiées à l'application VHCS 2 «  

Astuce VHCS2 - Installation de PHP5 en CGI

Posted by M. declercq on Sep. 29 2006, page edited by M. declercq on Apr. 3, (popular)  
Tags: vhcs php5 cgi

Ce document aborde une procédure permettant l'exécution de PHP5 sur les systèmes gérés par l'application VHCS2.

Avant Propos

L'application VHCS a été développée selon l'approche objet PHP4. Pour cette raison, il n'est pas conseillé de l'exécuter sous PHP5. Ce faisant, nombreux sont les administrateurs qui souhaitent pouvoir proposer à leur client PHP5 en option.

Dans ce document, nous abordons une procédure qui permet d'installer PHP5 en tant que programme CGI afin que les clients puissent avoir le choix entre PHP4 et PHP5.

I. Près-Requis

Pour pouvoir suivre la procédure évoquée dans ce document, vous devez déjà avoir installé l'application VHCS sur une distribution Debian Sarge ou Etch.

Nous vous rappelons que toutes les commandes évoquées dans ce document doivent êtres exécutées avec les privilèges de l'utilisateur root.

II. Installation de PHP5-CGI

Pour installez php5-cgi, il vous suffit d'exécuter les commandes suivantes :
$ apt-get update
$ apt-get install php5-cgi
Note spécifique aux utilisateurs de Debian Sarge :

La version 5 de PHP n'a pas encore été intégrée aux dépôts de Debian Sarge 3.1 (old-stable) et ne le sera sûrement jamais. Dans ces conditions, pour pouvoir installer PHP5 sur cette distribution, vous devez soit le compiler vous-même soit utiliser des dépôts externes tels que ceux fournis par Dotdeb.

Pour pouvoir installer php5-cgi via dépôts Dotdeb, vous devez éditez votre fichier /etc/apt/sources.list et rajouter les deux lignes suivantes :
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable al
Ceci étant fait, il ne vous reste plus qu'à installer php5-cgi comme indiqué dans le présent paragraphe.

III. Installation de quelques modules supplémentaires

En général, la seule installation de PHP5 n'est pas suffisante. En effet, beaucoup d'applications ont besoin de modules tiers qui fournissent des fonctions supplémentaires. C'est notamment le cas du module php5-mysql qui permet la communication entre PHP5 et le Serveur Mysql.

Ici, nous allons donc installer quelques modules supplémentaires requis par beaucoup d'applications tel que les cms ( Joomla, Yacs, Dotclear...), les wiki ( Moinmoin, Dokuwiki...), ou encore les forums ( Punbb, Phpbb, Vbulletin, Ipb...).

Pour installer ces modules, il suffit d'exécuter les commandes suivantes :

1. On install les modules supplémentaires :
apt-get install php5-gd php5-cli php5-curl php5-mcrypt php5-mhash php5-sqlite \
php5-xmlrpc php5-tidy php5-xsl php5-mysql
Note aux utilisateur des dépôt Dotdeb : Une fois les modules supplémentaires installés, n'oubliez pas de ré-éditer votre fichier /etc/apt/sources.list pour commenter les lignes relatives aux dépôts Dotdeb et de refaire un apt-get update pour mettre la liste des paquets disponibles à jour.

IV. Installation du module actions du Serveur httpd Apache2

Comme nous allons utiliser la directive actions dans des fichiers .htaccess qui seront placés dans les arborescences Web des clients ( cf. ci-après ), nous devons activer le module actions du Serveur http Apache2.

Pour activer ce module, il nous suffit d'exécuter les commandes suivantes :

1. On active le module actions du Serveur Http Apache2 :
a2enmod actions
2. On demande au Serveur Http Apache2 de relire ses fichiers de configuration :
/etc/init.d/apache2 force-reload

V. Utilisation avec l'application VHCS

Pour qu'un client puisse utiliser PHP5, il faut que l'administrateur créer un lien symbolique dans le répertoire ./cgi-bin de son arborescence Web utilisateur, ce dernier pointant vers un autre lien symbolique qui lui pointe sur l'exécutable PHP5 :

Exemple n°1 : En liminaire, il convient de rappeler que le compte utilisateur doit avoir les options PHP et CGI activées ( via le panel VHCS ).

Dans cet exemple, nous partons du principe que le compte utilisateur est nuxwin.com et que le client veut utiliser PHP5 pour le CMS joomla qu'il a installé dans son répertoire Web htdocs ( DocumentRoot ) :
/var/www/virtual/nuxwin.com/htdocs
L'administrateur doit créer le lien symbolique de cette manière :
ln -s /etc/alternatives/php-cgi-bin /var/www/virtual/nuxwin.com/cgi-bin/php5
Note : Il faut bien indiquer au client qu'il ne doit pas supprimer ce lien. En effet, si le lien est supprimé, PHP5 ne pourra plus être exécuté.

Le client devra quant à lui créer un fichier .htaccess à la racine de son arborescence Web, ce dernier contenant les directives suivantes : Fichier /var/www/virtual/nuxwin.com/htdocs/.htaccess :
AddHandler x-httpd-php5 .php
Action x-httpd-php5 /cgi-bin/php5
Note : Si l'utilisateur a déjà créé un fichier .htaccess via le panel VHCS, il lui suffit de l'éditer. S'il le supprime via le panel VHCS, il devra le re-créer manuellement. A défaut, PHP5 sera remplacé par PHP4.

Exemple n°2 : Comme pour l'exemple précédent, il convient de rappeler que le compte utilisateur doit avoir les options PHP et CGI activées ( via le panel VHCS ).

Dans cet exemple, nous partons du principe que le client veut utiliser PHP5 pour une application IPB qu'il a installé en sous-domaine forum.nuxwin.com ce qui donne l'arborecence Web suivante :
/var/www/virtual/nuxwin.com/forum/htdocs
L'administrateur devra donc créer le lien symbolique suivant :
ln -s /etc/alternatives/php-cgi-bin /var/www/virtual/nuxwin.com/forum/cgi-bin/php5
Note : Il faut bien indiquer au client qu'il ne doit pas supprimer ce lien. En effet, si le lien est supprimé, PHP5 ne pourra plus être utilisé.

L'utilisateur devra quant à lui créer un fichier .htaccess à la racine de son arborescence Web, ce dernier contenant les directives suivantes : Fichier /var/www/virtual/nuxwin.com/htdocs/forum/htdocs/.htaccess :
AddHandler x-httpd-php5 .php
Action x-httpd-php5 /cgi-bin/php5
Note : Si l'utilisateur a déjà créé un fichier .htaccess via le panel VHCS, il lui suffit de l'éditer. S'il le supprime via le panel VHCS, il devra le re-créer manuellement. A défaut, PHP5 sera remplacé par PHP4.
Cette astuce a été appliqué avec succès sur un système exploité par la distribution Debian Sarge 3.1. Elle est plus particulièrement destiné à la version 2.4.7.1 de l'application VHCS.
Une erreur, une incompréhension concernant cette astuce ? N'hésitez pas à utiliser la fonction commentaire de notre portail et/ou à nous joindre directement en utilisant notre formulaire contact : Nous contacter

Rédigé par M. Laurent DECLERCQ

v1.2 build 20080404.0028
Starchou on Jan. 3 2007
Merci beaucoup pour cette astuce. Cela fonctionne parfaitement et de plus c'est très simple à mettre en oeuvre ! Merci.
Unvolutus on Feb. 12 2007
Salut, Il est ecrit en haut que le tuto pour l'installation de php5 sur ubuntu est prevu.Y a til une date proche?

Merci pour votre site qui but lol Nan mais c'est vrai!!!
Costello on Jul. 4 2007
Enorme! ca marche du premier coup, sans problème! j'ai fait ça sous ubuntu, en tapant les commandes apt-get directement sans mettre à jour les repo. Y'a juste php-tidy qui s'est pas installé mais pas grave, j'en avais pas besoin. Merci énormément pour cette astuce!

Yacs skin by Laurent DECLERCQ - 2006-2008 - All right reserved