Mise en œuvre d’Awstats
Présentation
Awstats 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 !
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