Every ISP needs a log file analysis program. One of the best is the
Webalizer, an open source product originally written in Perl
and rewritten in C soon thereafter. It can parse both Common Log Format and
Combined Log Format files at a blistering pace. One benchmark states
that On a 200Mhz pentium machine, over 10,000 records can be processed
in one second, with a 40 Megabyte file taking roughly 15 seconds (over
150,000 records). When one of my consulting clients approached me
looking for an open source log file analysis program to replace their
proprietary one, Webalizer was my top recommendation.
Installing webalizer can be a daunting task because one quickly runs
into dependency problems. Webalizer requires the gd graphics library
which in turn relies upon the jpeg, png, and zlib compression libraries.
Further complicating the installation is that most of these libraries
eschew the standard ./configure, make, make install syntax that is
typical for most open source installations. I will, therefore, take a
few moments to sketch out the installation process.
It is recommended that every one of these libraries be downloaded and
extracted into a common directory from which each can be built and
installed. It is particularly important for the png and zlib libraries
to be extracted in the same top level directory prior to building and
installing them. The order of installation is important.
First, download the jpeg library from http://www.ijg.org/
, unzip and untar the
files and cd into the jpeg-6b directory.
tar -xvpf zlib-1.1.3.tar
mv zlib-1.1.3 zlib
Third, download libpng from http://www.libpng.org/
tar -xvpf libpng-1.0.10.tar
mv libpng-1.0.10 libpng
The png library has a number of makefiles in the scripts directory that
are specific to different architectures. In my case:
cp scripts/makefile.linux makefile
You may, optionally, choose to download and install freetype fonts. It
is often difficult, however, to connect to the main sourceforge
site, but a list of mirrors can be found at: http://www.freetype.org/download.html