How to setup Webalizer for large scale virtual hosting

Install webalizer:

aptitude install webalizer

Place the following script in /usr/local/sbin/webalizer-virtualhosts:

#!/bin/sh

logdir=/var/log/apache2
webalizerconf=/etc/webalizer/webalizer.conf
yesterdaysdate=`/bin/date -d "1 day ago" +%Y%m%d`

cd ${logdir}
for directory in *
do
  if [ -d ${directory} ]; then

    # Create webalizer directory if it does not exist
    if [ ! -d /var/www/${directory}/www/webalizer ]; then
      mkdir /var/www/${directory}/www/webalizer
      chown ${directory}:virtual /var/www/${directory}/www/webalizer
      chmod 705 /var/www/${directory}/www/webalizer
    fi

    # Run webalizer if the previous log file is found
    if [ -f ${logdir}/${directory}/${yesterdaysdate}-access.log ]; then
      /usr/bin/webalizer -c ${webalizerconf} -n ${directory} -s ${directory} -r ${directory} -q -T -o /var/www/${directory}/www/webalizer ${logdir}/${directory}/${yesterdaysdate}-access.log
      chown -R ${directory}:virtual /var/www/${directory}/www/webalizer
      chmod -R 604 /var/www/${directory}/www/webalizer/*
    fi

  fi
done

exit 0

And create the following at /etc/cron.daily/webalizer-virtualhosts:

#!/bin/sh
#
#  Call webalizer-virtualhosts script to generate stats reports
#
/usr/local/sbin/webalizer-virtualhosts > /dev/null 2>&1
exit 0

Set both scripts executable:

chmod 755 /usr/local/sbin/webalizer-virtualhosts
chmod 755 /etc/cron.daily/webalizer-virtualhosts

How to setup a central Webalizer to monitor all virtual hosts


Subscribe to the RSS feed for Andy's Debian HOWTOs

Article from Andy's Debian HOWTOs (http://www.besy.co.uk/debian/debian)

 
debian/how_to_setup_webalizer_for_multiple_websites.txt · Last modified: 2008/08/01 22:56 (external edit) · [Old revisions]
Recent changes RSS feed Powered by Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki