Statistiques Web · 6 min read · Nov 26, 2025

Génération de statistiques de site Web avec AWStats et JAWStats sur Debian Lenny

Génération de statistiques de site Web avec AWStats et JAWStats sur Debian Lenny

Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter

Ce tutoriel explique comment vous pouvez générer des statistiques pour votre site Web avec AWStats et JAWStats sur un serveur Web Debian Lenny. AWStats est un outil gratuit, puissant et riche en fonctionnalités qui génère des statistiques avancées de serveur Web. JAWStats fonctionne en conjonction avec AWStats et produit des graphiques, des tableaux et des diagrammes clairs et informatifs sur vos visiteurs de site Web. AWStats est capable de créer des pages Web graphiques pour les statistiques, mais JAWStats présente ces données de manière beaucoup plus agréable - c’est beaucoup mieux organisé et utilise Ajax et Flash.

Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

Dans ce tutoriel, j’ai un site Web www.example.com (avec les alias example.com, www.example.net et example.net) avec le répertoire racine /var/www/www.example.com/web.

2 Installation et configuration d’AWStats

AWStats peut être installé comme suit :

aptitude install awstats

Sa configuration se trouve dans le répertoire /etc/awstats/. Pour chaque hôte virtuel, nous devons avoir un fichier de configuration nommé awstats..conf dans ce répertoire (c’est-à-dire, pour notre site Web www.example.com, nous avons besoin du fichier de configuration awstats.www.example.com.conf). Nous pouvons utiliser le fichier /etc/awstats/awstats.conf comme modèle :

cd /etc/awstats/
cp awstats.conf awstats.www.example.com.conf
vi awstats.www.example.com.conf

Modifiez les paramètres suivants :

| [...] LogFile="/var/log/apache2/access.log" [...] LogFormat=1 [...] SiteDomain="www.example.com" [...] HostAliases="example.com www.example.net example.net" [...] |

LogFile doit contenir le chemin vers le journal d’accès Apache de votre hôte virtuel ou le journal d’accès Apache global (celui pour tous les sites ; AWStats est capable de filtrer les enregistrements qui n’appartiennent pas à votre site Web). Si vous avez un nom de fichier dynamique (par exemple, parce qu’il contient une date, par exemple parce que votre journal d’accès est créé par cronolog ou vlogger), vous pouvez utiliser des espaces réservés, par exemple comme ceci :

LogFile="/var/log/httpd/access.log_%YYYY-0_%MM-0_%DD-0"

Cela est expliqué dans les commentaires du fichier de configuration AWStats comme suit :

“LogFile” contient le fichier journal du serveur Web, ftp ou mail à analyser.
Valeurs possibles : Un chemin complet, ou un chemin relatif depuis le répertoire awstats.pl.
Exemple : “/var/log/apache/access.log”
Exemple : “../logs/mycombinedlog.log”
Vous pouvez également utiliser des balises dans ce nom de fichier si vous avez besoin d’un nom de fichier dynamique
dépendant de la date ou de l’heure (Le remplacement est effectué par AWStats au début
de son exécution). Voici les balises disponibles :
%YYYY-n est remplacé par l’année à 4 chiffres il y a n heures
%YY-n est remplacé par l’année à 2 chiffres il y a n heures
%MM-n est remplacé par le mois à 2 chiffres il y a n heures
%MO-n est remplacé par le mois à 3 lettres il y a n heures
%DD-n est remplacé par le jour il y a n heures
%HH-n est remplacé par l’heure il y a n heures
%NS-n est remplacé par le nombre de secondes à 00:00 depuis 1970
%WM-n est remplacé par le numéro de semaine dans le mois (1-5)
%Wm-n est remplacé par le numéro de semaine dans le mois (0-4)
%WY-n est remplacé par le numéro de semaine dans l’année (01-52)
%Wy-n est remplacé par le numéro de semaine dans l’année (00-51)
%DW-n est remplacé par le numéro de jour dans la semaine (1-7, 1=dimanche)
utilisez n=24 si vous en avez besoin (1-7, 1=lundi)
%Dw-n est remplacé par le numéro de jour dans la semaine (0-6, 0=dimanche)
utilisez n=24 si vous en avez besoin (0-6, 0=lundi)
Utilisez 0 pour n si vous avez besoin de l’année, du mois, du jour, de l’heure…
Exemple : “/var/log/access_log.%YYYY-0%MM-0%DD-0.log”
Exemple : “C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log”
Vous pouvez également utiliser un pipe si le fichier journal provient d’un pipe :
Exemple : “gzip -d S’il y a plusieurs fichiers journaux provenant de serveurs de répartition de charge :
Exemple : “/pathtotools/logresolvemerge.pl *.log |”

Vous utilisez probablement le format de journal combiné d’Apache, donc vous devriez utiliser LogFormat=1 (encore une fois, jetez un œil aux commentaires dans le fichier pour trouver le bon format, mais dans la plupart des cas, vous utilisez le format de journal combiné d’Apache).

SiteDomain : Spécifiez le domaine principal de votre site Web ( www.example.com dans ce cas).

HostAliases : Spécifiez tous les autres domaines/sous-domaines utilisés pour accéder à votre site Web ( example.com, www.example.net, example.net dans cet exemple).

Ensuite, nous créons un travail cron pour exécuter AWStats toutes les neuf minutes :

crontab -e  

| 9,19,29,39,49,59 * * * * /usr/lib/cgi-bin/awstats.pl -config=www.example.com -update >/dev/null |

(Si vous avez un journal d’accès dynamique, comme créé par cronolog ou vlogger, il est judicieux d’inclure la minute 59 dans le travail cron afin qu’AWStats puisse traiter le journal d’accès actuel à 23:59h avant qu’un nouveau journal d’accès ne soit créé à 0:00h - de cette façon, vous ne perdez qu’une minute entre 23:59h et 0:00h dans vos statistiques.)

3 Installation et configuration de JAWStats

Allez sur http://www.jawstats.com/download, téléchargez la dernière version de JAWStats, décompressez-la sur votre PC et téléchargez-la dans un répertoire de votre site Web www.example.com, par exemple avec FTP. Dans ce tutoriel, je la télécharge dans le répertoire /var/www/www.example.com/web/jawstats.

Ensuite, nous devons renommer config.dist.php en config.php et le modifier :

mv /var/www/www.example.com/web/jawstats/config.dist.php /var/www/www.example.com/web/jawstats/config.php
vi /var/www/www.example.com/web/jawstats/config.php

| "/var/lib/awstats/", "updatepath" => "/usr/lib/cgi-bin/", "siteurl" => "http://www.example.com", "sitename" => "Mon site Web Example.com", "theme" => "default", "fadespeed" => 250, "password" => "secret", "includes" => "", "language" => "fr-fr" ); ?> |

Si vous souhaitez supprimer le lien “changer de site”, changez $bConfigChangeSites à false.

Si vous ne voulez pas que vos utilisateurs puissent mettre à jour les statistiques eux-mêmes, définissez $bConfigUpdateSites à false.

Après cela, nous avons le tableau $aConfig[“site1”] - renommez-le pour qu’il porte le nom de votre site ( $aConfig[“www.example.com”]). Définissez statspath sur /var/lib/awstats/ (n’oubliez pas le slash final !), updatepath sur /usr/lib/cgi-bin/, siteurl sur http://www.example.com, et spécifiez le nom de votre site Web sous sitename. Un mot de passe n’est nécessaire que si vous avez défini $bConfigUpdateSites à true (si vous autorisez vos utilisateurs à mettre à jour les statistiques via le navigateur, ils devront taper ce mot de passe).

C’est tout - après que le travail cron d’AWStats ait été exécuté pour la première fois (ce qui peut prendre beaucoup de temps pour les sites Web avec beaucoup de trafic, donc soyez patient), vous pouvez accéder à vos statistiques sous http://www.example.com/jawstats.

Voici quelques captures d’écran de ce à quoi cela peut ressembler :

4 Protéger par mot de passe le répertoire de sortie de JAWStats (optionnel)

Il est maintenant judicieux de protéger par mot de passe le répertoire /var/www/www.example.com/web/jawstats à moins que vous ne souhaitiez que tout le monde puisse accéder aux statistiques de votre site Web.

Pour ce faire, nous créons un fichier .htaccess dans /var/www/www.example.com/web/jawstats :

vi /var/www/www.example.com/web/jawstats/.htaccess

| AuthType Basic AuthName "Membres uniquement" AuthUserFile /var/www/www.example.com/.htpasswd require valid-user |

Ensuite, nous devons créer le fichier de mot de passe /var/www/www.example.com/.htpasswd. Nous voulons nous connecter avec le nom d’utilisateur admin, donc nous faisons ceci :

htpasswd -c /var/www/www.example.com/.htpasswd admin

Entrez un mot de passe pour admin, et c’est fait !

5 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.