Skip to main content Help Control Panel

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

TUTORIAL VHCS 2 - Installation d'Awstats

Posted by M. declercq on Feb. 1 2007, page edited by M. declercq on Mar. 23, (popular)  
Tags: vhcs awstats

Le logiciel awstats est un outil de statistiques très puissant pour les sites Web.

Avant Propos

Ce tutorial vous explique pas à pas la procédure à suivre pour coupler le logiciel awstats à la VHCS. Ceci permettra notamment à vos clients de prendre connaissance de la fréquentation de leur sites Web.

Il s'adresse plus particulièrement aux distributions Ubuntu et Debian.

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

Note importante :

Si vous avez installé l'application VHCS via la suite logiciels APT , le logiciel Awstats a déjà été installé sur votre système mais n'est pas fonctionnel. A cet effet, une tâche cron a déjà été "programmée" mais ne sert strictement à rien dans le cadre d'une utilisation d'Awstats avec l'application VHCS.

Nous vous indiquerons la procédure à suivre a la fin de ce tutorial pour la supprimer.

I. Installation des paquets

Pour installer le logiciel Awstats, il vous suffit d'exécuter la commande suivante :
$ apt-get install awstats libapache2-mod-auth-mysql
Note : Le paquet libapache2-mod-auth-mysql n'est pas disponible dans les dépôts officiels de la version Etch de Debian. Pour installer ce paquet, vous devez ajouter l'adresse de nos dépôts dans votre fichier /etc/apt/sources.list et importer notre clé gpg comme indiqué dans ce document : http://forum.nuxwin.com/index.php?topic=975.msg4960#msg4960

II. Activation du module auth_mysql et re-démarrage du Serveur Apache2

1. On active le module auth_mysql :
$ a2enmod auth_mysql
2. On redémarre le Serveur Web Apache2 :
$ /etc/init.d/apache2 restart

III. Récupération du fichier awstats.model.conf d'Awstats

Le fichier awstats.model.conf est un fichier template qui permet au programme vhcs2-awstats-mngr ( cf. plus bas ) de créer les fichiers de configuration awstats de tous les domaines gérés via l'application VHCS. Vous ne devez en aucun cas modifier ce fichier si vous ne comprenez pas la syntaxe employée.

1. On se place dans le répertoire de configuration d'awstats :
$ cd /etc/awstats
2. On télécharge le fichier awstats.model.conf :
$ wget http://download.nuxwin.com/vhcs-awstats/awstats.model.conf
Ceci étant fait, il convient de supprimer un fichier de configuration créé par défaut qui n'est pas employé dans le cadre d'une utilisation du logiciel awstats avec l'application VHCS :

3. On supprime le fichier /etc/awstats/awstats.conf :
$ rm /etc/awstats/awstats.conf

IV. Téléchargement et modification des permissions du programme vhcs2-awstats-mngr

1. On se place dans le répertoire /var/www/vhcs2/engine :
$ cd /var/www/vhcs2/engine
2. On télécharge le programme vhcs2-awstats-mngr :
$ wget http://download.nuxwin.com/vhcs-awstats/vhcs2-awstats-mngr
3. On modifie les permissions du programme vhcs2-awstats-mngr
$ chmod 755 vhcs2-awstats-mngr

V. Copie du fichier awstats_updateall.pl au bon endroit :

1. On copie le fichier /usr/share/doc/awstats/examples/awstats_updateall.pl :
$ cp /usr/share/doc/awstats/examples/awstats_updateall.pl /usr/sbin/awstats_updateall.pl

VI. Modification des templates Apache de VHCS :

Afin de permettre l'accès au logiciel awstats, plusieurs alias ainsi qu'une directive de redirection doivent être rajoutés dans les templates apache de l'application VHCS. Les fichiers qui doivent être modifiés sont les suivants :

httpd.conf qui se trouve dans le répertoire /etc/vhcs2/apache/ ;

vhcs2_base.tpl qui se trouve dans le répertoire /etc/vhcs2/apache/parts;

dmn_entry.tpl qui se trouve dans le répertoire /etc/vhcs2/apache/parts/.

Note : Lorsque vous éditez les templates de l'application VHCS, faites bien attention de ne pas supprimer le saut de ligne qui se trouve à la fin de chaque fichier.

A. Modification du template /etc/vhcs2/apache/httpd.conf :

1. On édite le fichier /etc/vhcs2/apache/httpd.conf :
nano /etc/vhcs2/apache/httpd.conf
2. Avant la section suivante :
#
# Default GUI.
#
on ajoute les lignes suivantes :
#
# Global AWSTATS
#

