Awstats sous Apache
L'exécution de Awstats produit des fichiers texte dans le répertoire /var/lib/awstats
. Or il est plus intéressant d'avoir accès aux statistiques depuis un site Web. L'article suivant présente la mise en place sous Apache
Sommaire
Votre avis
Current user rating: 93/100 (3 votes)
|
|
Configuration sur site par défaut
L'application Awstats peut être exposée sous Apache. Lors de l'installation du serveur, un site par défaut est configuré. Il est donc possible d'ajouter les directive suivante, au niveau du fichier /etc/apache2/sites-available/default
.
#Alias /awstatsclasses "/usr/share/awstats/classes/"
#Alias /awstatscss "/usr/share/awstats/css/"
Alias /awstats-icon "/usr/share/awstats/icon/"
ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl
<Directory /usr/lib/cgi-bin/>
DirectoryIndex awstats.pl
UseCanonicalName off
Options +ExecCGI
AllowOverride Node
Order allow,deny
Allow from all
</Directory>
Attention, il existe déjà la définition des scriptions dans la configuration du site par défaut sous Ubuntu. La configuration suivante n'est donc pas reproduite:
<Directory /usr/lib/cgi-bin/>
DirectoryIndex awstats.pl
UseCanonicalName off
Options +ExecCGI
AllowOverride Node
Order allow,deny
Allow from all
</Directory>
Le fichier de configuration devient donc, pour une version d' Apace 2.2:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
# Deny from all
# Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
#Alias /awstatsclasses "/usr/share/awstats/classes/"
#Alias /awstatscss "/usr/share/awstats/css/"
Alias /awstats-icon "/usr/share/awstats/icon/"
ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl
</VirtualHost>
Cette configuration est inspirée de la documentation Ubuntu. Cependant, les répertoires suivants n'existe pas:
- /usr/share/awstats/classes/
- /usr/share/awstats/css/
C'est pourquoi la configuration est mise en commentaire.
Les statistiques sont alors disponibles par simple URL. Il ne faut pas oublier le /
à la fin de l'URL, donnant l'affichage suivant:
Lors d'une mise à jour du serveur Ubuntu, Apache a été mis à jour en version 2.4.6. Cependant, l'impact est assez conséquent, car il y a eu une refonte de la gestion des droits d'accès. Le fichier de configuration est le suivant:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
# Old configuration for APACHE 2.2
# Order allow,deny
# Allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
# Old configuration for APACHE 2.2
# Order deny,allow
Require all granted
# Deny from all
# Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
#Alias /awstatsclasses "/usr/share/awstats/classes/"
#Alias /awstatscss "/usr/share/awstats/css/"
Alias /awstats-icon "/usr/share/awstats/icon/"
ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl
</VirtualHost>
Configuration sur site dédié
Le paragraphe précédent a permis d'exposer les statistiques dans le site par défaut. Cependant, les accès à ce site sont alors tracés dans le fichier de log audité. Ce qui fait que les accès aux statistiques sont également audités, ce qui n'est pas forcément souhaité. Ce paragraphe détaille donc la mise en place d'un "Virtual Host" sous Apache dédié pour Awstats.
Dans un premier temps, il faut créer le nouveau "Virtual Host" sous Apache. Dans le cadre de ce site, il va être publié sous www.stats.jouvinio.net
. La configuration de ce host est écrite dans le fichier /etc/apache2/sites-available/stats
avec le contenu suivant:
<VirtualHost *:80>
ServerAdmin ejouvin@free.fr
ServerName www.stats.jouvinio.net
DocumentRoot /var/www/stats
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/stats>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error_stats.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access_stats.log combined
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
#Alias /awstatsclasses "/usr/share/awstats/classes/"
#Alias /awstatscss "/usr/share/awstats/css/"
Alias /awstats-icon "/usr/share/awstats/icon/"
ScriptAlias /awstats /usr/lib/cgi-bin/awstats.pl
</VirtualHost>
Dans cette configuration, la racine du site est spécifiée dans le répertoire /var/www/stats
, répertoire à créer:
#sudo mkdir /var/www/stats #sudo chown www-data:www-data /var/www/stats
Une fois tout ceci mis en place, il faut activer le site sous Apache en plaçant un lien dans le répertoire /etc/apache2/sites-enabled
. La configuration sera prise en compte après rechargement de la configuration Apache.
#sudo ln -s /etc/apache2/sites-available/stats /etc/apache2/sites-enabled/001-stats #sudo apache2ctl graceful
Cependant, l'accès à ce nouveau site va produire une erreur:
Lors de cet accès, le fichier de configuration correspondant au domaine est chargé, soit le fichier awstats.www.stats.jouvinio.net.conf
. N'étant pas présent, le fichier par défaut awstats.conf
est utilisé. Or le paramètre SiteDomain
dans celui-ci n'est pas sépcifié. C'est pourquoi une erreur est produite.
Afin d'obtenir les statistiques, il faut rajouter la configuration à utiliser au niveau de l'URL, qui devient donc http://www.stats.jouvinio.net/awstats/?config=www.jouvinio.net
.
Lors d'une mise à jour du serveur Ubuntu, Apache a été mis à jour en version 2.4.6. Cependant, l'impact est assez conséquent, car il y a eu une refonte de la gestion des droits d'accès. Le fichier de configuration est le suivant:
<VirtualHost *:80>
ServerAdmin ejouvin@free.fr
ServerName www.stats.jouvinio.net
DocumentRoot /var/www/stats
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/stats>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
# Old configuration for APACHE 2.2
# Order allow,deny
# Allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error_stats.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access_stats.log combined
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
# Old configuration for APACHE 2.2
# Order allow,deny
# Allow from all
Require all granted
</Directory>
#Alias /awstatsclasses "/usr/share/awstats/classes/"
#Alias /awstatscss "/usr/share/awstats/css/"
Alias /awstats-icon "/usr/share/awstats/icon/"
ScriptAlias /awstats /usr/lib/cgi-bin/awstats.pl
</VirtualHost>
Voir aussi
Documentation Ubuntu: http://doc.ubuntu-fr.org/awstats