Stay tuned
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 stopB. On install les paquets requis :
$ apt-get install php5-cgi php5-gd php5-mcrypt php5-mysqlNote : 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.listNote : Dans les trois dernières lignes ci-dessus, omettre le signe supérieur à (>).
> deb http://packages.dotdeb.org sarge all
> deb-src http://packages.dotdeb.org sarge all
> EOF
$ apt-get updatesC. On active le modules actions du Serveur Web Apache2 :
$ a2enmod actionsD. On supprime les fichiers de configuration courants :
$ rm /etc/vhcs2/apache/working/vhcs2.confE. On met la base de données à jour : a. On se connecte au moniteur SQL :
$ rm /etc/apache2/sites-available/vhcs2.conf
$ mysql -u root -pb. On exécute les requêtes SQL suivantes :
Votre mot de passe root mysql
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.bz2B. 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/awstatsB. 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.plE. On remplace les templates /etc/vhcs2/apache/httpd.conf, /etc/vhcs2/apache/parts/vhcs2_base.tpl et /etc/vhcs2/apache/parts/dmn_entry.tpl :
$ chmod 0644 /usr/lib/awstats/.htaccess
a. Fichier /etc/vhcs2/apache/httpd.conf :
$ cd /etc/vhcs2/apacheb. Fichier /etc/vhcs2/apache/parts/vhcs2_base.tpl :
$ rm httpd.conf
$ wget http://download.nuxwin.com/vhcs/hacks/vhcs-phpmanager-with-awstats/httpd.conf
$ cd /etc/vhcs2/apache/partsc. Fichier /etc/vhcs2/apache/parts/dmn_entry.tpl :
$ rm vhcs2_base.tpl
$ wget http://download.nuxwin.com/vhcs/hacks/vhcs-phpmanager-with-awstats/vhcs2_base.tpl
$ cd /etc/vhcs2/apache/partsd. On fixe les permissions :
$ rm dmn_entry.tpl
$ wget http://download.nuxwin.com/vhcs/hacks/vhcs-phpmanager-with-awstats/dmn_entry.tpl
$ chmod 0644 /etc/vhcs2/apache/httpd.confF. On supprime le script dostats :
$ chmod 0644 /etc/vhcs2/apache/parts/*
$ rm /etc/awstats/dostatsG. Téléchargement du programme vhcs2-awstats-mngr :
a. On télécharge le programme vhcs2-awstats-mngr :
$ cd /var/www/vhcs2/engineb. On fixe les permissions :
$ wget http://download.nuxwin.com/vhcs-awstats/vhcs2-awstats-mngr
$ chmod 0750 /var/www/vhcs2/engine/vhcs2-awstats-mngrc. On ajoute la tâche cron suivante :
$ crontab -eNote : N'oubliez pas de supprimer la tâche cron rattachée au script dostats désormais inexistant.
0 1 * * * /var/www/vhcs2/engine/vhcs2-awstats-mngr &>/var/log/vhcs2/vhcs2-awstats-mngr.log
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.confB. On restaure les fichiers de configuration par défaut :
$ rm /etc/apache2/sites-available/vhcs2.conf
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.confb. 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.confC. On se connecte moniteur SQL :
$ mysql -u root -pD. On exécutes les requêtes SQL suivantes :
Votre mot de passe root mysql
USE vhcs2;E. On exécutes le script de regénération :
UPDATE domain SET domain_status='change';
UPDATE subdomain SET subdomain_status='change';
UPDATE domain_aliasses SET alias_status='change';
quit
$ /var/www/vhcs2/engine/vhcs2-rqst-mngrF. On rédémarre apache2 et le daemon de l'application VHCS :
$ /etc/init.d/apache2 restartNote : 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.*.
$ /etc/init.d/vhcs2_daemon start
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
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 -9 < $i > $i.gz; done
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: *** [backup] Erreur 1
Auriez-vous une idée ?
@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.
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
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
Bon travail.