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
aptitude install awstats
Changez les choses suivantes dans /etc/awstats/awstats.confLogFile="/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.confAlias /awstats-icon/ /usr/share/awstats/icon/
<Directory /usr/share/awstats/icon>
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Redémarrer apache2/etc/init.d/apache2 restart
Accédez à votre page en faisant:http://debian/cgi-bin/awstats.pl?config=debianPour monitorer plusieurs virtualhosts sur le même serveur apache21- dans chaque virtualhost demander un fichier log spécifique
<virtualhost *:80>
ServerName
http://www.zebulon.com ErrorLog /var/log/apache2/www.zebulon.com.log
CustomLog /var/log/apache2/www.zebulon.com.log combined
.....
</virtualhost>
<virtualhost *:80>
ServerName
http://www.pollux.com ErrorLog /var/log/apache2/www.pollux.com.log
CustomLog /var/log/apache2/www.pollux.com.log combined
.....
</virtualhost>
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
http://www.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
http://www.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
http://www.domain.com/cgi-bin/awstats.p ... ebulon.comhttp://www.domain.com/cgi-bin/awstats.p ... pollux.comTâche cron0,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