Mettez un manchot dans votre PC
Dernière modification 4
novembre 2021
tar xvfz webalizer-2.23-08-src.tgz
Cela va nous créer un répertoire webalizer-2.23-08 dans lequel on tape en tant que simple utilisateur:
./configure --with-language=french --enable-dns --enable-geoip
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, enable-geoip
permet d'avoir sa position géographique. On tape maintenant
make
et enfin en tant que root
make install
Voilà le résultat
mkdir -p /usr/local/bin
mkdir -p /usr/local/share/man/man1
mkdir -p /usr/local/etc
/usr/bin/install -c webalizer
/usr/local/bin/webalizer/usr/local/bin/webalizer -c
/usr/local/etc/webalizer-funix.org.conf
/usr/local/apache2/logs/funix.org/www.funix.org.log
/usr/bin/install -c wcmgr /usr/local/bin/wcmgr
rm -f /usr/local/bin/webazolver
ln -s webalizer /usr/local/bin/webazolver
/usr/bin/install -c -m 644 webalizer.1
/usr/local/share/man/man1/webalizer.1
/usr/bin/install -c -m 644 wcmgr.1 /usr/local/share/man/man1/wcmgr.1
rm -f /usr/local/share/man/man1/webazolver.1
ln -s webalizer.1 /usr/local/share/man/man1/webazolver.1
/usr/bin/install -c -m 644 sample.conf
/usr/local/etc/webalizer.conf.sample
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 /usr/local/etc
cp /usr/local/etc/webalizer.conf.sample /usr/local/etc/webalizer.conf
Dans ce fichier on doit définir les paramètres suivants,
le nom du fichier de log d'apache à analyserLogFile /usr/local/apache2/logs/hoarau.kervao.fr/access_log
l'emplacement des fichiers générés par webalizer
(attention de penser à créer préalablement le répertoire en
question)
OutputDir /usr/local/apache2/logs/webalizer
le nom du site à analyser
HostName hoarau.kervao.fr
les fichiers qui seront pris en compte dans les stats
PageType
htm*
PageType cgi
#PageType phtml
PageType php
#PageType pl
l'emplacement où se trouvera la base de donnée nécessaire à la résolution DNS
DNSCache /usr/local/apache2/logs/webalizer/dns_cache.db
le nombre de process
DNSChildren 5
on active la base de données de géolocalisation
GeoDB yes
emplacement
de la base
GeoDBDatabase
/usr/share/GeoDB/GeoDB.dat
on active
les informations géographiques liées aux adresses IP
GeoIP yes
emplacement de la base
GeoIPDatabase /usr/share/GeoIP/GeoIP.dat
on active l'affichage des drapeaux
CountryFlags
yes
emplacement du répertoire des drapeaux
FlagDir
/usr/local/apache2/logs/flags
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
Webalizer V2.23-08 (Linux 4.4.36-server-2.mga5 x86_64) French
Using logfile /usr/local/apache2/logs/hoarau-access_log (clf)
DNS Lookup (5): 2 addresses in 1 seconds, 2/sec
Using DNS cache file dns_cache.db
Using Webalizer GeoDB 20161201-1
Creating output in /usr/local/apache2/logs/webalizer
Hostname for reports is 'hoarau.kervao.fr'
History file not found...
Generating report for Octobre 2015
Generating report for Novembre 2015
Warning! 3 month gap detected! (11/2015 to 2/2016)
Generating report for Fevrier 2016
Generating report for Mars 2016
Warning! 9 month gap detected! (3/2016 to 12/2016)
Generating report for Decembre 2016
Saving history information...
Generating summary report
5429 records in 1 seconds, 5429/sec
Sinon la syntaxe est la suivante
webalizer /chemin-dacces/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
maintenant si vous avez plusieurs serveurs virtuels (ou autres) dont vous souhaitez traiter les logs via webalizer, vous allez créer autant de fichiers de configuration que vous avez de serveurs, chaque fichier est adapté à la config du serveur. Pour ne pas que tout se mélange, je vous suggère de définir une variable OutputDir d'un serveur à un autre. Voici les miens
/usr/local/etc/webalizer-online.conf
/usr/local/etc/webalizer-ohoarau.conf
webalizer peut maintenant être
appelé régulièrement avec cron, sur ma Mageia, 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 -c
/usr/local/etc/webalizer-online.conf
/usr/local/apache/logs/online-access_log
cd /usr/local/apache/webalizer/ohoarau -c
/usr/local/bin/webalizer -c /usr/local/etc/webalizer-ohoarau.conf
/usr/local/apache/logs/ohoarau-access_log
Les stats seront donc mis à jour tous les jours. L'option -c permet de
switcher d'un fichier de configuration à un autre.
NOTE 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-7.8.tar.gz
Cela va nous donner le répertoire awstats-7.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
systemctl restart httpd.service
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-7.8/tools
Dans le cas d'une mise à jour on tapera
perl awstats_updateall.pl now
-awstatsprog=/chemin-absolu/awstats-7.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-7.8/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-7.8/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-7.8/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-7.8/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 20140126) (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-7.8
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'
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-7.8/wwwroot/classes/"'
Add 'Alias /awstatscss
"/usr/local/linux/web/awstats-7.8/wwwroot/css/"'
Add 'Alias /awstatsicons
"/usr/local/linux/web/awstats-7.8/wwwroot/icon/"'
Add 'ScriptAlias /awstats/
"/usr/local/linux/web/awstats-7.8/wwwroot/cgi-bin/"'
Add '<Directory>' directive
AWStats directives added to Apache config file.
Il met à jour son propre fichier de configuration
-----> Update model config file
'/usr/local/linux/web/awstats-7.8/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] ? y
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'
Redirecting to /bin/systemctl restart httpd.service
-----> 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-7.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-7.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
- Répertoire où awstats va
stocker ses statistiques
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"
Pour lutter contre les spam referrers, vous devez activer la variable suivante
SkipReferrersBlackList="/etc/awstats/blacklist.txt"
avec un fichier blacklist.txt qu'on récupèrera sous awstats-7.8/wwwroot/cgi-bin/lib
Par ici on trouvera une blacklist nettement plus récente https://perishablepress.com/blacklist/ultimate-referrer-blacklist.txt
dans ce fichier d'après mes tests il semblerait que la première partie
qui commence par des RewriteCond ne
serve à rien pour awstats, elle
n'est utile que si vous filtrez
les SPAM referrers directement à l'accès sur votre site avec un
.htaccess attention cette méthode aura pour conséquence de
ralentir l'accès à votre site. Voir par ici
une discussion intéressante sur le sujet.
Ce n'est que la seconde partie qui est réellement utile et qui fonctionne avec awstats, elle commence par
# This is the URL blacklist from the
chongqed.org database
# it is available from http://blacklist.chongqed.org/
# You can use each line below as a regular expression
# that can be tested against URLs on your wiki.
# The last spammer was added on 2008-09-11 10:14:51
# Check http://blacklist.chongqed.org/ for updates
J'ai commencé à compléter la liste par les lignes suivantes
https?:\/\/([^\/]*\.)?proxtrail\.ru
https?:\/\/([^\/]*\.)?denterum\.ru
https?:\/\/([^\/]*\.)?profeservice\.ru
https?:\/\/([^\/]*\.)?bazakanstovarov\.com
https?:\/\/([^\/]*\.)?balkanfarma\.ru
https?:\/\/([^\/]*\.)?sobervoditel\.ru
https?:\/\/([^\/]*\.)?avtokor-23\.ru
https?:\/\/([^\/]*\.)?avtokor23\.ru
https?:\/\/([^\/]*\.)?xn--j1at1a.xn--p1ai
https?:\/\/([^\/]*\.)?rupolitshow\.ru
https?:\/\/([^\/]*\.)?vyezd-viyezd\.ru
https?:\/\/([^\/]*\.)?igru-2015\.ru
https?:\/\/([^\/]*\.)?jeribetejewu\.c0\.pl
https?:\/\/([^\/]*\.)?creditservise\.ru
https?:\/\/([^\/]*\.)?megamashiny\.com
https?:\/\/([^\/]*\.)?seoxbeep\.ru
https?:\/\/([^\/]*\.)?woman3050\.ru
https?:\/\/([^\/]*\.)?www.vselgoty\.ru
https?:\/\/([^\/]*\.)?playpokeronline\.dk
https?:\/\/([^\/]*\.)?medical\.in\.ua
https?:\/\/([^\/]*\.)?viagralevitradzheneriki\.ru
https?:\/\/([^\/]*\.)?\.com\.ua
https?:\/\/([^\/]*\.)?tasgroup\.it
https?:\/\/([^\/]*\.)?\.co\.ua
https?:\/\/([^\/]*\.)?kiev\.ua
https?:\/\/([^\/]*\.)?bringtwo\.net
https?:\/\/([^\/]*\.)?cleaningservices\.kiev\.ua
https?:\/\/([^\/]*\.)?studio-topkapi\.eu
https?:\/\/([^\/]*\.)?kruchen\.com\.ua
https?:\/\/([^\/]*\.)?freedom\.co\.ua
https?:\/\/([^\/]*\.)?bringtwo\.net
https?:\/\/([^\/]*\.)?studio-topkapi\.eu
https?:\/\/([^\/]*\.)?c0\.pl
https?:\/\/([^\/]*\.)?bazakanstovarov\.com
https?:\/\/([^\/]*\.)?xikiz\.com
https?:\/\/([^\/]*\.)?lesbianmilf\.xblog\.in
https?:\/\/([^\/]*\.)?pamyatniki-in-kiev\.com\.ua
https?:\/\/([^\/]*\.)?carivka\.com\.ua
https?:\/\/([^\/]*\.)?agent-05\.su
https?:\/\/([^\/]*\.)?websolution\.com\.ua
https?:\/\/([^\/]*\.)?pamjatnik\.com\.ua
https?:\/\/([^\/]*\.)?startimes\.com
https?:\/\/([^\/]*\.)?arktech\.co
https?:\/\/([^\/]*\.)?goohey\.com
https?:\/\/([^\/]*\.)?himalayan-imports\.com
https?:\/\/([^\/]*\.)?pizza-imperia\.com
https?:\/\/([^\/]*\.)?nowellgroup\.com
https?:\/\/([^\/]*\.)?ddrgame\.com
https?:\/\/([^\/]*\.)?torrinomedica\.it
https?:\/\/([^\/]*\.)?oliveriobalcells\.com
https?:\/\/([^\/]*\.)?giocagiocagioca\.com
pour que ça soit pris en compte avec awstats il faut effacer ce qu'il y a sous /usr/local/var/awstats/ et relancer awstats pour tous les fichiers de log hebdo
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-7.8/wwwroot/cgi-bin et on tape
./awstats.pl -config=funix.homelinux.org:1234 -update
Voilà le résultat
Create/Update database for config
"/etc/awstats/awstats.www.online.kervao.fr.conf" by AWStats version 7.8
(build 20200416)
From data in log file "/usr/local/apache2/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é.
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 ] |