Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Statistiques / Installer AWStats sur Debian

Installer AWStats sur Debian

Par Pierre-Yves Landuré Dernière modification 04/10/2017 12:27

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
  • Debian 7.0 Wheezy

Prérequis

Ce guide nécessite:

Paramètres

Renseignez le nom de domaine où sera disponible l'application:

DOMAIN="stats.domaine-exemple.fr"

Renseignez le nom du certificat SSL à utiliser pour chiffrer l'application avec HTTPS (créé via la procédure Créer un certificat SSL / TLS sur Debian) (optionnel, recommandé):

SSL_KEY_NAME="${DOMAIN}"

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 l'hôte virtuel dédié à AWstats:

AWSTATS_CONFIG="$(command wget "https://raw.github.com/biapy/howto.biapy.com/master/apache2/awstats/awstats-virtual-host.template" \
    --quiet --no-check-certificate --output-document=-)"

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

if [ -n "${SSL_KEY_NAME}" -a -e "/etc/ssl/private/${SSL_KEY_NAME}.key" ]; then
command a2tools --ssl="${SSL_KEY_NAME}" --template='custom' "${DOMAIN}" "${AWSTATS_CONFIG}"
command a2tools --template='redirect' "${DOMAIN}" "https://${DOMAIN}/"
else
command a2tools --template='custom' "${DOMAIN}" "${AWSTATS_CONFIG}"
fi

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 "https://raw.github.com/biapy/howto.biapy.com/master/apache2/awstats/awstats-tools" \
--quiet --no-check-certificate --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:

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

Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian):

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

Remerciements