Ceci est une ancienne révision du document !
Outils de statistiques de sites web
aptitude install awstats
et rajoutez les paquets recommandées
libdigest-sha1-perl (2.13-1) ... libdigest-hmac-perl (1.02+dfsg-1) ... libgeo-ipfree-perl (1.101650-1) ... libnet-ip-perl (1.25-2) ... libnet-dns-perl (0.66-2) ... libnet-xwhois-perl (0.90-3) ... liburi-perl (1.54-2) ...
Le cron est déjà en place dans le fichier suivant
/etc/cron.d/awstats
Changé la permission du dossier /var/log/apache2 ainsi que tout ce qui se trouve à l’intérieur car le cron utilise l’utilisateur www-data pour s’executer et ce répertoire n’autorise pas par défaut cette permission..
chmod o+rx -R /var/log/apache2
Mais ce n’est pas tout ! Il y a logrotate qui passe par la et suivant sa configuration il peut changer les droits…
Vérifiez le fichier /etc/logrotate.d/apache2 et repérez la ligne
create 640 root adm
Modifiez la en
create 644 root adm
Afin que le fichier soit accessible en lecture pour les autres.
ls -tr access.log.*.gz | xargs gunzip -c >> bigaccess.log
Mettre awstats en francais
vi /etc/default/awstats
Mettre la variable AWSTATS_LANG=“fr”
Faite une copie du fichier /etc/awstats/awstats.conf et créé autant de fichier de config que vous voulez avoir de rapport de statistique.
Le nom du fichier doit toujours commencer par awstats. + votre nom de site(comme vous voulez) + .conf
Ici nous allons accéder à awstats via un sous-domaine avec un mot de passe.
mkdir /var/www/awstats.mondomaine.fr
Créez une config apache
vi /etc/apache2/sites-available/awstats.conf
<VirtualHost *:80> ServerName awstats.mondomaine.fr DocumentRoot /var/www/awstats.mondomaine.fr <Directory /var/www/awstats.mondomaine.fr> AuthGroupFile /dev/null AuthType Basic AuthUserFile /var/www/awstats.mondomaine.fr/.htpasswd AuthName "Access Restricted" Require valid-user AuthType Basic Order deny,allow Deny from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch # Pour limiter l'accès à certaine ip #Order deny,allow #Deny from all #Allow from 10.0.0.0/8 </Directory> </VirtualHost>
Vous pouvez créer le fichier .htpasswd avec la commande
htpasswd -c /var/www/awstats.mondomaine.fr/.htpasswd <votreLogin>
Il vous sera ensuite demandé de taper le mot de passe 2 fois.
Pour limiter l’accès à une config, ajouter la ligne suivante dans <VirtualHost>…</VirtualHost>
SetEnv AWSTATS_FORCE_CONFIG domain.com
Ensuite, l’appel à l’url domain.com/cgi-bin/awstats.pl chargement automatiquement la bonne config et impossible d’en charger une autre via ?config=autredomaine.com
Voici un condensé d’une configuration pour postfix
LogFile="/usr/share/doc/awstats/examples/maillogconvert.pl standard < /var/log/mail.log |" LogType=M LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd" SiteDomain="mysteryland.emc.fr" LevelForBrowsersDetection=0 LevelForOSDetection=0 LevelForRefererAnalyze=0 LevelForRobotsDetection=0 LevelForSearchEnginesDetection=0 LevelForKeywordsDetection=0 LevelForFileTypesDetection=0 LevelForWormsDetection=0 ShowMonthStats=UHB ShowDaysOfMonthStats=HB ShowDaysOfWeekStats=HB ShowHoursStats=HB ShowDomainsStats=0 ShowHostsStats=HBL ShowRobotsStats=0 ShowEMailSenders=HBML ShowEMailReceivers=HBML ShowSessionsStats=0 ShowPagesStats=0 ShowFileTypesStats=0 ShowOSStats=0 ShowBrowsersStats=0 ShowOriginStats=0 ShowKeyphrasesStats=0 ShowKeywordsStats=0 ShowMiscStats=0 ShowHTTPErrorsStats=0 ShowSMTPErrorsStats=1
Pensez aux droits sur le fichier de log
chmod o+r /var/log/mail.log
et relancez l’update
su www-data -c /usr/share/awstats/tools/update.sh
ou
/usr/lib/cgi-bin/awstats.pl -config=postfix -update