Awstats Installation

De EjnTricks

Cet article présente l'installation de Awstats sur une machine Ubuntu pour générer les statistiques d'utilisation d'un serveur Apache.


Hand-icon.png Votre avis

Current user rating: 44/100 (2 votes)

 You need to enable JavaScript to vote


System-Install-icon.png Installation initiale

Command-icon.png Installation paquet

L'application est disponible sous forme de paquet pour Ubuntu, et donc installable avec l'outil apt-get

Quelques paquets sont nécessaires pour l'utilisation de awstats:

  • libmldbm-perl
  • libnet-xwhois-perl
  • libgeo-ipfree-perl

Mise à part libnet-xwhois-perl, ces paquets étaient déjà disponibles sur la machine.

Dependencies.gif Installation dépendances

Lors de l'installation, les paquets suivants sont suggérés:

  • libnet-dns-perl
  • libnet-ip-perl
  • libgeo-ipfree-perl

Les paquets seront installés à l'aide de la commande apt-get.

Paquet libnet-dns-perl

Lors de l'installation de celui-ci, d'autre paquet sont suggérés et seront installé récursivement.

Le paquet libio-socket-inet6-perl est suggéré et donc installé.

Le paquet libsocket6-perl est suggéré et donc installé. Cependant sur la machine, il était déjà disponible.

Paquet libnet-ip-perl

Du fait de précédente installation, ce paquet était déjà disponible sur la machine.

Paquet libgeo-ipfree-perl

Paramétrage LogRotate de Apache

Une rotation des logs est activée pour le serveur Apache par défaut. Or si elle intervient avant le lancement de l'analyse des traces, des informations peuvent ne pas êter prise en compte. Il est donc important de modifier la configuration de Logrotate. Cette configuration se trouve dans le fichier /etc/logrotate.d/apache2. L'objectif est de mettre en place l'analyse avant rotation.

Pour la version 11.X de Ubuntu, il faut modifier le fichier.

