URL: https://linuxfr.org/forums/astucesdivers/posts/apache-webalizer-et-geoip Title: apache webalizer et geoip Authors: robertix Date: 2017年01月17日T16:55:55+01:00 License: CC By-SA Tags: webalizer Score: 3 bonjour à tous pour avoir le camembert des origines des clients s'étant connectés sur un site web avec webalizer nous devons installer le paquet geoip-database sur l'ordinateur serveur http et paramétrer le fichier /etc/webalizer/webalizer.conf pour utiliser cette base de données cela converti les plages d'adresses ip dans les nationalités d'origines des clients ``` # The GeoIP option enables or disables the use of geolocation # services provided by the GeoIP library (http://www.maxmind.com), # if available. Values may be 'yes' or 'no, with 'no' being the # default. Note: if GeoDB is enabled, then this option will have # no effect (GeoDB will be used regardless of this setting). GeoIP yes # GeoIPDatabase specifies an alternate database filename to use by the # GeoIP library. If an absolute path is not given as part of the name # (ie: starts with a leading '/'), then the name is relative to the # default output directory. This option should not normally be needed. GeoIPDatabase /usr/share/GeoIP/GeoIP.dat ``` pour apache v2.4 https://httpd.apache.org/docs/current/fr/mod/mod_log_config.html https://httpd.apache.org/docs/2.4/fr/logs.html de plus il faut que les logs du serveur http dans /var/log/apache2/ (acces.log ou other_vhosts_access.log) soient dans le bon logformat pour l'utilisation de geoip-database nous avons dans /etc/apache2/apache2.conf 5 choix possibles de formats de logs d'acces clients ``` LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %O" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent ``` pour l'utilisation de geoip-database nous devons remplacer une ligne dans /etc/apache2/conf-available/other-vhosts-access-log.conf ``` # Define an access log for VirtualHosts that don't define their own logfile #CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log combined # vim: syntax=apache ts=4 sw=4 sts=4 sr noet ``` combined est le deuxième choix de logformat,les lignes de logs commenceront par les adresses ip des clients du serveur http redémarrer le serveur http,après quelques connexions clientes,vérifier le nouveau format des logs d'acces utiliser la commande webalizer sur le serveur pour actualiser les statistiques du site web le camembert apparaît dans webalizer en différentes couleurs selon les origines des clients cependant il peut exister d'autres méthodes d'interprétation des logs d'acces avec geoip celle là est fonctionnelle dans /etc/cron.daily nous avons logrotate et webalizer nous pouvons constater dans le fichier /etc/crontab que les commandes crons quotidiennes sont définies à 6 heures et 25 minutes et dans l'ordre alphabétique des fichiers dans /etc/cron.daily chaque jour à 6h25 logrotate transfert les logs acces.log dans acces.log.1 et ainsi de suite,c'est la rotation des logs puis webalizer récupère les données de acces.log.1 pour actualiser les statistiques de fréquentations du site c'est à dire tous les accès depuis 6h26 hier matin jusqu'à 6h24 ce matin donc les statistiques de webalizer d'aujourd'hui seront complétées le lendemain