User Tools

Site Tools


informatique:logiciels:awstats

This is an old revision of the document!


internet statistiques apache

Installer Awstats

avec une Debian (et plus généralement Linux)

http://awstats.sourceforge.net Awstats est un script perl qui interprète les logs Apache pour en faire des graphiques et des statistiques. Pur l'installer :

aptitude install awstats

On va ensuite modifier quelques options dans le fichier de configuration /etc/awstats.conf :

LogFile="/var/log/apache2/access.log"
SiteDomain="hostname"
HostAliases="localhost 127.0.0.1 votre_IP_publique"
LogType=W

Ce qui correspond, dans l'ordre :

  • le chemin vers le fichier de log d'Apache
  • préciser votre hostname (par exemple “pteu.hd.free.fr”)
  • éventuellement
  • on spécifie qu'on utilise un log de serveur web (par défaut c'est déjà spécifié)

Pour obtenir des stats plus précises (notamment les OS et navigateurs des internautes), on va utiliser le format combined des log d'Apache. Ils enregistrent plus d'informations et prennent donc plus de place. On spécifie le format du log avec la directive :

LogFormat=1

Il faut s'assurer que le format des logs créés par Apache sont “conformes” : dans le fichier de config général d'Apache 2 /etc/apache2/apache2.conf, décommentez (si besoin) la ligne :

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" '%{User-Agent}i'" combined

Dans le fichier de conf spécifique de votre vhost (/etc/apache2/sites-available/default par défaut), vérifiez que la directive

CustomLog /var/log/apache2/access.log combined

est bien présente.

Si vous avez modifié quelque chose dans l'un ou l'autre des fichiers de conf, n'oubliez pas de relancer apache :

/etc/init.d/apache2 reload

Lancez ensuite la commande suivante

/usr/lib/cgi-bin/awstats.pl -config=<hostname> -update

<hostname> est le SiteDomain spécifié plus haut

Les statistiques sont disponibles à l'adresse <hostname>/cgi-bin/awstats.pl?config=<hostname>

Vu que le script est assez lourd, il peut être judicieux de ne générer qu'une seule fois par jour un rapport, sous forme de fichier html statique :

/usr/lib/cgi-bin/awstats.pl -config=<hostname> -update -output -staticlinks > awstats.html

En plaçant ce fichier dans la racine du serveur web on pourra y accéder par http://hostname/awstats.html .

Pour générer toutes les stats (pas uniquement les stats générales), on utilise la commande http://awstats.sourceforge.net/docs/awstats_tools.html#awstats_buildstaticpages awstats_buildstaticpages :

/usr/lib/cgi-bin/awstats_buildstaticpages.pl -config=hostname -update -awstatsprog=/usr/lib/cgi-bin/awstats.pl -dir=/path/to/htdocs/awstats/

Pour automatiser la création de pages html, on utilise http://fr.wikipedia.org/wiki/Cron cron : On édite la crontab :

crontab -e

Et on rajoute cette ligne qui exécutera la commande à 1h00 du matin tous les jours :

0 1  *   *   *     /usr/lib/cgi-bin/awstats_buildstaticpages.pl -config=<hostname> -update -awstatsprog=/usr/lib/cgi-bin/awstats.pl -dir=/path/vers/htdocs/awstats/

Ensuite on redémarre le service cron (en fait ce n'est pas nécessaire) :

/etc/init.d/cron restart

Pour Squid

Dans le fichier squid.conf, on active les log “combined” (décommenter la ligne) :

logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh

Puis dans le fichier de conf de awstats (par défaut /etc/awstats.conf) :

LogFormat=1
informatique/logiciels/awstats.1381783502.txt.gz · Last modified: 2013/10/14 20:45 by 127.0.0.1