Dernière
modification 3 novembre 2008
tar xvfz webalizer-2.01-10-src.tgz
Cela va nous créer un répertoire webalizer-2.01-10 . Puis dans le répertoire webalizer-2.01-10 en tant que simple utilisateur:
./configure --with-language=french --enable-dns
L'option enable-dns permet
d'avoir le nom de la machine qui s'est connecté sur le site
plutôt que son adresse IP, c'est quand même plus parlant.
On tape maintenant
make
Gloups je tombe sur cette erreur
webalizer.c:70:16: db.h: No such file or directory
Dans le fichier db.h au lieu de
#include <db.h>
J'écris
#include <db1/db.h>
Je fais pareil pour le fichier dns_resolv.c. On retape make et enfin en tant que root
make install
Voilà le résultat
/usr//bin/install -c webalizer /usr/local/bin/webalizer
/usr//bin/install -c -m 644 webalizer.1
/usr/local/man/man1/webalizer.1
/usr//bin/install -c -m 644 sample.conf /etc/webalizer.conf.sample
rm -f /usr/local/bin/webazolver
ln -s /usr/local/bin/webalizer /usr/local/bin/webazolver
Comme toujours si les chemins ne vous plaisent pas:
configure --help
Maintenant on crée le fichier de configuration en partant
d'un fichier exemple qui a été installé sous
/etc
cp /etc/webalizer.conf.sample /etc/webalizer.conf
Dans ce fichier on doit définir les paramètres
suivants, les fichiers qui seront pris en compte dans les stats
PageType
htm*
PageType cgi
#PageType phtml
PageType php
#PageType pl
Pour
que vos propres requêtes ne soient pas prises en compte
pour les visites (remplacez par votre nom de domaine)
HideSite
*kervao.fr
Pour
que vos visites ne soient pas prises en compte pour le compte des
"referers"
Pour
le domaine local
HideReferrer kervao.fr
Pour
les accès directs
HideReferrer Direct Request
pour
cacher les liens à partir de votre site
HideReferrer www.funix.org
pour
cacher les liens à partir de google
HideReferrer google
l'emplacement où se trouvera la base de donnée nécessaire à la résolution DNS
DNSCache
/usr/local/apache/webalizer/dns_cache.db
On doit définir également ce paramètre, je l'ai
fixé à 10 comme conseillé
DNSChildren 10
webalizer peut maintenant
être
appelé
régulièrement avec cron,
sur ma Mandriva, j'ai rajouté
le fichier webalizer (avec des droits en exécution)
sous /etc/cron.daily
Les stats seront donc mis à jour tous les jours.
NOTE
Si vous ne voulez pas que n'importe qui puisse lancer webalizer
, je vous invite à mettre des droits restreints sur
l'exécutable (limiter l'exécution à un
utilisateur ou un groupe).
webalizer /usr/local/apache/logs/access_log
access_log correspond au fichier de log d'Apache et /usr/local/apache/logs étant le chemin par défaut. Voilà le résultat:
Webalizer V2.01-10 (Linux 2.4.8-26mdk) French
Using logfile /usr/local/apache/logs/access_log (clf)
Creating output in current directory
Hostname for reports is 'asterix.kervao.fr'
History file not found...
Generating report for Juin 2002
Generating summary report
Saving history information...
3 records in 0.22 seconds
Si vous avez installé Apache avec les packages de la Mandrake, la commande à taper est
webalizer /var/log/httpd/access_log
Cela nous crée à l'endroit où vous avez tapé la commande les fichiers html suivants:
index.html
usage_200111.html
Et les graphiques suivants:
ctry_usage_200111.png
hourly_usage_200111.png
daily_usage_200111.png
usage.png
Je vous invite à cliquer ici pour voir ce que
ça
donne en vrai.
Si ça ne vous convient pas, vous pouvez rentrer des options
à webalizer, pour en avoir la liste:
webalizer -help
Par ailleurs vous pouvez définir une bonne fois pour toute
ces options dans le fichier webalizer.conf qu'on placera sous /etc.
Vous pouvez d'ailleurs trouver un webalizer.conf.sample sous /etc
pour vous inspirer.
webalizer peut maintenant
être appelé régulièrement avec cron, sur ma
Mdk, j'ai rajouté le fichier webalizer
(avec des droits en exécution) sous /etc/cron.daily
#!/bin/bash
cd /usr/local/apache/webalizer/online
/usr/local/bin/webalizer /usr/local/apache/logs/online-access_log
cd /usr/local/apache/webalizer/ohoarau
/usr/local/bin/webalizer /usr/local/apache/logs/ohoarau-access_log
Les stats seront donc mis à jour tous les jours.
NOTE Si vous ne voulez pas que n'importe qui puisse lancer webalizer
, je vous invite à mettre des droits restreints sur
l'exécutable (limiter l'exécution à un utilisateur
ou un groupe).
NOTEBIS si au lancement de vous obtenez comme erreur
Reading history file... webalizer.hist
Error: Skipping oversized log record
Error: Skipping oversized log record
Error: Skipping oversized log record
Error: Skipping oversized log record
Error: Skipping oversized log record
Error: Skipping oversized log record
C'est normal c'est juste un petit malin qui a envoyé une
requête hyper longue pour faire tomber votre serveur, il
semblerait que IIS soit sensible à ce genre d'attaque. Webalizer se contente d'ignorer ce
genre de stats.
Pour pouvoir faire les stats d'un site que vous n'hébergez
pas localement, c'est par ici.
tar xvfz awstats-6.8.tgz
Cela va nous donner le répertoire awstats-6.8. Dans un premier temps on va devoir modifier légèrement le fichier de config d'apache httpd.conf dans le cas où vous utilisez des hôtes virtuels, voici un exemple de configuration
<VirtualHost 192.168.13.11:1234>
ServerName funix.homelinux.org
DocumentRoot /roger/homepage/online
ErrorLog logs/online-error_log
TransferLog logs/online-access_log
CustomLog logs/online-access_log combined
</VirtualHost>
On doit mettre combined pour le paramètre CustomLog. N'oubliez pas de relancer apache en cas de modification
/etc/rc.d/init.d/httpd restart
Maintenant on doit créer le répertoire /etc/awstats
mkdir /etc/awstats
Pour la configuration d'awstats on ira dans le répertoire tools
cd awstats-6.8/tools
Dans le cas d'une mise à jour on tapera
awstats_updateall.pl now
-awstatsprog=/chemin-absolu/awstats-6.8/wwwroot/cgi-bin/awstats.pl
-configdir=/etc/awstats/
/etc/awstats est le
répertoire où se trouve les fichiers de configuration de
vos serveurs. Voilà le résultat
Running
'"/chemin-absolu/awstats-6.5/wwwroot/cgi-bin/awstats.pl" -update
-config=funix.homelinux.org:1234 -configdir="/etc/awstats/"' to update
config funix.homelinux.org:1234
Update for config
"/etc/awstats/awstats.funix.homelinux.org:1234.conf"
With data in log file
"/usr/local/apache/logs/online-access_log"...
Phase 1 : First bypass old records,
searching new record...
Direct access after last parsed record
(after line 26968)
Jumped lines in file: 26968
Found 26968 already parsed
records.
Parsed lines in file: 130
Found 52 dropped records,
Found 65 corrupted records,
Found 0 old records,
Found 13 new qualified records.
Running
'"/chemin-absolu/awstats-6.5/wwwroot/cgi-bin/awstats.pl" -update
-config=ohoarau.homelinux.org:1234 -configdir="/etc/awstats/"' to
update config ohoarau.homelinux.org:1234
Update for config
"/etc/awstats/awstats.ohoarau.homelinux.org:1234.conf"
With data in log file
"/usr/local/apache/logs/ohoarau-access_log"...
Phase 1 : First bypass old records,
searching new record...
Direct access after last parsed record
(after line 11746)
Jumped lines in file: 11746
Found 11746 already parsed
records.
Parsed lines in file: 0
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 0 new qualified records.
Running
'"/chemin-absolu/awstats-6.5/wwwroot/cgi-bin/awstats.pl" -update
-config=olivier.funix.org -configdir="/etc/awstats/"' to update config
olivier.funix.org
Update for config
"/etc/awstats/awstats.olivier.funix.org.conf"
With data in log file
"/usr/local/apache/logs/olivier/olivier.funix.org.log"...
Phase 1 : First bypass old records,
searching new record...
Direct access after last parsed record
(after line 6034)
Jumped lines in file: 6034
Found 6034 already parsed
records.
Parsed lines in file: 0
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 0 new qualified records.
Running
'"/chemin-absolu/awstats-6.5/wwwroot/cgi-bin/awstats.pl" -update
-config=www.funix.org -configdir="/etc/awstats/"' to update config
www.funix.org
Update for config
"/etc/awstats/awstats.www.funix.org.conf"
With data in log file
"/usr/local/apache/logs/funix/www.funix.org.log"...
Phase 1 : First bypass old records,
searching new record...
Direct access after last parsed record
(after line 13987)
Jumped lines in file: 13987
Found 13987 already parsed
records.
Parsed lines in file: 0
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 0 new qualified records
Dans le cas d'une première installation, on tapera (dans
l'exemple ci-dessous, je dispose de deux serveurs
Apache (version 1.3 et 2) avec les serveurs web virtuels
http://funix.homelinux.org:1234
et http://ohoarau.homelinux.org:1234) en tant que root
perl awstats_configure.pl
voilà le résultat
----- AWStats awstats_configure 1.0 (build 1.6) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to 'understand' all possible ways to use AWStats...
Read the AWStats documentation (docs/index.html).
-----> Running OS detected: Linux, BSD or Unix
Warning: AWStats standard directory on Linux OS is '/usr/local/awstats'.
If you want to use standard directory, you should first move all content
of AWStats distribution from current directory:
/usr/local/linux/web/awstats-6.6
to standard directory:
/usr/local/awstats
And then, run configure.pl from this location.
Do you want to continue setup from this NON standard directory [yN] ? y
ici il trouve les fichiers de configuration de mes deux serveurs
Apache
-----> Check for web server install
Found Web server Apache config file '/usr/local/apache/conf/httpd.conf'
Found Web server Apache config file '/usr/local/apache2/conf/httpd.conf'
Il modifie les deux fichiers
de configuration, il modifie également les fichiers pour mettre
à jour le format d'archivage des logs
-----> Check and complete web server config file '/usr/local/apache2/conf/httpd.conf'
Add '<Directory>' directive
AWStats directives added to Apache config file.
-----> Check and complete web server config file '/usr/local/apache/conf/httpd.conf'
Warning: You Apache config file contains directives to write 'common' log files
This means that some features can't work (os, browsers and keywords detection).
Do you want me to setup Apache to write 'combined' log files [y/N] ? y
Add 'Alias /awstatsclasses "/usr/local/linux/web/awstats-6.6/wwwroot/classes/"'
Add 'Alias /awstatscss "/usr/local/linux/web/awstats-6.6/wwwroot/css/"'
Add 'Alias /awstatsicons "/usr/local/linux/web/awstats-6.6/wwwroot/icon/"'
Add 'ScriptAlias /awstats/ "/usr/local/linux/web/awstats-6.6/wwwroot/cgi-bin/"'
Add '<Directory>' directive
AWStats directives added to Apache config file.
-----> Update model config file '/usr/local/linux/web/awstats-6.6/wwwroot/cgi-bin/awstats.model.conf'
File awstats.model.conf updated.
Il met à jour son propre fichier de configuration
-----> Update model config file '/usr/local/linux/web/awstats-6.6/wwwroot/cgi-bin/awstats.model.conf'
File awstats.model.conf updated.
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ?
on indique ici l'URL du serveur web à analyser (adresse:port)
-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> funix.homelinux.org:1234
Définition du chemin pour stocker les fichiers de configuration pour chaque serveur à analyser
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
>
Création du fichier de configuration du serveur mentionné plus haut
-----> Create config file
'/etc/awstats/awstats.funix.homelinux.org:1234.conf'
Config file /etc/awstats/awstats.funix.homelinux.org:1234.conf
created.
Apache est relancé automatiquement
-----> Restart Web server with '/sbin/service httpd restart'
/etc/init.d/httpd restart: httpd restarted
-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/linux/web/awstats-6.8/wwwroot/cgi-bin/awstats.pl -update
-config=funix.homelinux.org:1234
Or if you have several config files and prefer having only one command:
/usr/local/linux/web/awstats-6.8/tools/awstats_updateall.pl now
Press ENTER to continue...
A SIMPLE config file has been created:
/etc/awstats/awstats.funix.homelinux.org:1234.conf
You should have a look inside to check and change manually main
parameters.
You can then manually update your statistics for
'funix.homelinux.org:1234' with command:
> perl awstats.pl -update -config=funix.homelinux.org:1234
You can also read your statistics for 'funix.homelinux.org:1234' with
URL:
> http://localhost/awstats/awstats.pl?config=funix.homelinux.org:1234
Press ENTER to finish...
Il a créé un fichier de configuration pour le site
concerné /etc/awstats/awstats.funix.homelinux.org:1234.conf dans
ce fichier j'ai modifié les paramètres suivants:
- Celui qui indique le chemin du fichier de log brut à analyser
LogFile="/usr/local/apache/logs/online-access_log"
- pour activer la résolution de nom DNS
DNSLookup=1
- Celui qui contiendra les données obtenues
DirData="/usr/local/var/awstats"
- Pour indiquer le fichier index de votre site
DefaultFile="index.php"
- Pour ignorer les marchines de votre domaine
SkipHosts="127.0.0.1 REGEX[^192\.168\.13\.]
REGEX[\.kervao\.fr$]"
- Si votre site est identifié par une autre URL il faut la rajouter ici (mettre un espace comme champ séparateur)
HostAliases="funix.homelinux.org:1234"
Pensez à créer préalablement ce
répertoire
mkdir /usr/local/var/awstats
Pour voir si tout marche on se place maintenant en tant que root sous awstats-6.8/wwwroot/cgi-bin et on tape
./awstats.pl -config=funix.homelinux.org:1234 -update
Voilà le résultat
Update for config
"/etc/awstats/awstats.funix.homelinux.org:1234.conf"
With data in log file
"/usr/local/apache/logs/online-access_log"...
Phase 1 : First bypass old records,
searching new record...
Searching new records from beginning
of log file...
Phase 2 : Now process new records
(Flush history on disk after 20000 hosts)...
Jumped lines in file: 0
Parsed lines in file: 4255
Found 4 dropped records,
Found 6 corrupted records,
Found 0 old records,
Found 4245 new qualified records.
Sur les versions précédentes il y avait un léger bug, voilà une ligne typique de log
192.168.0.11 - -
[19/Feb/2004:10:58:17 +0100] "GET /images/journal.gif HTTP/1.1" 304 -
"http://funix.homelinux.org:1234/fr/linux/index.php?ref=tips&page=menu"
"Mozilla/5.0
(X11; U; Linux i686; fr-FR; rv:1.4) Gecko/20
030630"
Or parfois Apache archive ceci
192.168.0.11 - -
[19/Feb/2004:10:58:24 +0100] "GET / HTTP/1.1" 200 17493
A défaut d'information il laisse des champs vides et awstats
n'apprécie
guère (il n'analyse pas les logs...). Je n'ai pas le recul
suffisant pour savoir si ça était corrigé avec la
6.8.
Si vous avez un deuxième site virtuel, créer un autre
fichier /etc/awstats/awstats.mon-domaine-virtuel.conf
sur le même modèle que précédemment.
Dans mon cas il suffit de taper
cp /etc/awstats/awstats.funix.homelinux.org:1234.conf
/etc/awstats/awstats.ohoarau.homelinux.org:1234.conf
Dans ce fichier pensez à modifier les paramètres pour
l'URL et le fichier de logs d'Apache à analyser.
A noter que vu la méthode employée (voir chapitre
suivant) pour utiliser awstats,
j'ai supprimé les lignes qu'awstats
à rajouter dans mes fichiers de configuration d'Apache.
Si vous voulez utiliser awstats
en tant que cgi-bin accessible d'Apache,
vous devez laisser ces lignes.
Voilà quelques aperçus (non exhaustifs)




| [Retour page d'accueil FUNIX] | [retour haut de la page ] |