Skip to main content Help Control Panel

Hacks dédiés à l'application VHCS 2 «  

HACK VHCS - vhcs-phpmanager-1.4 with awstats

Posted by M. declercq on Aug. 7 2007, page edited by M. declercq on Mar. 25, (popular)  
Tags: vhcs hack vhcs-phpmanager php4 php5 php

Le hack VHCS-PHPMANAGER est une extension pour l'application VHCS. Il permet aux clients de choisir quelle version de PHP (PHP4 ou PHP5) ils souhaitent exécuter.

Informations préliminaires

Ce howto décrit la procédure à suivre pour installer le hack VHCS-PHPMANAGER en parallèle du logiciel awstats.

VHCS-PHPMANAGER est destiné aux administrateurs qui souhaitents proposer à leurs clients la possibilité de choisir la version de PHP (PHP4 où PHP5) qu'ils souhaitent exécuter dans leur arborescence web, qu'il s'agisse du domaine ou d'un sous-domaine.

Toutes les commandes évoquées dans ce document doivent êtres exécutées avec les privilèges de l'utilisateur root.

Dans le cadre de ce document, nous partons du principe que vous avez déjà installé le logciel awstats en suivant ce tutorial http://nuxwin.com/article-82-tutorial-vhcs-2-installation-d-awstats .

Note : Dans les commandes évoquées ci-après, le signe dollar ($) désigne le prompt. Par conséquent, il doit être ommis lors de l'éxécution des commandes.

I. Préparation du système

A. On arrête le daemon de l'application VHCS :
$ /etc/init.d/vhcs2_daemon stop
B. On install les paquets requis :
$ apt-get install php5-cgi php5-gd php5-mcrypt php5-mysql
Note : Pour la distribution Debian Sarge, de nouveaux dépôts doivent êtres ajoutés dans le fichier sources.list pour pouvoir installer PHP5 :
$ cat <<"EOF "> /etc/apt/sources.list
> deb http://packages.dotdeb.org sarge all
> deb-src http://packages.dotdeb.org sarge all
> EOF
Note : Dans les trois dernières lignes ci-dessus, omettre le signe supérieur à (>).
$ apt-get updates
C. On active le modules actions du Serveur Web Apache2 :
$ a2enmod actions
D. On supprime les fichiers de configuration courants :
$ rm /etc/vhcs2/apache/working/vhcs2.conf
$ rm /etc/apache2/sites-available/vhcs2.conf
E. On met la base de données à jour : a. On se connecte au moniteur SQL :
$ mysql -u root -p
Votre mot de passe root mysql
b. On exécute les requêtes SQL suivantes :
ALTER TABLE `vhcs2`.`domain` ADD `domain_phpv` varchar(15) default NULL;
ALTER TABLE `vhcs2`.`subdomain` ADD `subdomain_phpv` varchar(15) default NULL;

USE vhcs2;
UPDATE domain SET domain_phpv='php4';
UPDATE subdomain SET subdomain_phpv='php4';
quit

II. Récupération de l'archive de VHCS-PHPMANAGER

A. On télécharge la dernière version de VHCS-PHPMANAGER :
$ wget http://download.nuxwin.com/vhcs/hacks/vhcs-phpmanager-latest.tar.bz2
B. On décompresse l'archive :
$ tar -xjf vhcs-phpmanager-latest.tar.bz2

III. Installation

On install vhcs-phpmanager :
$ cd vhcs-phpmanager-1.*
$ make install

IV. Mise à jour de la table de langage Fr

On se connecte au panel de l'application vhcs en tant qu'administrateur et on importe le nouveau fichier langue qui se trouve dans le répertoire langue de l'archive.

V. Modification spécifique pour une utilisation avec awstat

Par défaut, l'exécutable du logiciel awstats qui permet la génération des statistiques est placé dans le répertoire /usr/lib/cgi-bin. Or, c'est précisément dans ce répertoire que l'exécutable PHP5 est installé.

Pour que le logiciel awstats puisse fonctionner en parallèle du hack VHCS-PHPMANAGER, il faut déplacer l'exécutable du logiciel awstats ( awstats.pl ) ainsi que le fichier .htaccess permettant l'authentification dans un répertoire dédié.

