Configurer sa Dédibox sous Ubuntu 6.06 LTS

Installer Awstats

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"

Trouver :

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.

Installer awstats par Lolib
installer Awstasts par SOSdédié

Commentaires

Re: Installer Awstats

Fabrice | 12/07/2006, 15:47

Merci bcp je vais tester ca dessuite :)

Re: Installer Awstats

loranger | 11/08/2006, 11:58

Merci aussi !
D'utilité publique, ce "blog pense-bête" !

Re: Installer Awstats

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?

Commenter
 authimage
 
Accessible and Valid XHTML 1.0 Strict and CSS
Powered by LifeType - Design by BalearWeb - Hébergé par Echosdunet, Actualité ADSL, Test ADSL et Comparatif ADSL