Name : BETA-TESTERS
Project name : ZW3B-API-BETA-TESTERS
Authorized. - 200 - Client API Name and Origin Wildcard OK
AWStats est un analyseur de log web (mais aussi FTP, Streaming et mail) offrant des vues graphiques statiques mais aussi dynamiques des statistiques d'accès à vos serveurs web. Il permet d'afficher le nombre de visites, de visiteurs uniques, de pages, de hits, de transfert, par domaine/pays, hôte, heure, navigateur, OS, ... Il peut être lancé grâce à des scripts CGI ou en ligne de commande.
Script avec 1 ligne
001apt-get install awstats
Les fichiers de configuration se trouvent dans le répertoire /etc/awstats/
awstats.conf
: fichier de configuration global.awstats.www.mydomain.tld.conf
est le fichier de configuration AWStats pour mon site Webwww.mydomain.tldwww. par exemple.
A titre d'info sous Linux Debian, les données et pages html se trouvent : /var/lib/awstats/
Script avec 73 lignes
001<VirtualHost IP_ADDRESS:443> 002 003 #--------------------------------------------- 004 # Configuration general 005 006 ServerName www.lab3w.com 007 ServerALias lab3w.com 008 009 # ........... 010 # ........... 011 012 # Configuration general 013 #--------------------------------------------- 014 015 #--------------------------------------------- 016 # Configuration AWStats Web access 017 018 ScriptAlias /private/AWStats /usr/lib/cgi-bin/awstats.pl 019 020 Alias /awstats/awstats-icon "/usr/share/awstats/icon/" 021 Alias /awstats/awstatscss "/usr/share/awstats/css/" 022 Alias /awstats/awstatsclasses "/usr/share/awstats/classes/" 023 024 <Directory /private/AWStats> 025 026 DirectoryIndex awstats.pl 027 UseCanonicalName off 028 Options +ExecCGI 029 AllowOverride None 030 Order allow,deny 031 Allow from all 032 033# AuthName "Login Required" 034# AuthType Basic 035# AuthUserFile /var/pro/web_sites/lab3w_com/www/web/.htpasswd 036# require valid-user 037 038 </Directory> 039 040 <Files "awstats.pl"> 041# Order deny,allow 042# Deny from all 043# Allow from 127.0.0.1 ::1 044# Allow from 10.10.1.10 045 046 # configuration obligatoire (IP address visible - acces fermé) 047# AuthUserFile /var/pro/web_sites/lab3w_com/www/web/.htpasswd 048# AuthGroupFile /var/pro/web_sites/lab3w_com/www/web/.htgroup 049# AuthName "Restricted Area" 050# AuthType Basic 051# require valid-user 052 # configuration obligatoire (IP address visible - acces fermé) 053 054 # configuration personnelle (acces depuis le reseau LAN) 055# Require all granted 056 Require host www.mydomain.tld granted 057 Require ip 127.0.0.1 # IP local 058 Require ip ::1 # IP local 059 Require ip 10.10.1.10 # IP server lan 060 Require ip 2607:5300:60:9389:15:1:a:10 # IP server publique 061 # configuration personnelle (acces depuis le reseau LAN) 062 063 # configuration personnelle (acces authorisés) 064 Require ip 1.2.3.4 # my address ipv4 065# Require ip 2001:1111:2222:3333:4444:5555:7777:0000/112 # my address ipv6/112 ;) 066 # configuration personnelle (acces authorisés) 067 068 </Files> 069 070 # Configuration AWStats Web access 071 #--------------------------------------------- 072 073</VirtualHost>
Permet d'avoir à chaque VHOST (en l'occurrence sur le site Webwww.lab3w.comwww. ) un dossier ./private/AWStats/
avec les stats web AWStats.
Editer/créer un fichier /etc/awstats/awstats.www.lab3w.com.conf
Script avec 19 lignes
001# Fichier de configuration AWStats 002LogFile="/var/pro/web_logs/lab3w_com/www/logs/access.log" 003LogType=W 004SiteDomain="www.lab3w.com" 005#AllowAccessFromWebToAuthenticatedUsersOnly=0 // pour avoir acces au répertoire sans htpassword 006AllowAccessFromWebToAuthenticatedUsersOnly=1 007AllowAccessFromWebToFollowingAuthenticatedUsers="admin" 008 009AllowToUpdateStatsFromBrowser=0 010AllowFullYearView=3 011 012LogFormat=1 013HostAliases="lab3w.com" 014 015LoadPlugin="ipv6" 016 017LoadPlugin="geoip GEOIP_STANDARD /usr/share/awstats/plugins/GeoIP.dat" 018LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/awstats/plugins/GeoLiteCity.dat" 019LoadPlugin="geoip_asn_maxmind GEOIP_STANDARD /usr/share/awstats/plugins/GeoIPASNum.dat"
Et re-charger le serveur Web Apache /etc/init.d/apache2 reload
Si on a plusieurs fichiers de access_serv1-www.lab3w.com.log.gz
, access_serv2-www.lab3w.com.log.gz
on peut utiliser ceci : analyse.sh
Les fichiers GZ, sont GunZipés par exemple tous les jours à la fin de journée ; une fois la journée terminée et les fichiers "backupés", on génère les AWStats des servers.
Script avec 8 lignes
001#!/bin/sh 002DIR= 003for f in $(ls -rt {$DIR}access_*-www.lab3w.com.log.gz) ; do 004 echo "$f" 005 gzip -d "$f" 006 /usr/lib/cgi-bin/awstats.pl -config=www.lab3w.com -update -LogFile=${f/.gz/} 007 gzip "${f/.gz/}" 008done
Script avec 1 ligne
001sh analyse.sh /var/pro/web_logs/lab3w_com/www/logs/
Une fois la commande exécutée... les fichiers sont stockés dans le répertoire : /var/lib/awstats/
au nom du VHOST correspondant. Vous pouvez ajouter une tâche planifiée tout les jours ou toutes les 5 minutes ;)
CF : http://awstats.sourceforge.net/docs/awstats_config.html
Pour installer les plugins IPv6 et GeoIP, il faut installer GeoIP.dat.gz GeoLiteCity.dat.gz etc..
Script avec 4 lignes
001# Plugin: IPv6 AWStats 002# Perl modules required: Net::IP and Net::DNS 003apt-get install libnet-ip-perl 004apt-get install libnet-dns-perl
Script avec 4 lignes
001# Plugin: GeoIP 002# Perl modules required: Geo::IP or Geo::IP::PurePerl (from Maxmind) 003apt-get install libgeoip1 004apt-get install libgeoip-dev
J'ai écris un script PHP qui permet de récupérer un résumé des informations écritent par AWStats.