Alias /awstatscss "/usr/share/doc/awstats/examples/css/"
Alias /awstats-icon "/usr/share/awstats/icon/"
Alias /awstatsicons "/usr/share/awstats/icon/"
ScriptAlias /awstats/ "/usr/lib/cgi-bin/"

<Directory /usr/share/awstats>
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<Directory /usr/lib/cgi-bin>
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
B. Modification du template /etc/vhcs2/apache/parts/vhcs2_base.tpl :

Pour modifier ce fichier, il vous suffit de créer une copie du fichier /etc/vhcs2/apache/httpd.conf qui contient exactement la même chose.

1. On copie et on renomme le fichier /etc/vhcs2/apache/httpd.conf :
$ cp -a /etc/vhcs2/apache/httpd.conf /etc/vhcs2/apache/parts/vhcs2_base.tpl
C. Modification du template /etc/vhcs2/apache/parts/dmn_entry.tpl :

1. On édite le fichier /etc/vhcs2/apache/parts/dmn_entry.tpl :
$ nano /etc/vhcs2/apache/parts/dmn_entry.tpl
2. En dessous de cette ligne :
Alias /errors {WWW_DIR}/{DMN_NAME}/errors/
on ajoute la ligne suivante :
Redirect /stats http://{DMN_NAME}/awstats/awstats.pl
et on renregistre les modifications.

VII. Création d'un nouvel utilisateur SQL pour le logiciel Awstats :

Pour avoir accès au frontend du logiciel Awstats, les utilisateurs doivent s'authentifier. Les identifiants utilisés étant les mêmes que ceux permettant l'accès au panel de l'application VHCS, côté client, le logiciel Awstats doit pouvoir accéder aux informations d'authentification qui sont stockées dans la base de données de cette application.

A cette fin, un nouvel utilisateur SQL doit être créé, ce dernier ne devant avoir accès qu'aux informations contenues dans la table admin de la base de données de l'application VHCS.

1. On se connecte au moniteur Mysql :
$ mysql -u root -p
2. On exécute la requête SQL suivante pour créer l'utilisateur appelé vhcs2_awstats :
GRANT USAGE ON * . * TO 'vhcs2_awstats'@'%' IDENTIFIED BY 'XXXXXXXX' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
Attention : Les XXXXXXXX doivent être remplaçés par le mot de passe de votre choix.

3. On exécute une deuxième requête SQL qui permettra à l'utilisateur vhcs2_awstats d'utiliser les informations contenues dans la table admin de la base de données vhcs2 :
GRANT SELECT ON `vhcs2`.`admin` TO 'vhcs2_awstats'@'%';
4. On met les privilèges des utilisateurs SQL à jour :
FLUSH PRIVILEGES ;
5. On quitte le moniteur SQL :
quit

VIII. Création d'un fichier .htaccess :

Pour que le logiciel awstats puisse utiliser l'authentification, il doit posséder certaines informations qui lui permettrons d'accéder au serveur SQL et récupérer les informations contenus dans la table admin de la base de données de l'application VHCS. Ces information sont stockées dans un fichier de configuration nommé .htaccess, situé dans le répertoire /usr/lib/cgi-bin.

1. On créer et on édite le fichier /usr/lib/cgi-bin/.htaccess :
$ nano /usr/lib/cgi-bin/.htaccess
2. On y ajoute le contenu suivant suivant :
AuthName                        "AWStats"
AuthType Basic
AuthMySQL_Host localhost
AuthMySQL_DB vhcs2
AuthMySQL_Password_Table admin
AuthMySQL_User vhcs2_awstats
AuthMySQL_Password PASS_SQL
AuthMySQL_Username_Field admin_name
AuthMySQL_Password_Field admin_pass
AuthMySQL_Encryption_Types Crypt_DES Crypt_MD5 Crypt MySQL PHP_MD5
require valid-user
Note : PASS_SQL doit être remplaçé par le mot de passe SQL de l'utilisateur vhcs2_awstats que vous avez ajouté ci-avant.

Attention : Si vous utilisez une distribution Ubuntu, veuillez remplacer cette ligne :
AuthMySQL_Encryption_Types      Crypt_DES Crypt_MD5 Crypt MySQL PHP_MD5
par la suivante :
AuthMySQL_Encryption_Types      PHP_MD5
Faites la même chose sous Debian si vous obtenez une page blanche lorsque vous tentez d'accéder à vos statistiques.

