# Tutorial

Installer Awstats sur une release 2 Gentoo OVH

awstats.gifDepuis l’achat de notre serveur dédié fourni avec une release 2 OVH (Gentoo), je m’occupe à installer et configurer les applications utiles. Aujourd’hui c’était le tour d’Awstats, un logiciel de statistiques avancées permettant l’analyse des fichiers logs d’accès Apache pour générer des pages de statistiques sur le(s) site(s) audité(s).

Vous pouvez voir un exemple des pages générées par Awstats sur le site perso de l’auteur.

La suite de cet article montre la procédure d’installation et de configuration (vous pouvez aussi vous aider du tutoriel officiel).

  • Télécharger et décompresser Awstats (changez le lien par celui de la dernière version disponible)
cd /root/src/soft
wget http://ovh.dl.sourceforge.net/sourceforge/awstats/awstats-6.9.tar.gz
cd .. tar xvzf soft/awstats-6.9.tar.gz
  • Copier les fichiers sur votre serveur (il seront copiés dans le compte ovh pour y avoir accès directement avec l’IP du serveur)
cp -rf wwwroot/cgi-bin/* /home/ovh/cgi-bin
cp -rf wwwroot/classes /home/ovh/www/
cp -rf wwwroot/css /home/ovh/www/
cp -rf wwwroot/icon/* /usr/local/apache/icons/
cp -rf wwwroot/js /home/ovh/www/
cp -rf tools/*.pl /home/ovh/cgi-bin/
  • On change le proprétaire des fichiers executable (vérifiez avant que le nom et groupe du compte OVH est bien vpopmail et vchkpw)
chown vpopmail.vchkpw /home/ovh/cgi-bin/*.pl
  • On crée le dossier où seront stockés les fichiers de configuration awstats de chacun des sites
mkdir /etc/awstats
cp -f wwwroot/cgi-bin/awstats.model.conf /etc/awstats/
  • On crée le dossier où seront stockés les fichiers de cache de traitement et on change en 777 (pour permettre l’écriture peu importe le processus)
mkdir /var/lib/awstats
chmod 777 /var/lib/awstats
  • On peut installer le module Webmin awstats pour faciliter la gestion des fichiers de configuration awstats. Sous votre Webmin > Configuration de Webmin > Modules de Webmin, importer le module (téléchargeable sur SourceForge). Une fois l’installation terminée, dans l’onglet Système > Analyseur de Logs Awstats et configurez le module en indiquant le chemin vers le fichier awstats.pl (chemin système : /home/ovh/cgi-bin/awstats.pl et URL : http://IP.du.serveur/cgi-bin/awstats.pl) et awstats.model.conf

Pour chacun des sites que vous souhaitez auditer, il vous faudra créer un fichier de configuration propre à chacun. Vous pouvez utiliser l’utilitaire fournit avec le module Webmin ou le faire manuellement. Dans le dernier cas, suivez la procédure suivante :

  • Copiez le fichier /etc/awstats/awstats.model.conf dans le même dossier (dans l’exemple suivant on notera monsite.tld le nom de domaine du site avec son extension – par exemple viedegeek.fr)
cd /etc/awstats
cp awstats.model.conf awstats.monsite.tld.conf
  • Éditer le fichier de configuration et changer les valeurs selon la configuration souhaitée. Faites notamment attention aux valeurs suivantes :
LogFile="/var/log/httpd/monsite.tld-access_log"
SiteDomain="monsite.tld"
HostAliases="localhost 127.0.0.1 REGEX[monsite\.tld$]"
DNSLookup=1
DirData="/var/lib/awstats
AllowToUpdateStatsFromBrowser=0 
#mettre 1 si vous souhaitez autoriser la mise à jour depuis la page web - ceci peut causer des problèmes de droits et des erreurs 500
AllowAccessFromWebToAuthenticatedUsersOnly=1 
#avec 1 il sera nécessaire de s'identifier pour avec accès aux statistiques
AllowAccessFromWebToFollowingAuthenticatedUsers="monlogin"  
#mettre ici la liste des login ayant accès aux statistiques
SkipHosts="127.0.0.1 localhost"
SkipFiles="REGEX[^\\/ovh] REGEX[^\\/stats]"
URLWithQuery=1 URLWithQueryWithOnlyFollowingParameters=""
URLWithQueryWithoutFollowingParameters="PHPSESSID"
URLReferrerWithQuery=1
UseFramesWhenCGI=0
DetailedReportsOnNewWindows=0
Expires=3600
Lang="fr"

Il ne reste plus qu’à lancer le script de traitement des logs (la commande suivante lancera l’analyse de toutes les configurations) :

sudo -u vpopmail /home/ovh/cgi-bin/awstats_updateall.pl now -awstatsprog=/home/ovh/cgi-bin/awstats.pl -configdir=/etc/awstats/

Vous pouvez aussi exécuter la mise à jour automatiquement en ajoutant la commande précédente dans votre crontab (depuis le Webmin > Système > Tâches Cron). A programmer toutes les heures ou tous les jours par exemple (en sachant que plus le temps sera réduit entre les analyses, moins il durera longtemps car le script analyse uniquement les nouvelles lignes de logs).

Dans le cas où le fichier de configuration demande une identification (pour limiter l’accès aux statistiques), il faudra restreinte l’accès du fichier awstats.pl. Pour ce faire, créer un fichier .htaccess dans le dossier /home/ovh/cgi-bin et ajoutez dedans :

<Files awstats.pl> 
AuthUserFile /home/ovh/cgi-bin/.htpasswd 
AuthName "Acces restreint" 
AuthType Basic 
<limit GET POST> 
require valid-user 
</Limit> 
</Files>

On va maintenant créer ou mettre à jour le fichier /home/ovh/cgi-bin/.htpasswd en ajoutant le(s) identifiant(s) avec le(s) mot(s) de passe.

/usr/local/apache/bin/htpasswd /home/ovh/cgi-bin/.htpasswd monlogin

Pour plus de facilité d’accès aux statistiques de chaque site, on va créer un alias sur le domaine (un truc du genre stats.monsite.tld redirigeant vers le script awstats.pl). Pour ce faire, depuis le Webmin, il faudra ajouter l’alias (type CNAME) stats vers www. Ou alors éditer directement le fichier bind ( /etc/bind/pri/monsite.tld.hosts ) et ajouter la ligne :

stats.monsite.tld.     IN      CNAME   www

Et pour rediriger stats.monsite.tld vers le script awstats.pl, il suffira d’ajouter le virtualhost suivant dans votre configuration apache ( /http.conf ) :

<VirtualHost IP_du_serveur:80> 
ServerAdmin webmaster@monsite.tld 
DocumentRoot /home/ovh/www/ 
ServerName stats.monsite.tld 
CustomLog logs/ovh-access_log combined 
RedirectPermanent / http://IP_du_serveur/cgi-bin/awstats.pl?config=monsite.tld&configdir=/etc/awstats 
</VirtualHost>

Pensez à redémarrer les services :

/etc/init.d/named restart /etc/init.d/apache restart

à suivre

Commentaires

à lire aussi

Articles similaires

# N95
Le GPS