Webalizer

From YobiWiki
Revision as of 00:13, 2 March 2008 by <bdi>PhilippeTeuwen</bdi> (talk | contribs)
(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: