29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
29-01-2012 : Parce que nous sommes un peuple debout, agissons pour rester dignes et responsables !
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / Internet / AWStats / AWStats : messages d'erreur





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox

AWStats : messages d'erreur

Date de publication: le samedi 14 juillet 2007 à 04h07
Dernière modification: par Pascal BOYER le dimanche 16 mars 2008 à 13h59
« Article précédent: AWStats : installer
» Article suivant: AWStats : sécurité et cron

Quelques messages d'erreur

L'installation de AWStats 6.7 peut vous amener à rencontrer certains messages d'erreur. Je vous propose ici des solutions à certains d'entre eux.

Accès aux scripts refusé

Le premier message d'erreur auquel vous pouvez être confronté est relatif à l'accès aux scripts perl par le serveur Apache. Au moindre problème d'accès, le message ci-dessous s'affiche dans le navigateur:

En regardant les droits du répertoire /usr/local/awstats-6.7/

ls -la /usr/local/awstats-6.7/

total 28
 drwxr-x---  5 root root  4096 2007-07-07 13:05 .
 drwxrwxrwx 13 root staff 4096 2007-07-14 02:50 ..
 drwxr-x---  3 root root  4096 2006-01-28 22:45 docs
 -rw-r-----  1 root root  6717 2007-07-03 00:09 README.TXT
 drwxr-x---  4 root root  4096 2006-01-28 22:22 tools
 drwxr-x---  7 root root  4096 2006-01-28 22:21 wwwroot

...on constate que le serveur web n'a aucun droit sur les fichiers et répertoires. La commande ci-dessous remédie au problème en modifiant récursivement le groupe propriétaire:

chown -R root:www-data /usr/local/awstats-6.7/

eZ publish ne veut pas afficher AWStats

Sous eZ publish, il est fort probable que votre serveur web Apache contienne une (voire plusieurs) section VirtualHost vous permettant, par exemple, de supprimer l'affichage de index.php dans les URI formés par eZ publish.

Supposons:

...alors, arrivé au paragraphe Utiliser AWStats de l'article sus-citer, vous pouvez, avec une URI de type:

http://www.luxpopuli.fr/awstats/awstats.pl?config=www.luxpopuli.fr

...vous heuter à ce message d'erreur:

Pour y remédier, il suffit d'ajouter la ligne suivante:

RewriteRule ^/awstats - [L]

à la liste des règles de réécriture du fichier httpd.conf, exactement comme pour l' exemple de phpMyAdmin .
Ne reste plus alors qu'à relancer Apache:

/etc/init.d/apache restart

Restarting apache 1.3 web server....

Pas de module CGI

Si le module CGI n'est pas configuré pour être chargé par le serveur Apache, alors toute exécution du script awstats.pl à partir de votre navigateur, comme c'est le cas avec cet URI:

http://www.luxpopuli.fr/awstats/awstats.pl?config=www.luxpopuli.fr

...provoquera l'affichage de cette fenêtre:

Normalement, cela ne devrait pas se produire dans la mesure ou toutes les versions précompilées de Apaches 1.3.x des distributions Linux sont compilées par défaut avec le module CGI intégré. Donc, lorsque vous installez Apache 1.3 vous obtenez, entre autres, ce fichier:

vi /etc/apache/modules.conf

# Autogenerated file - do not edit!
# This file is maintained by the apache package.
# To update it, run the command:
#    /usr/sbin/apache-modconf apache
ClearModuleList
AddModule mod_so.c
AddModule mod_macro.c
LoadModule config_log_module /usr/lib/apache/1.3/mod_log_config.so
LoadModule mime_magic_module /usr/lib/apache/1.3/mod_mime_magic.so
LoadModule mime_module /usr/lib/apache/1.3/mod_mime.so
LoadModule negotiation_module /usr/lib/apache/1.3/mod_negotiation.so
LoadModule status_module /usr/lib/apache/1.3/mod_status.so
LoadModule autoindex_module /usr/lib/apache/1.3/mod_autoindex.so
LoadModule dir_module /usr/lib/apache/1.3/mod_dir.so
LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so  <================ ICI !!!!!!!!!
LoadModule userdir_module /usr/lib/apache/1.3/mod_userdir.so
LoadModule alias_module /usr/lib/apache/1.3/mod_alias.so
LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so
LoadModule access_module /usr/lib/apache/1.3/mod_access.so
LoadModule auth_module /usr/lib/apache/1.3/mod_auth.so
LoadModule expires_module /usr/lib/apache/1.3/mod_expires.so
LoadModule setenvif_module /usr/lib/apache/1.3/mod_setenvif.so
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so

