106 lines
2.9 KiB
Markdown
106 lines
2.9 KiB
Markdown
---
|
|
categories: web
|
|
title: Howto Awstats
|
|
...
|
|
|
|
* Documentation : <https://awstats.sourceforge.io/#DOC>
|
|
* Statut de cette page : testing / bookworm
|
|
|
|
[AWStats](https://awstats.sourceforge.io/) est un outil pour générer des statistiques en fonction d'un fichier de logs.
|
|
Il peut lire des fichiers de logs d'un serveur web (Apache, Nginx, etc.) mais aussi d'un serveur FTP, SFTP, etc.
|
|
|
|
## Installation
|
|
|
|
~~~
|
|
# apt install awstats
|
|
|
|
# awstats -version
|
|
awstats 7.8 (build 20200416)
|
|
~~~
|
|
|
|
## Configuration pour le web
|
|
|
|
Pour commencer, on va déplacer la configuration d'origine dans un autre fichier afin de pouvoir créer de multiples configurations qui se baseront sur la configuration d'origine.
|
|
|
|
~~~
|
|
# cd /etc/awstats
|
|
# grep -v awstats.conf.local awstats.conf > awstats.conf.local
|
|
~~~
|
|
|
|
Le fichier _/etc/awstats/awstats.conf.local_ doit être adapté :
|
|
|
|
~~~
|
|
LogFormat=1
|
|
AllowFullYearView=3
|
|
WarningMessages=1
|
|
ErrorMessages="An error occured. Contact your Administrator"
|
|
~~~
|
|
|
|
Ensuite, on va créer modifier le fichier /etc/awstats/awstats.conf avec le contenu suivant :
|
|
|
|
~~~
|
|
Include "/etc/awstats/awstats.conf.local"
|
|
LogFile="/var/log/apache2/access.log"
|
|
SiteDomain="hosting.example.com"
|
|
DirData="/var/lib/awstats/"
|
|
ShowHostsStats=0
|
|
ShowOriginStats=0
|
|
ShowPagesStats=0
|
|
ShowKeyphrasesStats=0
|
|
ShowKeywordsStats=0
|
|
ShowHTTPErrorsStats=0
|
|
~~~
|
|
|
|
Ce fichier supprime tous les paramètres non anonyme et permet potentiellement d'avoir des statiques globales pour tous les sites d'un serveur.
|
|
|
|
Pour un site "classique", on créera un fichier _/etc/awstats/awstats.example.conf_ ainsi :
|
|
|
|
~~~
|
|
Include "/etc/awstats/awstats.conf.local"
|
|
LogFile="/home/example/log/access.log"
|
|
SiteDomain="www.example.com"
|
|
DirData="/home/example/awstats"
|
|
~~~
|
|
|
|
Pour générer les stats de façon régulière, cela se passe dans _/etc/cron.d/awstats_ :
|
|
|
|
~~~
|
|
0,10,20,30,40,50 * * * * root umask 033; [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache2/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null
|
|
51 * * * * root umask 033; [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.example.conf -a -r /home/example/log/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=example -update >/dev/null
|
|
~~~
|
|
|
|
Enfin, pour voir les icones Awstats, on rajoutera le fichier _/etc/apache2/cron.d/awstats.conf_ ainsi :
|
|
|
|
~~~
|
|
Alias /awstats-icon/ /usr/share/awstats/icon/
|
|
<Directory /usr/share/awstats/icon/>
|
|
Require all granted
|
|
</Directory>
|
|
~~~
|
|
|
|
## Debug
|
|
|
|
Voir la sortie comme le ferait apache :
|
|
|
|
~~~
|
|
# sudo -u vhost /usr/lib/cgi-bin/awstats.pl -config=vhost -output
|
|
~~~
|
|
|
|
Si erreurs de droits. Corriger. Exemple :
|
|
|
|
~~~
|
|
Can't locate mime.pm: ./mime.pm: Permission non accordée at /usr/lib/cgi-bin/awstats.pl line 2217.
|
|
~~~
|
|
|
|
## Astuces
|
|
|
|
### Ré-injecter tout les logs
|
|
|
|
Il faut fournir les logs au format texte et du plus vieux au plus récent dans le fichier nommé access.log.
|
|
|
|
|
|
~~~
|
|
# sudo -u vhost /usr/lib/cgi-bin/awstats.pl -config=vhost -update
|
|
~~~
|
|
|