Salut,
Il est temps pour moi de payer un peu ma dette envers vous… lol
AWSTATS analyseur puissant et complet des fichiers journaux de serveur
AWSTATS lenny
[b]
aptitude install awstats
Changez les choses suivantes dans /etc/awstats/awstats.conf[/b]
LogFile="/var/log/apache2/access.log"
SiteDomain="" (mettez votre domain)
Renommez le fichier en "awstats.(votre domain).conf (ex awstats.debian.conf)
Lancer le perl suivant avec votre nom de domaine à la place de débian
/usr/lib/cgi-bin/awstats.pl -config=debian -update
Ajouter ceci dans apache2.conf
Alias /awstats-icon/ /usr/share/awstats/icon/
<Directory /usr/share/awstats/icon>
Options None
AllowOverride None
Order allow,deny
Allow from all
Redémarrer apache2
/etc/init.d/apache2 restart
Accédez à votre page en faisant:
debian/cgi-bin/awstats.pl?config=debian
Pour monitorer plusieurs virtualhosts sur le même serveur apache2
1- dans chaque virtualhost demander un fichier log spécifique
<virtualhost *:80>
ServerName zebulon.com
ErrorLog /var/log/apache2/www.zebulon.com.log
CustomLog /var/log/apache2/www.zebulon.com.log combined
…
<virtualhost *:80>
ServerName pollux.com
ErrorLog /var/log/apache2/www.pollux.com.log
CustomLog /var/log/apache2/www.pollux.com.log combined
…
2- faire une conf de awstat par virtual host et bien faire attention à comment on nomme les fichiers.
fichier /etc/awstats/awstats.www.zebulon.com.conf
LogFile="/var/log/apache2/www.zebulon.com.log"
LogFormat = 1
LogType=W
DNSLookup=1
SiteDomain="zebulon.com"
HostAliases=“127.0.0.1 xx.xx.xx.xx zebulon.com zebulon.com"
DirIcons=”/awstats-icon"
AllowFullYearView=3
fichier /etc/awstats/awstats.www.pollux.com.conf
LogFile="/var/log/apache2/www.pollux.com.log"
LogFormat = 1
LogType=W
DNSLookup=1
SiteDomain="zebulon.com"
HostAliases=“127.0.0.1 xx.xx.xx.xx pollux.com pollux.com"
DirIcons=”/awstats-icon"
AllowFullYearView=3
dans HostAliases on peut mettre tous les noms et adresses IP par lesquels ce site est joignable (donc qui peuvent identifier ce site dans les logs apache).
3- intégrer nos fichiers de conf dans le cron de awstats
modifier le fichier /etc/cron.d/awstats
0,10,20,30,40,50 * * * * root /bin/sh /root/awstats.sh
et créer le fichier /root/awstats.sh
perl /usr/lib/cgi-bin/awstats.pl -config=www.zebulon.com -update > /dev/null
perl /usr/lib/cgi-bin/awstats.pl -config=www.pollux.com -update > /dev/null
pour ne rater aucune information, bien penser à lancer aussi le script /root/awstats.sh lors des logrotate de apache en inserant dans le fichier /etc/logrotate.d/apache2 les lignes
…
prerotate
/bin/sh /root/awstats.sh
endscript
…
vous remarquerez que l’on utilise plus du tout le fichiers /etc/awstats/awstats.conf par défaut.
4- accéder aux stats
pour chaque stat, utiliser une URL differente relative au fichier de conf de awstats
domain.com/cgi-bin/awstats.p … ebulon.com
domain.com/cgi-bin/awstats.p … pollux.com
Tâche cron
0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null
Mais si tu change de fichier de conf ça devra être :
0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.debian.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null
Enjoy