Installation de AWSTATS sur un serveur FAMP
Dans ce guide, nous allons aborder la mise en place de AWSTATS sur un serveur FAMP (FreeBSD, Apache, MysQL, PHP). AWSTATS est un outil d’analyse en temps réel de fichiers journaux, et particulièrement utilisé pour les statistiques d’utilisation du serveur Web Apache. Nous allons le configurer pour nous donner les statistiques d’accès au site publique des BTS SIO de neotech3, oser.neotech3.org.
Installation de AWSTATS depuis les ports
Profitant de l’infrastructurre des applications portées sous FreeBSD, il est aisé d’installer un logiciel depuis les sources, avec un accès facilité aux options de compilation :
$ cd /usr/ports/www/awstats $ make install clean
Le système télécharge les sources, installe automatiquement les dépendances, et installe l’application
Configuration de AWSTATS
AWSTATS est fourni avec un script PERL permettant une configuration semi automatique :
$ /usr/local/www/awstats/tools/awstats_configure.pl
----- AWStats awstats_configure 1.0 (build 1.9) (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: /opt/www/awstats 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 -----> Check for web server install Enter full config file path of your Web server. Example: /etc/httpd/httpd.conf Example: /usr/local/etc/apache(13/22)/httpd.confExample: /usr/local/apache2/conf/httpd.conf Example: c:\\Program files\\apache group\\apache\\conf\\httpd.conf Config file path ('none' to skip web server setup): > /usr/local/etc/apache22/httpd.conf -----> Check and complete web server config file '/usr/local/etc/apache22/httpd.conf' Add '<Directory>' directive AWStats directives added to Apache config file. -----> Update model config file '/opt/www/awstats/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 -----> 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: > oser.neotech3.org -----> 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): > /usr/local/etc/awstats -----> Create config file '/usr/local/etc/awstats/awstats.oser.neotech3.org.conf' Config file /usr/local/etc/awstats/awstats.oser.neotech3.org.conf created. -----> Don't forget to restart manually your web server -----> 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: /opt/www/awstats/cgi-bin/awstats.pl -update -config=oser.neotech3.org Or if you have several config files and prefer having only one command: /opt/www/awstats/tools/awstats_updateall.pl now Press ENTER to continue... A SIMPLE config file has been created: /usr/local/etc/awstats/awstats.oser.neotech3.org.conf You should have a look inside to check and change manually main parameters. You can then manually update your statistics for 'oser.neotech3.org' with command: > perl awstats.pl -update -config=oser.neotech3.org You can also read your statistics for 'oser.neotech3.org' with URL: > http://localhost/awstats/awstats.pl?config=oser.neotech3.org Press ENTER to finish...
Adaptation à la configuration au serveur
Nous souhaitons que AWSTATS nous donne des informations sur la fréquentation du blog WordPress.
Le VirtualHost WordPress maintient ses propres fichiers journaux, comme le montre l’extrait de la configration d’Apache :
LogFormat "%h %u %t \\"%r\\" %>s %b \\"%{Referer}i\\" \\"%{User-agent}i\\"" myLog CustomLog /var/log/wp-access.log myLog
Il nous faut donc modifier quelques lignes du fichier /usr/local/etc/awstats/awstats.oser.neotech3.org.con :
LogFile="/var/log/wp-access.log" LogFormat="%host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" HostAliases="oser.neotech3.org btssio.neotech3.org 127.0.0.1 localhost" DirData="/var/db/awstats"
Première mise à jour
Pour vérifier que tout est OK, nous lançons une mise à jour manuelle : $
$ perl /opt/www/awstats/cgi-bin/awstats.pl -update -config=oser.neotech3.org
Mise en place des CRONs
Enfin, il ne nous reste plus qu’à automatiser la mise à jour toutes les heures :
$ crontab -e ### AWSTATS * */1 * * * /opt/www/awstats/cgi-bin/awstats.pl -update -config=oser.neotech3.org
Consultation des statistiques
C’est ici : http://btssio.neotech3.org/awstats/awstats.pl?config=oser.neotech3.org