meta données pour cette page
Ceci est une ancienne révision du document !
Analyser son site Internet avec Awstats
AWStats est un logiciel libre qui observe les fichiers logs pour ensuite établir des statistiques représenté sous forme de graphiques. Contrairement à Piwik ou à d'autres solutions, il est légé, rapide et fonctionne même après que le serveur web ait fonctionnnée pendant une longue durée.
Pour une utilisation plus poussée, il permet également d'observer les évènements d'un serveur IIS, proxy, mails, FTP, etc.
Introduction
Dans ce tutoriel, on va suivre le contexte suivant :
- awstats.example.com est le site contenant awstats d'installé
- example.com est le site sur lequel on veut des statistiques
Ces deux domaines sont hébergé sur le même serveur
Commençons par récupérer les dépendances :
apt-get install perl libcgi-fast-perl
Depuis les sources
On peut récupérer le projet depuis le site officiel :
mkdir -m 750 /var/www/awstats wget https://prdownloads.sourceforge.net/awstats/awstats-7.6.zip unzip awstats-7.6.zip mv awstats-7.6/* /var/www/awstats/ chown www-data: /var/www/awstats/ -R
Depuis le dépôt
Ou avec cette méthode (mais ça ne sera pas forcément la dernière version à jour)
apt install awstat
Compatibilité avec Nginx
Renseignons notre serveur au près de Nginx :
nano /etc/nginx/site-enabled/awstats.conf
- default.conf
server { listen 80; server_name awstats.example.com; error_log /var/log/nginx/awstats.log info; root /var/www/awstats/wwwroot; location ~ ^/cgi-bin/(awredir|awstats)\.pl { gzip off; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /var/www/awstats/tools/nginx/awstats-fcgi.php; fastcgi_param X_SCRIPT_FILENAME /var/www/awstats/wwwroot$fastcgi_script_name; fastcgi_param X_SCRIPT_NAME $fastcgi_script_name; fastcgi_buffer_size 4K; fastcgi_buffers 64 4k; include fastcgi_params; } }
On vérifie qu'il n'y a pas d'erreurs de syntaxes puis on recharge la configuration :
nginx -t systemctl reload nginx
Compatibilité avec Apache2
Renseignons notre serveur au près de Apache :
nano /etc/apache2/sites-available/awstats
- awstats.conf
<VirtualHost *:80> ServerName awstats.example.com ScriptAliasMatch ^/awstats\.pl$ /usr/lib/cgi-bin/awstats.pl DocumentRoot /var/www/awstats <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> Alias /awstats-icon/ /usr/share/awstats/icon/ <Directory /usr/share/awstats/icon> Options None AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>
Le service à besoin du module CGI pour fonctionner:
apt install libapache2-mod-fcgid
On active cette configuration :
a2ensite awstats
On vérifie qu'il n'y a pas d'erreur de syntaxes pour redémarrer le service.
apache2ctl -t systemctl reload apache2
Le résultat est visualisation depuis l'URL : http://awstats.example.com/cgi-bin/awstats.pl?config=example.com
Cliquez sur “Update now”. en haut de la page pour actualiser la page et vous devez avoir ce type d’aperçu :
Configurer Awstat
Si l'installation s'est faite depuis les dépôt :
nano /etc/awstats/awstats.example.com
Si l'installation s'est faite depuis les sources :
nano /var/www/awstats/wwwroot/cgi-bin/awstats.example.com.conf
Au minimum, il a besoin de ces directives :
- awstats.example.com
LogFile="/var/log/apache2/domaine.log" LogFormat = 1 LogType=W DNSLookup=1 SiteDomain="example.com" DirIcons="/awstats-icon" AllowFullYearView=3
Pour en savoir plus sur les directives, voici la documentation pour vous aider.
DirData="/var/www/awstats/wwwroot/cgi-bin/data/"
Ajouter la géolocalisation
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz gunzip -f GeoIP.dat.gz mv GeoIP.dat.gz /usr/share/awstats/plugins/
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz gunzip -f GeoLiteCity.dat.gz mv GeoLiteCity.dat.gz /usr/share/awstats/plugins/
Puis ajouter dans la configuration awstat :
nano /var/www/awstats/wwwroot/cgi-bin/awstats.example.com.conf
LoadPlugin="geoip GEOIP_STANDARD /usr/share/awstats/plugins/GeoIP.dat" LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/awstats/plugins/GeoLiteCity.dat"
Enfin, on s'assure que le module IP soit disponible pour Perl :
cpan Geo::IP
Lancer l'analyse de requêtes :
/usr/lib/cgi-bin/awstats.pl -update -config=example.com
Documentation :
- article écrit par Quentin Drouet en 2012
- https://blog.pastoutafait.fr/billets/Installation-et-configuration-de-AwStats-sur-Debian-Squeeze