/var/log/apache2/*.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        prerotate
                su - root -c "/usr/lib/cgi-bin/awstats.pl -config=www.jouvinio.net -update > /dev/null"
        endscript
        postrotate
                /etc/init.d/apache2 reload > /dev/null
        endscript
}

Pour la version 12.04 de Ubuntu, la configuration de la rotation est modifiée afin d'externaliser ce traitement par l'exécution des scripts dans le répertoire /etc/logrotate.d/httpd-prerotate, par la commande run-part, voir configuration logrotate pour apache2. Ces scripts sont exécutés avec la commande run-parts.

Dans un permier temps, le répertoire /etc/logrotate.d/httpd-prerotate est créé, si il n'existe pas déjà.

#sudo mkdir /etc/logrotate.d/httpd-prerotate

Puis un script update-awstats y est créé avec la commande /usr/lib/cgi-bin/awstats.pl -config=www.jouvinio.net -update > /dev/null. Ce script doit être complété en fonction des domaines audités.

#sudo touch /etc/logrotate.d/httpd-prerotate/update-awstats
#sudo chmod 755 /etc/logrotate.d/httpd-prerotate/update-awstats

Le contenu du script permet de lancer les commande de mises à jour pour les différents sites:

#!/bin/sh

/usr/lib/cgi-bin/awstats.pl -config=www.jouvinio.net -update > /dev/null


Icon-Configuration-Settings.png Paramétrages

Configuration audit Apache

Le paragraphe suivant démontre la configuration à mettre en place pour générer les rapport sur le site www.jouvinio.net. La première étape consiste en la copie du fichier de configuration générale. Le fichier doit porter le nom awstats.www.jouvinio.net.conf dans le répertoire /etc/awstats

#sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.www.jouvinio.net.conf

Le contenu du répertoire /etc/awstats est donc le suivant:

#ll /etc/awstats/
total 148
drwxr-xr-x   2 root root  4096 2012-03-01 20:41 ./
drwxr-xr-x 142 root root 12288 2012-03-01 20:11 ../
-rw-r--r--   1 root root 61725 2011-04-30 16:30 awstats.conf
-rw-r--r--   1 root root   240 2011-04-06 01:32 awstats.conf.local
-rw-r--r--   1 root root 61725 2012-03-01 20:41 awstats.www.jouvinio.net.conf

La documentation sur le site de Ubuntu suggère les paramètres suivants dans le fichier de configuration:

Paramètre Valeur Utilisation
LogType W W est utilisé pour les log d'un site Web
LogFormat 1 Format des logs Apache avec le paramètre combined.

A contrôler avec la configuration des logs dans la déclaration du serveur, paramètre CustomLog; Par exemple dans le fichier /ec/apache2/sites-enabled/000-default: CustomLog ${APACHE_LOG_DIR}/access.log combined

LogFile /var/log/apache2/access.log Emplacement de la log d'accès du serveur Apache.

Comme pour LogFormat, vérifier la configuration dans la déclaration du serveur.

SiteDomain www.jouvinio.net URL d'accès au site sur lequel les statistiques sont mises en place.

Le fichier devient donc le suivant:


Configuration-icon.png Publication sous Apache

Plugin-icon.png Plugins

Bug-icon.png Bug d'installation

Icônes manquantes

Suite à l'installation et l'utilisation, il a été constaté dans les traces Apache des messages d'erreur sur des icônes.

[Fri Mar 02 01:29:36 2012] [error] [client 82.230.154.123] File does not exist: /usr/share/awstats/icon/browser/svn.png,
referer: http://www.jouvinio.net/stats/awstats.pl?framename=mainright&output=browserdetail
[Fri Mar 02 01:07:01 2012] [error] [client 82.230.154.123] File does not exist: /usr/share/awstats/icon/mime/swf.png,
referer: http://www.jouvinio.net/stats/awstats.pl?month=02&year=2012&config=www.jouvinio.net&framename=mainright

La première erreur concerne une icône représentant l'outil SVN. Cependant, cette icône s'affiche sur certains rapports, avec avec l'URL subversion.png. Afin de ne plus observer cette erreur, ce fichier est copié depuis l'emplacement /usr/share/awstats/icon/browser/subversion.png vers /usr/share/awstats/icon/browser/svn.png.

#sudo cp /usr/share/awstats/icon/browser/subversion.png /usr/share/awstats/icon/browser/svn.png

La seconde erreur concerne une icône pour le format swf, devant se situer à l'emplacement /usr/share/awstats/icon/mime/swf.png. Aucune correspondance n'a été trouvé pour ce formet, et une icône a été recherche sur IconArchive. Ce fichier est chargé à l'emplacement souhaité en reproduisant les permissions des autres images.


Update icon.png Update

Version 7.1.1 → 7.2

L'installation de Awstats a été réalisée à l'origine à l'aide de la commande apt-get sur la machine Ubuntu. Il aurait été possible d'essayer de mettre à jour manuellement l'application. Cependant, le package est basé sur la dernière version à jour, et contient plusieurs patch.

Lors de la mise à jour, il a été décidé de faire confiance au contenu du paquet. Qui plus est, les modifications mises en places, pour les plugins par exemple, n'ont pas été modifiés. Ce qui a facilité la mise à jour.

Un point d'attention doit être porté sur le contenu du répertoire /etc/cron.d:

#ll
total 36
drwxr-xr-x   2 root root  4096 Dec 31 19:16 ./
drwxr-xr-x 153 root root 12288 Dec 31 18:55 ../
-rw-r--r--   1 root root   102 Aug 24  2010 .placeholder
-rw-r--r--   1 root root   188 Dec 20  2012 anacron
-rw-r--r--   1 root root   240 Dec 31 19:15 awstats
-rw-r--r--   1 root root   254 Jan  8  2012 awstats.dpkg-dist
-rw-r--r--   1 root root   510 Dec 12 20:01 php5

</code>

Dans un premier temps, la présence du fichier awstats.dpkg-dist peut faire croire à une redondance avec le fichier awstats. Mais il faut se rappeler que l'outil run-parts est utilisé. Or celui-ci ne tient pas compte des fichiers contenant le caractère . dans le nom. Donc le fichier awstats.dpkg-dist sera échappé.


Viewer icon.png Voir aussi

Documentation Ubuntu: http://doc.ubuntu-fr.org/awstats