Mise en œuvre d’Awstats

Présentation

Mise en œuvre d'AwstatsAwstats est un outil de Web Analytics qui analyse l’audience à partir des logs ou journaux produits par un serveur Apache, IIS, Squid ou Ftp. Il est écrit en Perl. Son intérêt réside dans le fait qu’il est un des rares projets Open Source de ce type à faire l’objet de mises à jour régulières, même si la dernière version 7.7 du logiciel date du 7 janvier 2018.  Il diffère d’un outil de mesure d’audience Open Source tel que Piwik Matomo (une alternative très sérieuse à Google Analytics) qui utilise un script écrit en javascript – ou en php – placé au niveau de la page d’accueil d’un site Internet. L’avantage du logiciel Awstats est qu’il ne peut donc pas être empêché d’analyser vos logs par les bloqueurs publicitaires, contrairement à Matomo, Google Analytics et les autres logiciels de Web Analytics utilisant des scripts par marqueur.

Préambule

Ce tuto s’adresse à toute personne disposant des connaissances de base sur Linux (notamment en termes de gestion de droits) et sur la configuration du serveur Apache.

Les manipulations présentées dans ce support sont réalisées en mode root. Le domaine de l’entreprise est ici mon-domaine.com. Le site est accessible à partir de l’adresse : http://www.mon-domaine.com. L’entreprise dispose également du nom de domaine mon-domaine.net. L’adresse ip du serveur est xxx.xxx.xxx.xxx. Ces éléments sont aisément transposables à votre configuration. J’espère que les explications présentées vous permettront de mettre en œuvre avec succès Awstats sur votre serveur Apache sous Fedora Server. Les manipulations présentées sont aisément transposables à d’autres distributions Linux telles que CentOS, Red Hat, Debian, Ubuntu Server, Mandriva, Suse, OpenSuse, Slackware et Gentoo.

Très important

Sur Fedora, le propriétaire du répertoire /var/www est l’utilisateur apache. en cas de problème, n’hésitez pas à exécuter :

chown apache:apache /var/www -R

Installation

Sur Centos, Red Hat ou Fedora, à partir de la ligne de commande, tapez :

yum install awstats

Fichiers de configuration

L’installation du paquet génère le dossier /etc/awstats dans lequel vous trouverez un modèle de fichier de configuration : /etc/awstats/awstats.model.conf. Le lien avec le serveur Apache s’effectue au travers du fichier /etc/httpd/conf.d/awstats.conf. Le code de l’application Awstats est stocké dans le dossier /usr/share/awstats.

Fichier de configuration du domaine

A partir du fichier de configuration modèle awstats.model.conf, créez le fichier de configuration de votre domaine : awstats.www.mon-domaine.com.conf, par simple copie dans le même répertoire (/etc/awstats dans l’exemple). Très peu de directives sont à modifier :

LogFile=/var/log/httpd/mon-domaine-access_log
LogType=W
LogFormat=1
SiteDomain="www.mon-domaine.com"
HostAliases="REGEX[(mon-domaine)]"
DirData="/var/www/awstats/mon-domaine"
DirCgi="/awstats"
DirIcon="/awstats/icon"

Le fichier httpd.conf

Assurez-vous que le module apache cgi_module soit activé dans le fichier /etc/httpd/conf.modules.d/cgi.conf. Il l’est par défaut. Vous devez aussi associer des journaux à chacun des domaines associés à la directive VirtualHost associé à la gestion du domaine :

<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin admin@mon-domaine.com
DocumentRoot /var/www/mon-domaine
ServerName www.mon-domaine.com
ServerAlias mon-domaine.net *.mon-domaine.net
ErrorLog logs/mon-domaine-error_log
CustomLog logs/mon-domaine-access_log combined
</VirtualHost>

Après la modification des fichiers de configuration, pensez à recharger le service Apache.

systemctl reload httpd

Statistiques

Accès Web

L’accès aux statistiques se fait en reprenant le nom du domaine associé au fichier de configuration (/etc/awstats/awstats.www.mon-domaine.com.conf dans notre exemple). Tapez l’url suivante à partir de la barre d’adresses de votre navigateur :

http://xxx.xxx.xxx.xxx/awstats/awstats.pl?config=www.mon-domaine.com

Actualisation

Elle se réalise en ligne de commande de la manière suivante :

/usr/share/awstats/wwwroot/cgi-bin/awstats.pl update -config=www.mon-domaine.com

Vous pouvez automatiser cette tâche à l’aide de la commande crontab -e.

Si vous souhaitez pouvoir actualiser à partir de l’interface Web, il faut changer le fichier de configuration du domaine de la manière suivante (/etc/awstats/awstats.www.mon-domaine.com.conf dans notre exemple) :

AllowToUpdateStatsFormBrowser=1

Sécurisation

Configuration du domaine

Modifiez le fichier de configuration du domaine (/etc/awstats/awstats.www.mon-domaine.com.conf dans notre exemple) de la manière suivante :

AllowAccessFromWebToAuthenticatedUsersOnly=1
AllowAccessFromWebToFollowingAuthenticatedUsersOnly="login"

Les utilisateurs autorisés

A partir du dossier contenant le script awstats.pl (/usr/share/awstats/wwwroot/cgi-bin dans notre exemple), créez un fichier des utilisateurs autorisés :

htpasswd -c .htpasswd login. 

Login est le nom d’utilisateur qui sera autorisé.
Dans le même dossier, créez le fichier .htaccess :

AuthType Basic
AuthName "Identifiez-vous"
AuthUserFile /usr/share/awstats/wwwroot/cgi-bin/.passwd
Require valid-user

Pour que le serveur Apache prenne en compte le fichier .htaccess, la directive AllowOverride ne doit pas rester à none. Les directives du serveur Apache sont sensibles à la casse !

Mise en œuvre d'Awstats

Activer l’IPv6

Pensez à décommenter la directive du fichier de configuration permettant de prendre en charge l’adressage IPv6 :

LoadPlugin="ipv6"

Documentation

NB La version Pdf de ce document est téléchargeable à partir de la section Supports de ce site.  La société Dsfc propose des formations sur les logciels Linux, Centos, Red Hat, Fedora ainsi que sur Apache, Awstats et Matomo. Pour la mise en œuvre de serveurs Web sous Linux, des sites Internet ainsi que les outils qui vous sont présentés, je peux vous accompagner ainsi que dans les activités de référencement de sites Web (SEO / Search Engine Optimizing), de marketing viral.

Publié initialement le 26 août 2010

Web Analytics  / Formateur Awstats