Webalizer

From YobiWiki
Revision as of 22:37, 24 November 2010 by <bdi>PhilippeTeuwen</bdi> (talk | contribs) (Reverted edits by Etegohy (Talk) to last revision by PhilippeTeuwen)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Converted with HTML::WikiConverter::MediaWiki from my old phpwiki site


Webalizer: un générateur d'HTML à partir des logs d'Apache (notamment)

  apt-get install webalizer

J'ai modifié sa config pour rencontrer mes besoins:


  HostName       www.teuwen.org
  HideSite       teuwen.org
  HideReferrer   teuwen.org
  GroupReferrer  reseaucitoyen.be
  GroupReferrer  yahoo.
  GroupReferrer  google.
  GroupReferrer  excite.com/
  GroupReferrer  infoseek.com/
  GroupReferrer  webcrawler.com/
  AllReferrers   yes
  AllSites       yes
  AllAgents      yes
  AllURLs        yes
  AllSearchStr   yes
  AllUsers       yes

J'ai créé /etc/apache/webalizer-create pour générer la DB de webalizer avec les anciens logs d'Apache:

 
#!/bin/bash
#Reconstitue les logs pour demarrer la DB de webalizer
LOG=/var/log/apache
 
function concat () {
gunzip $FILE*.gz
cat $(ls $FILE.??|tac;ls $FILE.?|tac|ls $FILE)>$FILE-temp
rm $FILE $FILE.*
mv $FILE-temp $FILE
}
 
mkdir -p $LOG/temp
cd $LOG/temp
 
for SITE in "" "mail-" "gallery-"
do
  FILE=${SITE}access.log
  cp $LOG/$FILE* $LOG/temp
  DIR=${SITE%-}
  concat
  mkdir -p /home/server/www/webalizer/$DIR
  webalizer -n ${DIR:-www}.teuwen.org -o /home/server/www/webalizer/$DIR $FILE
  rm $FILE
done

J'ai créé /etc/apache/webalizer-refresh pour mettre à jour la DB de webalizer avec les derniers logs d'Apache:

 
#!/bin/bash
#Met à jour les logs avec webalizer
LOG=/var/log/apache

cd $LOG
for SITE in "" "mail-" "gallery-"
do
  FILE=${SITE}access.log
  DIR=${SITE%-}
  mkdir -p /home/server/www/webalizer/$DIR
  webalizer -q -n ${DIR:-www}.teuwen.org -o /home/server/www/webalizer/$DIR $FILE
done

/etc/cron.daily/webalizer n'est maintenant plus qu'un appel à /etc/apache/webalizer-refresh


/etc/logrotate.d/apache contient maintenant


  prerotate
    /etc/apache/webalizer-refresh
  endscript

Résultat: