Vous êtes ici : Accueil Debian GNU/Linux Applications Web Statistiques Installer l'outil d'analyse Web AWStats sur Debian

Installer l'outil d'analyse Web AWStats sur Debian

Par Pierre-Yves Landuré Dernière modification 20/12/2011 19:45

AWStats (pour Advanced Web statistics) est un outil très performant d'analyse de fichiers logs. Il est capable de traiter les logs de vos serveurs HTTP, FTP, SMTP, etc. Sa présentation est simple, et ses statistiques pertinentes. Ce guide vous aide à l'installer proprement sur Debian.

Ce guide est testé sur:

  • Debian 5.0 Lenny
  • Debian 6.0 Squeeze

Pré-requis

Ce guide nécessite un serveur HTTP disposant du script  a2tools disponible dans mon guide Installer Apache 2 sur Debian.

Paramètres

Renseignez le nom de domaine ou sera disponible l'application:

DOMAIN="stats.domaine-exemple.fr"

Installation

Installez le logiciel, un outil de génération de mots de passe, et les dépendances des plugins:

command apt-get install awstats apg \
libgeo-ipfree-perl libnet-ip-perl \
libnet-dns-perl liburi-perl apache2-utils

Créez un utilisateur système pour le logiciel:

command adduser --system --group --shell "/bin/sh" \
    --no-create-home --home "/var/lib/awstats" awstats
command adduser awstats adm

Modifiez les permissions pour prendre en compte ce nouvel utilisateur:

if [ -e "/var/lib/awstats" ]; then
  command chown awstats:www-data "/var/lib/awstats"
  command chown awstats:awstats /var/lib/awstats/*
fi
if [ -e "/var/cache/awstats" ]; then
  command chown awstats:www-data "/var/cache/awstats"
  command chown awstats:awstats /var/cache/awstats/*
fi

Remplacez la configuration cron fournie par Debian par une version capable de mettre à jour plusieurs sites:

command echo "# Awstats all sites update :
*/10 * * * * awstats [ -x '/usr/lib/cgi-bin/awstats.pl' -a -d '/etc/awstats' ] && command find '/etc/awstats' -type f -name 'awstats.*.conf' | command sed -e 's/.*awstats\.\(.*\)\.conf/\1/' | command xargs -ICONF /usr/lib/cgi-bin/awstats.pl -config=CONF -update

# Generate static reports:
#10 03 * * * awstats [ -x '/usr/share/awstats/tools/buildstatic.sh' ] && /usr/share/awstats/tools/buildstatic.sh" \
  > /etc/cron.d/awstats
/etc/init.d/cron reload

Configurez l'outil pour reconnaître la version "combined" des logs Apache 2:

command sed -i -e 's/^LogFormat.*=.*/LogFormat=1/g' "/etc/awstats/awstats.conf"

Autorisez la vue de l'année complète via le navigateur:

command sed -i -e 's/^AllowFullYearView.*=.*/AllowFullYearView=3/g' "/etc/awstats/awstats.conf"

Copiez le fichier de configuration par défaut d'AwStats afin de conserver un template "sûr":

command mv "/etc/awstats/awstats.conf" "/etc/awstats/awstats.conf.template"

Activez de manière globale les plugins intéressants de l'outil:

command echo 'LoadPlugin="tooltips"
LoadPlugin="decodeutfkeys"
LoadPlugin="ipv6"
LoadPlugin="geoipfree"' \
    >> /etc/awstats/awstats.conf.local

Initialisation de la gestion des utilisateurs

Créez le dossier destiné à contenir le fichier des mots de passes:

command mkdir --parent /etc/apache2/passwords

Créez un mot de passe pour le compte admin, autorisé à accéder à toutes les statistiques:

AWSTATS_PWD=$(command apg -q -a 0 -n 1 -M NCL)

Créez le fichier de mot de passe ainsi que le compte admin:

command htpasswd -cb /etc/apache2/passwords/awstats-users.pwd admin ${AWSTATS_PWD}

Affichez le mot de passe assigné au compte d' "administration" de AWStats. Notez le:

command echo "Le mot de passe pour l'utilisateur 'admin' est '${AWSTATS_PWD}'."

Ce compte permet d'accéder aux statistiques de tous les sites configurés dans AWStats.

Configuration d'Apache 2

Activez le module rewrite d'Apache 2:

command a2enmod rewrite

Téléchargez le fichier modèle de notre hôte virtuel dédié à AWstats:

AWSTATS_CONFIG=$(command wget "http://howto.biapy.com/fr/debian-gnu-linux/applications-web/statistiques/installer-loutil-danalyse-web-awstats-sur-debian/awstats-virtual-host.template/at_download/file" \
    --quiet --output-document=-)

Créez la configuration du site de statistiques à l'aide d'a2tools:

command a2tools --template=custom "${DOMAIN}" "${AWSTATS_CONFIG}"

Par défaut, le modèle d'hôte virtuel utilisé n'autorise que l'utilisateur "admin" à voir les sites. Cependant, si vous modifiez le fichier /etc/apache2/sites-available/http-DOMAIN, vous trouverez la possibilité d'autoriser l'accès sans identification par mot de passe pour certaines adresses IP.

Installation du script d'administration

Installez le script d'administration d'AWStats:

command wget "http://howto.biapy.com/fr/debian-gnu-linux/applications-web/statistiques/installer-loutil-danalyse-web-awstats-sur-debian/awstats-tools/at_download/file" \
--output-document="/usr/bin/awstats-tool"
command chmod +x "/usr/bin/awstats-tool"

L'utilisation de ce script pour le domaine choisi est fournie par la commande:

echo "* awstats-tool ${DOMAIN} add-site www.site-exemple.com
Ajoute le site www.site-exemple.com aux sites surveillés par AWStats.

* awstats-tool ${DOMAIN} add-site-user www.site-exemple.com jdoe
Crée l'utilisateur jdoe, et l'autorise à accéder aux statistiques du site www.site-exemple.com.

Les statistiques du site www.site-exemple.com sont disponibles à l'adresse : http://${DOMAIN}/www.site-exemple.com/"

Sauvegardes

Pour sauvegarder votre installation, je vous propose d'utiliser Backup Manager. Pour l'installer, vous pouvez suivre mon guide:

Installer et configurer Backup Manager sur Debian

Une fois Backup Manager installé, configurer la sauvegarde des fichiers de l'application:

command backup-manager-tools add "/etc/awstats"
command backup-manager-tools add "/var/lib/awstats"

Remerciements