===== Webalizer =====
Webalizer est un logiciel permettant d'analyser l'utilisation des serveurs web en générant, à partir de leurs journaux d'accès (log), des comptes rendus sous forme de pages web. Diffusé sous licence GPL, c'est aujourd'hui un des outils d'administration de serveur web les plus utilisés (2005), en particulier sur les architectures LAMP.
Webalizer peut être installé depuis les paquets. L'article suivant présente une installation depuis les sources.
Le tutoriel ci dessous vous explique comment installer webalizer sur une machine dotée du proxy squid
**Depuis Webmin**
Webalizer nécessite un dossier, à indiquer dans Webmin, dans lequel il enregistrera les rapports générés. Créez donc un dossier ''webalizer'' dans le dossier personnel :
mkdir ~/webalizer
Puis installez le depuis la console webmin
**Depuis les sources**
Il est fortement conseillé d'installer la dernière version de Webalizer, disponible sur le site des créateurs. Attention ce n'est pas la même version que celle proposée sur webmin.
pour cela téléchargeons d'abord les sources:
wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.21-02-src.tgz
ensuite décompressons l'archive:
tar -zxvf webalizer-2.21-02-src.tgz
Vous obtenez alors le répertoire webalizer-2.21-02
On y accède:
cd webalizer-2.21-02
A ce stade, il est nécessaire d'installer des logiciels tiers afin de correctement compiler l'application;
Si les sources que je cite plus bas ne suffisent pas à correctement compiler webalizer, pensez à regarder le message d'erreur obtenu afin de savoir quoi installer, par exemple **checking for main in -lz... no
configure: error: z library not found.. please install libz
** vous indique que la librairie libz doit être installée avant de compiler.
sudo apt-get install zlib1g-dev
sudo apt-get install libpng12-dev
sudo apt-get install libgd2-noxpm-dev
Une fois ceci fait, on compile
./configure --with-language=french
make
sudo make install
L'opération terminée, vous trouverez un exemple de configuration dans **/usr/local/etc/webalizer.conf.sample**
Copions le afin d'avoir l'original sous la main en cas de problème
cd /usr/local/etc/
sudo cp webalizer.conf.sample webalizer.conf
Puis éditons le afin de le modifier
sudo nano webalizer.conf
Voici les lignes à décommenter/modifier
LogFile /var/log/squid/access.log
OutputDir /var/www/webalizer ## apache doit être installé! ##
HistoryName webalizer.hist
Incremental yes
IncrementalName webalizer.current
ReportTitle Statistiques Webalizer ##mettez ce que vous souhaitez voir apparaitre sur votre rapport##
HostName NomDuProxy
PageType htm*
PageType cgi
HTAccess yes ##si vous souhaitez gérer un accès par mot de passe aux statistiques de Webalizer.##
LinkReferrer yes ## lien html directement accessible depuis la page web##
TopSites 20
TopKSites 20
TopURLs 20
TopKURLs 20
TopReferrers 20
TopAgents 20
TopCountries 20
TopEntry 20
TopExit 10
TopSearch 20
TopUsers 20
ideSite *votredomaine.com
HideSite votredomaine.com
HideSite localhost
HideReferrer votredomaine.com
HideReferrer Direct Request ## les 5 lignes ci dessus afin de ne pas prendre en compte les accès locaux sur Squid ##
HideURL *.gif
HideURL *.GIF
HideURL *.jpg
HideURL *.JPG
HideURL *.png
HideURL *.PNG
HideURL *.ra
IgnoreSite localhost
IgnoreURL /taskbar*
SearchEngine.yahoo.com.p=
SearchEngine.altavista.com.q=
SearchEngine.google.com.q=
SearchEngine.google.fr.q=
SearchEngine.google.be.q=
SearchEngine.google.ca.q=
SearchEngine.google.co.ma.q=
SearchEngine.google.co.uk.q=
SearchEngine.eureka.com.q=
SearchEngine.google.ch.q=
SearchEngine.lycos.com.query=
SearchEngine.hotbot.com.MT=
SearchEngine.search.live.com.q=
SearchEngine.search.msn.com.q=
SearchEngine.infoseek.com.qt=
SearchEngine.webcrawler.searchText=
SearchEngine.excite..search=
SearchEngine.netscape.com.search=
SearchEngine.mamma.com.query=
SearchEngine.alltheweb.com.query=
SearchEngine.northernlight.com.qr=
De nombreuses options sont disponibles pour personnaliser le résultat, n'hésitez pas à regarde le fichier de conf principal
Nous avons enfin notre fichier de configuration prêt, avec dans mon exemple les résultats qui s'enregistreront dans /var/www/webalizer/
Nous pouvons lancer la commande:
sudo webalizer
Webalizer V2.21-02 (Linux 2.6.24-19-server i686) French
Using logfile /var/log/squid/access.log (clf)
Creating output in /var/www/webalizer
Hostname for reports is 'MonProxy'
Reading history file... webalizer.hist
Reading previous run data... webalizer.current
Saving current run data... [03/18/2009 13:51:06]
Generating report for Mars 2009
Saving history information...
Generating summary report
7293 records (3378 ignored) in 1 seconds, 7293/sec
Vous n'obtiendrez pas forcément le même résultat que l'exemple ci dessus, car la première fois webalizer indique qu'il n'a pas trouvé de fichiers plus anciens, ce qui est logique...
Vérifions que le rapport à bien été généré
cd /var/www/webalyser
ls -l
Qui me donne:
-rw-r--r-- 1 root root 2186 2009-03-17 15:48 ctry_usage_200903.png
-rw-r--r-- 1 root root 2823 2009-03-18 13:52 daily_usage_200903.png
-rw-r--r-- 1 root root 2076 2009-03-18 13:52 hourly_usage_200903.png
-rw-r--r-- 1 root root 3762 2009-03-18 13:52 index.html
-rw-r--r-- 1 root root 108635 2009-03-18 13:52 usage_200903.html
-rw-r--r-- 1 root root 2201 2009-03-18 13:52 usage.png
-rw-r--r-- 1 root root 579914 2009-03-18 13:52 webalizer.current
-rw-r--r-- 1 root root 2880 2009-03-18 13:52 webalizer.hist
Accédons y depuis un navigateur web
http://ipdemonproxy/webalizer/index.htm
Vous obtiendrez normalement cette magnifique page:
{{:tutoriel:webalizer.jpg|}}
Libre à vous ensuite de faire vos recherches selon le mois sélectionné.
**Générer un script pour lancer webalizer tous les jours**
Afin d'automatiser la tâche, il est nécessaire de rajouter un script.
cd /etc/cron.daily/
Puis créez un script:
sudo nano 0logrotate-webalizer
Entrez ensuite les paramètres suivants;
#!/bin/sh
sudo webalizer
/usr/sbin/logrotate /etc/logrotate.conf
Le script se lancera donc tous les jours, et exécutera webalizer.
//Auteur : [[:utilisateurs:geronimoO]].//