There are many ways to process multiple virtual hosts on the same machine. The easiest way I have found, provided that each host generates it’s own log file, is as follows:
- Create a central directory for your configuration files. (I use /etc/webalizer)
- Make a configuration file for each virtual host and place them in the central directory. Each configuration file should have at least the HostName (domain), OutputDir and LogFile configuration settings specified. You probably will want to specify other settings specific to the domain, such as HideReferrer, HideSite and maybe some others as well. Name the file the same as the domain name, and end it with a .conf extension, so you can easily tell what vhost the configuration is for.
- To process all your virtual sites with a single command, a simple shell command can now be used:
for i in /etc/webalizer/*.conf; do webalizer -c $i; done
After you have it set up, to add a new host, all you need to do is create a new configuration file and put it in the directory. It will be automatically picked up the next time you run the command.