Par ailleurs, il convient aussi de remplacer certains templates apache de l'application VHCS et enfin de remplacer le scripts dostats par un autre programme nommé vhcs-awstats-mngr.

A. On créer un nouveau répertoire nommé awstats :
$ mkdir -p /usr/lib/awstats
B. On déplace l'exécutable awstats.pl dans le nouveau répertoire :
$ mv /usr/lib/cgi-bin/awstats.pl /usr/lib/awstats/
C. On fait de même pour le fichier .htaccess :
$ mv /usr/lib/cgi-bin/.htaccess /usr/lib/awstats/
D. On fixe les permissions :
$ chmod 0755 /usr/lib/awstats/awstats.pl
$ chmod 0644 /usr/lib/awstats/.htaccess
E. On remplace les templates /etc/vhcs2/apache/httpd.conf, /etc/vhcs2/apache/parts/vhcs2_base.tpl et /etc/vhcs2/apache/parts/dmn_entry.tpl :

a. Fichier /etc/vhcs2/apache/httpd.conf :
$ cd /etc/vhcs2/apache
$ rm httpd.conf
$ wget http://download.nuxwin.com/vhcs/hacks/vhcs-phpmanager-with-awstats/httpd.conf
b. Fichier /etc/vhcs2/apache/parts/vhcs2_base.tpl :
$ cd /etc/vhcs2/apache/parts
$ rm vhcs2_base.tpl
$ wget http://download.nuxwin.com/vhcs/hacks/vhcs-phpmanager-with-awstats/vhcs2_base.tpl
c. Fichier /etc/vhcs2/apache/parts/dmn_entry.tpl :
$ cd /etc/vhcs2/apache/parts
$ rm dmn_entry.tpl
$ wget http://download.nuxwin.com/vhcs/hacks/vhcs-phpmanager-with-awstats/dmn_entry.tpl
d. On fixe les permissions :
$ chmod 0644 /etc/vhcs2/apache/httpd.conf
$ chmod 0644 /etc/vhcs2/apache/parts/*
F. On supprime le script dostats :
$ rm /etc/awstats/dostats
G. Téléchargement du programme vhcs2-awstats-mngr :

a. On télécharge le programme vhcs2-awstats-mngr :
$ cd /var/www/vhcs2/engine
$ wget http://download.nuxwin.com/vhcs-awstats/vhcs2-awstats-mngr
b. On fixe les permissions :
$ chmod 0750 /var/www/vhcs2/engine/vhcs2-awstats-mngr
c. On ajoute la tâche cron suivante :
$ crontab -e
0 1 * * * /var/www/vhcs2/engine/vhcs2-awstats-mngr &>/var/log/vhcs2/vhcs2-awstats-mngr.log
Note : N'oubliez pas de supprimer la tâche cron rattachée au script dostats désormais inexistant.

Desormais, au lieu d'exécuter le script dostats pour la génération manuelle des statistiques de vos clients, vous devrez exécuter la commande suivantes :
$ /var/www/vhcs2/engine/vhcs2-awstats-mngr

VI. Regénération des fichiers de configuration

A. On supprime les fichiers de configuration actuels :
$ rm /etc/vhcs2/apache/working/vhcs2.conf
$ rm /etc/apache2/sites-available/vhcs2.conf
B. On restaure les fichiers de configuration par défaut :

a. Restauration du fichier /etc/apache2/sites-available/vhcs2.conf par défaut :
$ cp /etc/vhcs2/apache/parts/vhcs2_base.tpl /etc/apache2/sites-available/vhcs2.conf
b. Restauration du fichier /etc/apache2/sites-available/vhcs2.conf par défaut :
$ cp /etc/vhcs2/apache/parts/vhcs2_base.tpl /etc/vhcs2/apache/working/vhcs2.conf
C. On se connecte moniteur SQL :
$ mysql -u root -p
Votre mot de passe root mysql
D. On exécutes les requêtes SQL suivantes :
USE vhcs2;
UPDATE domain SET domain_status='change';
UPDATE subdomain SET subdomain_status='change';
UPDATE domain_aliasses SET alias_status='change';
quit
E. On exécutes le script de regénération :
$ /var/www/vhcs2/engine/vhcs2-rqst-mngr
F. On rédémarre apache2 et le daemon de l'application VHCS :
$ /etc/init.d/apache2 restart
$ /etc/init.d/vhcs2_daemon start
Note : Lors de l'exécution du fichier makefile, une copie des anciens fichiers est archivée dans le répertoire /usr/share/doc/vhcs-phpmanager-1.*.

Ce hack a fait l'objet de nombreux tests. Il a été sucessivement testé sur un système exploitant la distribution Debian Sarge 3.1 ainsi que la distribution Ubunu Edgy Eft (6.10). Il est plus particulièrement destinée à la version 2.4.7.1 de l'application VHCS.




Un bug, un problème d'installation où une incompatibilité avec un autre hack ? N'hésitez pas à utiliser la fonction commentaire de notre Portail et/ou à nous joindre directement en utilisant notre formulaire contact : Nous contacter

Hack développé par M. Laurent DECLERCQ - 14000

CAEN - France

VHCS-PHPMANAGER version 1.4
Red on Aug. 7 2007
Comme d'habitude, nikel aucun soucis Bon travail.
Starchou on Aug. 9 2007
Bonsoir et merci encore et toujours pour toute l'aide !

En ce qui me concerne, j'ai une erreur suite à l'exécution du makefile ( make install ) :
sd2:/var/www/vhcs2/engine/vhcs-phpmanager-1.1# make install
for i in `find . -maxdepth 1 -type f -print`; do gzip -$i $i.gzdone
mkdir 
-p backup_old_vhcs_files
{/etc/vhcs2/apache/parts,
/var/
www/vhcs2/{engine,gui/{include,client,reseller,themes/modern_blue/clie
    nt
}}}
for 
i in `ls -1 up/var/www/vhcs2/engine/ | grep -v '/$'`;
do 
cp /var/www/vhcs2/engine/$i 
  backup_old_vhcs_files
/var/www/vhcs2/engine/;
done
cp
ne peut créer le fichier régulier
    
`backup_old_vhcs_files/var/www/vhcs2/engine/vhcs2-als-mngr': Aucun fichier
    ou répertoire de ce type
cp: ne peut créer le fichier régulier
    
`backup_old_vhcs_files/var/www/vhcs2/engine/vhcs2-dmn-mngr': Aucun fichier
    ou répertoire de ce type
cp: ne peut créer le fichier régulier
    `backup_old_vhcs_files/var/www/vhcs2/engine/vhcs2-sub-mngr'
Aucun fichier
    ou répertoire de ce type
make
: *** [backupErreur 1



Auriez-vous une idée ?
M. declercq on Aug. 11 2007
@Starchou

Je te remerci pour la remonté du bug qui n'a lieu que sur certain environnement.

Je viens de rajouter le paramètre -a pour toutes les commandes cp présentes dans la cible backup du Makefile. Ceci devrait résoudre le problème..

Tu dois bien entendu re-télécharger l'archive corriger pour bénéficier de cette correction.

Bonne continuation sur notre portail.

Merci de me tenir au courant des éventuels aléas rencontrés avec cette nouvelle archive.
Xtouch on Aug. 20 2007
Même problème que Starchou malgré le rajout du -a. Le problème ne vient pas du cp, mais du mkdir : un dossier backup_old_vhcs_files est créé, mais aussi un backup_old_vhcs_files{

Les accollades ne semblent donc pas être interprêtés dans le Makefile.

J'y ai remédié en modifiant le Makefile et en créant une ligne de mkdir par repertoire à créer... juste histoire que ça marche ! (et ça a marché !)

Bon travail en tout cas !

PS : je suis sous debian sarge
M. declercq on Aug. 27 2007
Bonjour ;

Le bug concernant la cible Backup du fichier Makefile a été corrigé dans la version 1.4 de vhcs-phpmanager. Les utilisateurs de Debian Sarge ne devraient plus rencontrer de problème.

Bonne continuation avec l'application VHCS.

Monsieur Laurent DECLERCQ

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