Plugin Rawlog Awstats
Ce plugin va permettre d'accéder et de requêter dans le fichier de log produit par Apache directement depuis Awstats. Cela est pratique lorsque l'on veut visualiser les informations, par exemple après avoir constaté un accès à une heure précise.
Votre avis
Current user rating: 92/100 (2 votes)
|
|
Installation
Il n'y a rien de compliqué pour installer ce plugin. Il est déjà prêt à être activé dans les fichiers de configuration des sites. Il s'active en supprimant le caractère de commentaire.
# PLUGIN: Rawlog
# REQUIRED MODULES: None
# PARAMETERS: None
# DESCRIPTION: This plugin adds a form in AWStats main page to allow users to see raw
# content of current log files. A filter is also available.
#
#LoadPlugin="rawlog"
LoadPlugin="rawlog"
Bug configuration
Pour une installation sur une machine Ubuntu, sans paramétrage particulier, la première utilisation présente un message d'erreur concernant l'accès à la log.
Error: Couldn't open server log file "/var/log/apache2/access.log" : Permission denied
Setup ('/etc/awstats/awstats.www.jouvinio.net.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory).

Le message est suffisamment clair, le process ne peut accéder au fichier. Maintenant, reste à comprendre pourquoi donc, puisque les logs sont bien consommées pour génération des rapports. Le contenu du répertoire de log ressemble à ceci:
drwxr-x--- 2 root adm 4096 2012-03-09 01:51 ./ drwxr-xr-x 21 root root 4096 2012-03-10 07:58 ../ -rw-r----- 1 root adm 3187646 2012-03-10 11:31 access.log -rw-r----- 1 root adm 50140004 2012-03-04 07:47 access.log.1 -rw-r----- 1 root adm 87916 2012-03-10 11:31 error.log -rw-r----- 1 root adm 99040 2012-03-04 07:47 error.log.1 -rw-r----- 1 root adm 0 2012-02-28 07:38 other_vhosts_access.log -rw-r--r-- 1 root root 28045 2012-02-27 22:41 other_vhosts_access.log.1
Donc seul root
et les utilisateurs du groupe adm
peuvent avoir accès. Le process Apache étant lancé avec le compte www-data
, il est donc pas étonnant que l'accès au fichier ne puisse aboutir, ce qui est confirmée par:
#sudo su - www-data -c "cat /var/log/apache2/access.log" cat: /var/log/apache2/access.log: Permission non accordée
La solution la plus simple serait de rajouter le compte www-data
dans le groupe adm
. Cependant, cela pourrait être un peu radical et dangereux d'étendre les permissions de ce compte, qui est alors exposé via le site. Nous préférerons donc modifier les sécurités sur les fichiers pour accorder à www-data
le droit de lecture.
#sudo chown root:www-data /var/log/apache2/*
Cependant cela n'est pas suffisant, et le message d'erreur persiste. Cela provient de la sécurité sur le répertoire /var/log/apache2
, qui était aussi restrictive que pour les fichiers. Il ne fallait pas oublier de changer également celle-ci.
#sudo chown root:www-data /var/log/apache2
Bien entendu, cela n'est pas acceptable de devoir modifier les sécurités des fichiers à chaque fois. Il est nécessaire de modifier la configuration de Logrotate pour Apache, décrite dans l'article Logs Apache.
Rendu
En entête de page, un nouveau bandeau est présenté donnant accès à des fonctionnalités de recherche dans la log.

La zone de filtre va permettre de rechercher une chaîne de caractères dans la log. Par exemple, pour filtrer les accès du 10 Mars 2012, à 11h, il suffit de saisir 10/Mar/2012:11:
, à condition que les logs Apache soient en mode combined, dans la zone Filtre
.