Note : Avec certaines versions du module libapache2-mod-auth-mysql, notamment celle proposée dans nos dépots, le contenu du fichier /usr/lib/cgi-bin/.htaccess diffère :
AuthName                        "AWStats"
AuthType Basic
AuthMySQL_Host localhost
AuthMySQL_DB vhcs2
AuthMySQL_Password_Table admin
AuthMySQL_User vhcs2_awstats
AuthMySQL_Password PASS_SQL
AuthMySQL_Username_Field admin_name
AuthMySQL_Password_Field admin_pass
AuthMySQL_Encryption_Types PHP_MD5
AuthBasicAuthoritative Off
require valid-user

IX. Regénération des fichiers de configuration :

Lorsqu'on modifie des templates de configuration appartenant à l'application VHCS, la totalité des fichiers de configuration doivent être re-générés.

Pour re-générer les fichiers de configuration, il suffit de suivre cette procédure : http://nuxwin.com/articles/view.php/36

X. Première exécution du programme vhcs2-awstats-mngr

Le programme vhcs2-awstats-mngr a été spécialement développé par notre équipe pour permettre la création des fichiers de configuration d'awstats ainsi que la génération des données statistiques de tous les domaines gérés avec l'application VHCS.

En effet, pour que le logiciel Awstats puisse fonctionner, chaque domaine doit avoir son propre fichier de configuration situé dans le répertoire /etc/awstats. C'est ces fichiers de configuration qui permettent d'indiquer au logiciel Awstats que des données statistiques doivent êtres générées pour tel ou tel domaine.

Lorsqu'on installe le logiciel Awstats, aucun fichier de configuration n'est créé. Pour qu'un fichier de configuration soit créé pour chaque domaine existant, il faut exécuter manuellement le programme vhcs2-awstats-mngr :

1. On exécute manuellement le programme vhcs2-awstats-mngr :
$ /var/www/vhcs2/engine/vhcs2-awstats-mngr

XI. Utilisation d'Awstats:

Pour utiliser Awstats, il vous suffit de taper l'adresse de votre domaine suivi du répertoire /stats. Ensuite, vous devez simplement entrer les identifiants de votre domaine. Ceux sont les mêmes que ceux que vous utilisez pour vous connecter au pannel d'administration VHCS (côté utilisateur).

Exemple pour le domaine nuxwin.com :
http://nuxwin.com/stats
pseudo : nuxwin.com
passe : xxxxxxxxxx

XII. Exécution automatique du programme vhcs2-awstats-mngr :

Afin d'automatiser l'exécution du programme vhcs2-awstats-mngr pour que vos statistiques soient mises à jour ou encore, que les fichiers de configuration des nouveaux domaines soient créés automatiquement, il faut ajouter une tâche cron.

Pour ce faire, il vous suffit de suivre cette procédure :

1. On Edite le fichier crontab :
$ crontab -e
2. On ajoute la ligne suivante :
30 */2 * * * /var/www/vhcs2/engine/vhcs2-awstats-mngr &> /var/log/vhcs2/vhcs2-awstats-mngr.log
et on enregistre.

Note : Dans le cadre de cet exemple, la création des éventuels nouveaux fichiers de configuration ainsi que la création, mise à jour des données statistiques aura lieu toutes les deux heures à X heures 30 minutes (ex : 12h30, 14h30, 16h30, 18h30...).

Il faut aussi modifier le fichier /etc/vhcs2/crontab/working/crontab.conf ou le créer s'il n'existe pas

3. On modifie ou on créer le fichier /etc/vhcs2/crontab/working/crontab.conf:
$ cp /var/spool/cron/crontabs/root /etc/vhcs2/crontab/working/crontab.conf
Note : Pour le futur, si vous pensez que le logiciel awstats ne fonctionne pas correctement, vous pourrez consulter le fichier vhcs2-awstats-mngr.log qui se trouve dans le répertoire /var/log/vhcs2.

XIII. Ajout d'un bouton Awstats au panel de VHCS :

L'application VHCS permet de créer facilement des nouveaux boutons pour un accès directe aux nouveaux logiciels installés. Ici, il s'agit de créer un nouveau bouton qui permet aux utilisateurs/clients d'accéder à leur statistiques via l'interface d'administration de leur domaine :

1. Connectez-vous en tant qu'administrateur à l'interface d'administration de l'application VHCS 2 ;

2. Dans le menu à gauche, cliquez sur le lien nommé : Menus personnalisés ;

3. Dans la nouvelle fenêtre qui apparaît à droite, dans la case : Nom du bouton, indiquez le nom que vous voulez donner au bouton d'Awstats ;

4. Dans la case : Lien du bouton, rajoutez le lien relatif suivant :
../../stats/
5. Dans la case : Cible du bouton, laissez vide ;