...qui charge automatquement le module CGI.

Access au fichier de log refusé

Une fois l'installation de AWStat réussie et sa page principale affichée, et si vous avez validé l'option permettant d'afficher en haut de cette page le lien Mise à jour immédiate, vous pouvez obtenir, en cliquant sur ce lien, non pas l'exécution du script awstats.pl, mais ceci:

La première chose à faire est de contrôler les droits sur les répertoires et fichiers de log du serveur Apache:

ls -la /var/log/apache/

total 47832
 drwxr-xr-x 2 root root     4096 2007-07-08 06:25 .
 drwxr-xr-x 7 root root     4096 2007-07-13 06:25 ..
 -rw-r----- 1 root adm  40025231 2007-07-14 05:31 access.log
 -rw-r----- 1 root root  5821826 2007-07-08 06:20 access.log.1
 -rw-r----- 1 root adm   1955005 2007-07-14 05:27 error.log
 -rw-r----- 1 root root  1097289 2007-07-08 06:25 error.log.1

Dans l'exemple ci-dessus, l'accès en lecture au répertoire /var/log/apache/ est possible pour le serveur web mais pas du tout pour les fichiers puisque le groupe Other n'a absolument aucun droit.

Une première chose à faire est de modifier le groupe propriétaire du fichier access.log:

chown root:www-data /var/log/apache/access.log

Mais le piège de ce problème vient du fait que les fichiers de log du serveur Apache sont régulièrement renommés (et compressés) puis recréés automatiquement avec des propriétaires et des droits prédéfinis. Le système qui gère cette rotation des fichiers de log (qui n'est pas propre seulement à Apache) est logrotate dont les fichiers de configuration sont placés dans le répertoire /etc/logrotate.d/
Voici le contenu du fichier de configuration de la rotation des fichiers de log de Apache:

vi /etc/logrotate.d/apache

/var/log/apache/*.log {
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 640 root adm
    sharedscripts
    postrotate
       if [ -f /var/run/apache.pid ]; then \
         if [ -x /usr/sbin/invoke-rc.d ]; then \
        invoke-rc.d apache reload > /dev/null; \
         else \
            /etc/init.d/apache reload > /dev/null; \
         fi; \
       fi;
    endscript
}

La huitième ligne de ce fichier indique au système que tout nouveau fichier de log sera créé:

  • avec pour propriétaire root
  • avec pour groupe adm
  • avec pour droits 640 (rw-r-----)

Vous devez-donc modifier correctement cette ligne afin de définir des droits suffisant pour le serveur Apache.

Accès au fichier dnscachelastupdate.www.luxpopuli.fr.txt refusé

Lorsque vous cliquez sur le lien Mise à jour immédiate, il est possible que s'affiche, en haut de page, ce message:

En regardant les droits sur les fichiers du répertoire /var/lib/awstats/:

ls -la /var/lib/awstats/

total 68
 drwxr-xr-x  2 www-data www-data  4096 2007-07-14 23:54 .
 drwxr-xr-x 29 root     root      4096 2007-07-14 01:26 ..
 -rw-r--r--  1 www-data www-data 51223 2007-07-14 23:54 awstats072007.www.luxpopuli.fr.txt
 -rw-r--r--  1 root     root      3074 2007-07-14 05:59 dnscachelastupdate.www.luxpopuli.fr.txt

...on voit immédiatement qu'il faut modifier le groupe propriétaire et ses droits pour que le serveur web puisse écrire dans le fichier dnscachelastupdate.www.luxpopuli.fr.txt:

chown root:www-data /var/lib/awstats/dnscachelastupdate.www.luxpopuli.fr.txt

chmod g+w /var/lib/awstats/dnscachelastupdate.www.luxpopuli.fr.txt

Ce qui permet d'ontenir:

ls -la /var/lib/awstats/

total 68
drwxr-xr-x  2 www-data www-data  4096 2007-07-15 01:35 .
drwxr-xr-x 29 root     root      4096 2007-07-14 01:26 ..
-rw-r--r--  1 www-data www-data 51537 2007-07-15 01:35 awstats072007.www.luxpopuli.fr.txt
-rw-rw-r--  1 root     www-data  3074 2007-07-14 05:59 dnscachelastupdate.www.luxpopuli.fr.txt

...et de pourvoir mettre à jour les statistique avec le lien Mise à jour immédiate.

Commentaires