Installation awstats 6.7
Par Ludo le samedi 23 février 2008, 23:26 - Divers - Lien permanent
Bon un petit article sur la mise en place awstats, l'outil bien connu qui nous donne des stats de fréquentations et autres renseignements sur les visiteurs.
Awstats est un ensemble de script perl alors on commence par vérifier que notre apache possède le mod_perl.
# httpd -t -D DUMP_MODULES
Dans mon cas, je n'ai pas le module, on va commencer par l'installer, ici dans mon cas c'est un httpd 2.2.6 avec perl, libperl en version 5.8.8
# cd ~/work/ # wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz # tar xvzf mod_perl-2.0-current.tar.gz # cd mod_perl-2.0.3/ # perl Makefile.PL MP_APXS=/applis/httpd/bin/apxs \ > MP_APR_CONFIG=/applis/httpd/bin/apr-1-config
Si vous rencontrez des erreurs pendant la construction, vérifiez qu'il ne vous manque pas de dépendances, pour moi il manquait la libperl-dev. Si vous obtenez l'erreur suivante :
"undefined symbol: strlcpy"
Utiliser CPAN pour installer le module Cwd :
# cpan cpan> install Cwd
On installe :
# make # make test # make install
Une fois construit, ajouter dans votre htpd.conf et relancer apache :
LoadModule perl_module modules/mod_perl.so
Partie awstats
On installe et on réarrange tout ca :
# cd /applis/ # wget http://kent.dl.sourceforge.net/sourceforge/awstats/awstats-6.7.tar.gz # tar xvzf awstats-6.7.tar.gz # ln -sf awstats-6.7 awstats # cd awstats # rm -rf docs README.TXT # mv wwwroot html # mv html/cgi-bin . # rm -rf cgi-bin/plugins/example # mkdir -p lib/awstat # mkdir etc
Ce qui doit donner une arborescence comme celle là :
# tree -d
.
|-- cgi-bin
| |-- lang
| | |-- tooltips_f
| | |-- tooltips_m
| | `-- tooltips_w
| |-- lib
| `-- plugins
|-- etc
|-- html
| |-- classes
| | `-- src
| |-- css
| |-- icon
| | |-- browser
| | |-- clock
| | |-- cpu
| | |-- flags
| | |-- mime
| | |-- os
| | `-- other
| `-- js
|-- lib
| `-- awstats
`-- tools
|-- webmin
`-- xslt
On va construire le fichier de configuration pour le site, pour cela awstats possède un fichier de configuration type, on va se baser dessus pour faire le notre :
# sed -e '/^#.*/d; /^$/d' < cgi-bin/awstats.model.conf > etc/awstats.www.toto.com.conf
Ce qui nous donne un fichier épuré des commentaires et lignes vides. Dans le fichier de configuration, seules quelques lignes sont à renseigner pour obtenir une conf. fonctionnelle.
LogFile="/var/logs/httpd/toto.com.log" LogType=W LogFormat=1 LogSeparator=" " SiteDomain="toto.com" HostAliases="www.toto.com" DNSLookup=2 DirData="/applis/awstats/lib/awstats" DirCgi="/cgi-bin" DirIcons="/icon" [...]
On modifie les droits :
# chown -R httpd: {html,cgi-bin,lib}
Par contre nous allons devoir modifier la fichier awtstats.pl manuellement car notre chemin d'accès est différent de ce qu'attend awstats par défaut.
# vi cgi-bin/awstats.pl
Chercher la ligne (1156) et placer le répertoire qui contiendra vos fichiers de conf awstats pour chaque domaine :
else { @PossibleConfigDir=("/applis/awstats/etc/"); }
Niveau configuration apache
Configuration du vhost :
<VirtualHost *:7000>
ServerName awstats.toto.com
DocumentRoot /applis/awstats/html
DirectoryIndex awstats.pl
CustomLog /var/logs/httpd/awstats.toto.com.log combined
ErrorLog /var/logs/httpd/err_awstats.toto.com.log
Alias /awstatsclasses "/applis/awstats/html/classes/"
Alias /awstatscss "/applis/awstats/html/css/"
Alias /awstatsicons "/applis/awstats/html/icon/"
ScriptAlias /awstats/ "/applis/awstats/cgi-bin/"
<Location /awstats/>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
Order allow,deny
Allow from all
</Location>
<Directory "/applis/awstats/html">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Pour lancer la génération des stats :
# perl cgi-bin/awstats.pl -config=awstats.toto.com.conf update
A vous de rajouter cela dans vos crontabs et autres ...
Pour accéder à l'url de vos statistiques (supposant que le domaine de votre vhost soit awstats.toto.com) :
http://awstats.toto.com:7000/awstats/awstats.pl?config=www.toto.com
Perso, je déconseillerais de le laisser tel quel sur le net, un .htaccess pour protéger l'accès est indispensable.
Commentaires