6. Dans la dernière case, selectionnez : Niveau des utilisateurs.

Note : L'ajout d'un bouton ne fonctionnera pas si vous avez sécurisé vhcs via protocol SSL comme indiqué dans le tutorial proposé sur notre portail.

XIV. Suppression de la tâche cron par défaut

Comme indiqué au début de ce tutorial, lors de l'installation du logiciel awstats via dépots, une tâche cron par défaut est créé. Pour la supprimer, il suffit de supprimer le fichier qui la contient :

1. Suppresion de la tâche cron :
$ rm /etc/cron.d/awstats
Ce tutoriel a été appliqué avec succès sur un système fonctionnant avec la distribution Ubuntu Dapper Drake et Edgy Eft et Debian Sarge 3.1. IL est plus particulièrement destiné à la version 2.4.7.1 de l'application VHCS.




Une erreur, une incompréhension concernant ce tutorial ? 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

v2.0 build 20071014.2217
HAnI on Nov. 9 2006
Bonjour j'ai une erreur quand j'execute

=
===========================================

GRANT SELECT ON `vhcs2`.`admin` TO 'vhcs2_awstats'@'%';
=
===========================================

on me dit qu'il y a une erreur dans la syntaxe de la phrase
M. declercq on Nov. 9 2006
HAnI :

Bonjour ;

Si vous obtenez un message d'erreur en executant cette requêtes, nous vous invitons à tenter de la taper manuellement au lieu de faire un simple copier-coller.

Par ailleurs, nous vous invitons aussi à vérifier que la base de données de l'application VHCS se nomme bien vhcs2 sur votre système.

Si cela ne fonctionne toujours pas, veuillez nous indiquer la distribution que vous utilisez ainsi que la version du Serveur Mysql présent sur votre système.

Enfin, nous vous invitons à vous inscrire sur nos forum http://forum.nuxwin.com afin qu'un meilleur suivi de votre demande puisse être assuré par notre équipe.

_______________________
L'équipe du Portail Nuxwin.
HAnI on Nov. 10 2006
Bonjour j'ai un petit souci je ne trouve pas le fichier .htaccess dans mon repertoire /usr/lib/cgi-bin/ je doit creer un fichier avec ce nom et mettre dedans le code ou quoi? Merci de me repondre et Merci pour vos tutos
M. declercq on Nov. 10 2006
HAnI :

Bonjour ;

Effectivement le fichier n'existe pas mais si vous aviez taper la commande indiquée (nano /usr/lib/cgi-bin/.htaccess) dans un terminal et de suite ajouté le contenu évoqué , le fichier aurait été créé.

A mon avis, cela est dû au fait que vous avez utilisé winscp et non puty.

Je modifirais le tutorial en conséquece.

M. Laurent DECLERCQ
HAnI on Nov. 10 2006
M. declercq :

Oui c'est vrais j'utilise Winscp quand il s'agit d'edité un fichier et putty quand j'execute ! j'espere que ca ne pause pas de problem! dans tous les cas je vais essayé d'installer awstats de nouveau ce soir ! esperant que j'aurai pas de problemes Merci a vous
Stanleyjobson2 on Dec. 10 2006
Bonjour, J'ai suivi les étapes pour installer AwStats, mais quand j'essate de le lancer avec l'adresse : http://www.domaine.tld/stats, j'ai le message d'erreur suivant :

" Error 404!

/awstats/awstats.pl File Not Found! "


Je ne sais pas d'où vient le problème, j'ai suivi les étapes à la lettre.

Merci de m'aider c'est urgent !!

PS : Je suis sous DEBIAN SARGE 3.1 et VHCS2
M. declercq on Dec. 12 2006
Stanleyjobson2 :

Bonsoir ;

Je ne peux vous inviter qu'à relire cette section :

IX. Création d'un fichier .htaccess :

____________________________

Bien cordialement ;
Stanleyjobson2 on Dec. 16 2006
Bonjour, J'ai essayé de suivre l'etape pour la création du fichier HTACCES, mais je l'ai parfaitement suivi, et le problème persiste toujours, je ne comprends pas
Starchou on Dec. 22 2006
Bonjour je viens d'installer Awstats en suivan votre tutorial cependant j'ai fait une erreur

J'ai oublié lors de la création pour mysql de remplacer xxxxxxxxx par mon mot de passe. Es ce que je peut relancer la meme instruction juste en changeant le mot de passe ou es ce trop tard?

Merci
Starchou on Dec. 22 2006
Bon baj j'ai remis l'entré sql et terminé le tuto, cela fonctionne parfaitement.

merci encore pour ce tuto

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