dedibox | 23 juin, 2006 13:31
Comme j'ai un peu ramé pour installé awstats sur ma dédibox, j'ai décidé de faire ici un tutoriel, qui va en fait me servir de pense bête.
L'objectif est de pouvoir gérer l'ensemble des logs dans un seul et même fichier, et de pouvoir gérer plusieurs domaines bien distincts.
1/ Qu'est-ce que Awstats.Awstats est un outils statistique puissant d'analyse de logs apache.
2/ Installation
C'est la partie la plus simple, puisqu'une simple commande vous permet de l'installer sur votre serveur :
# sudo apt-get install awstats
Des fichiers ont été installés dans différents dossiers :
/etc/awstats -> contient les fichiers de configuration :
awstats.conf - awstats.conf.local
/usr/lib/cgi-bin -> contien le script perl awstats.pl
/var/lib/awstats -> contient les stats calculées (si vous voullez effacer vos stats, c'est la).
/usr/share/awstats -> contient les icons, plugins, lang et librairies (on ne touche à rien ici.
/usr/share/doc/awstats/ -> contient la doc, et des scripts d'exemples que nous n'utiliseront pas.
3/ Configuration d'un domaine
Nous allons ici procéder à une installation multidomaine. Commençons donc par créer un fichier de configuration pour notre premier domaine (cette opération sera à répéter pour chaque domaine).
# cd /etc/awstats
# sudo cp awstats.conf awstats.votredomaine.tld.conf
Nous allons éditer ce fichier et le configurer :
# sudo nano -w awstats.votredomaine.tld.conf
Trouver :
LogFile="/var/log/apache/access.log"
Remplacer par :
LogFile="/var/log/apache2/votredomaine.log"
SiteDomain=""
Indiquez votre domaine :
SiteDomain="votredomaine.tld"
Trouver :
Lang="auto"
Remplacer par :
Lang="fr"
Sauvegarder en tapant <CTRL>+<X> <Yes>
Le fichier de configuration est maintenant pret.
4/ Configuration d'Apache2
Nous allons maintenant modifier la configuration d'Apache2.
# cd /etc/apache2
# sudo cp apache2.conf apache2.conf.old (juste une copie de sauvegarde).
# sudo nano -w apache2.conf
Se rendre tout à la fin du fichier, et ajouter :
#
# Directives to allow use of AWStats as a CGI
#
Alias /awstats-icon/ /usr/share/awstats/icon/
<Directory /usr/share/awstats/icon>
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Pour qu'Apache tienne compte des nouvelles directives, il faut le relancer :
# sudo /etc/init.d/apache2 restart
5/ Le Vhost de votre domaine
Il faut également dire à votre Vhost d'enregistrer les logs dans /var/log/apache/votredomaine.log. Pour cela on va éditer le vhost apache :
# cd /etc/apache2/site-enabled/
# sudo nano -w votredomaine.tls.conf
on ajoute les lignes suivantes :
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/votredomaine.log combined
On relance apache :
# sudo /etc/init.d/apache2 restart
6/ Exécuter le script de mise à jour des stats.
On va lancer la commande à la main, il suffira ensuite de l'automatiser par un cron.
Lancer :
# sudo /usr/lib/cgi-bin/awstats.pl -config=votredomaine.tld -update
vous devriez avoir ce type de résultat :
Update for config "/etc/awstats/awstats.votredomaine.tld.conf"
With data in log file "/var/log/apache2/access.log"...
Phase 1 : First bypass old records, searching new record...
Direct access after last parsed record (after line 51)
Jumped lines in file: 51
Found 51 already parsed records.
Parsed lines in file: 4
Found 4 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 7 new qualified records.
Il ne reste plus qu'à visualiser le résultat dans votre navigateur :
http://sd-xxx.dedibox.fr/cgi-bin/awstats.pl?config=votredomaine.tld
6/ Automatisation de l'actualisation des stats.
Pour cela, il faut paramétrer une tache automatique dans le CRON, qui s'exécutera à intervalle régulier. Dans le cas présent, nous allons l'exécuter toutes les 24 heures, à 2 heures du matin.
# sudo crontab -e
Ajouter la ligne :
0 2 * * * perl /usr/lib/cgi-bin/awstats.pl -config=votredomaine.tld -update
Sauvergarder, et relancer crontab :
# sudo /etc/init.d/cron restart
7/ Rotation des logs
La rotation des logs a pour effet de supprimer les logs apaches, si une rotation intervient avant que les stats aient été lancées, on risque de perdre une partie des statistiques. Pour éviter ce problème, il suffit de lancer le script de mise à jour des stats juste avant que la rotation s'effectue.
Nous allons donc modifier le script de rotation des logs de la façon suivante :
# cd /etc/logrotate.d
# sudo nano -w apache2
Nous allons ajouter ces trois lignes juste avant postrotate :
prerotate
su - root -c "/usr/lib/cgi-bin/awstats.pl -config=votredomaine.tld -update > /dev/null"
endscript
On enregistre le tout, et c'est terminé.
Remerciements :
Ce billet a été réalisé à partir de deux tutos trouvés sur le net, la combinaison des deux m'a permis de paramétrer awstats sur ma dédibox tel que je le désirais.
loranger | 11/08/2006, 11:58
Merci aussi !
D'utilité publique, ce "blog pense-bête" !
Nbabs | 03/09/2006, 10:52
Merci pour ce tuto qui m'a bien aidé à installer awstats.
Il me reste néamoins quelques problèmes à résoudre: la reconnaissance du navigateur et du système ne fonctionne pas :( Y-a-t-il quelque chose à modifier pour faire fonctionner ces stats?
| « | juin 2006 | » | ||||
|---|---|---|---|---|---|---|
| lu | ma | me | je | ve | sa | di |
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | ||
Re: Installer Awstats
Fabrice | 12/07/2006, 15:47
Merci bcp je vais tester ca dessuite :)