Initial commit
This commit is contained in:
340
webalizer-2.23-08/INSTALL
Normal file
340
webalizer-2.23-08/INSTALL
Normal file
@ -0,0 +1,340 @@
|
||||
Installation instructions for The Webalizer
|
||||
|
||||
The Webalizer is distributed in either source or binary distributions,
|
||||
and installation is different for each type. Regardless of the type
|
||||
of installation, you need to obtain and un-tar/un-zip the distribution.
|
||||
For binary distributions, you should create a directory somewhere and
|
||||
chdir to it before unpacking the file. Source distributions will
|
||||
automagically create a directory for you (webalizer-x.xx-xx). If you
|
||||
are upgrading from a previous version, check the CHANGES file, and the
|
||||
README.FIRST file for important upgrade information.
|
||||
|
||||
|
||||
For Binary distributions
|
||||
------------------------
|
||||
|
||||
You should have all the files you need in the directory you created
|
||||
when you un-tarred/un-zipped the distribution file. The file
|
||||
'webalizer' in this directory is the binary executable. Copy this
|
||||
someplace useful, like /usr/local/bin or /usr/bin. A man page for
|
||||
The Webalizer is also supplied... If desired, copy the file
|
||||
'webalizer.1' to your local man directory (ie: /usr/local/man/man1).
|
||||
(You may also need to run 'makeinfo' or similar)
|
||||
|
||||
Note: There may also be platform specific installation instructions
|
||||
and/or usage notes supplied with the binary distribution. You
|
||||
should read them, as that will be your starting point if problems
|
||||
are encountered. Most of the binary distributions are submitted
|
||||
by users, and I cannot support them the same way I can the
|
||||
Linux binary distribution and the source code itself.
|
||||
|
||||
|
||||
For Source distributions
|
||||
------------------------
|
||||
|
||||
The Webalizer requires, at a minimum, the GD graphics library
|
||||
(http://www.libgd.org/), the PNG (portable network graphics)
|
||||
graphics library ( http://www.libpng.org/pub/png/ ), the Zlib
|
||||
compression library ( http://www.zlib.net/ ) and associated
|
||||
header files for these libraries. Most modern systems will have
|
||||
these libraries, but may or may not have the required header files
|
||||
for them unless you installed the 'dev' (development) versions
|
||||
(which include the required header files along with the libraries).
|
||||
Consult your systems documentation for specifics.
|
||||
|
||||
For native DNS and Geolocation (GeoDB) support, the Berkeley DB
|
||||
library (by sleepycat, now owned by Oracle) v4.1 or higher and
|
||||
associated header file is required.
|
||||
http://www.oracle.com/technology/products/berkeley-db/
|
||||
|
||||
For BZip2 support, the bzip2 compression library and header file is
|
||||
required. http://www.bzip.org/
|
||||
|
||||
For GeoIP geolocation support, the GeoIP library (by MaxMind, Inc.)
|
||||
and header file is required, along with a Country Edition database.
|
||||
http://www.maxmind.com/app/ip-location
|
||||
|
||||
|
||||
New style build:
|
||||
|
||||
The Webalizer source distribution now comes packaged with a GNU
|
||||
autoconf 'configure' script, which should allow you to simply type:
|
||||
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
Normal configure options apply, type ./configure --help to get a
|
||||
complete list. A few options in particular may be useful:
|
||||
|
||||
--sysconfdir=/etc
|
||||
|
||||
The sysconfdir switch specifies where the default configuration
|
||||
file (webalizer.conf) should be looked for. If not specified, the
|
||||
default of ${prefix}/etc is used.
|
||||
|
||||
--with-language=<language>
|
||||
|
||||
Allows you to specify the language to use. Check the /lang directory
|
||||
to see the available language choices. As an example, you could use
|
||||
|
||||
./configure --with-language=french
|
||||
|
||||
to compile the program using french (webalizer_lang.french) for output.
|
||||
You can also use the --without-language switch, which will use the
|
||||
default language (english).
|
||||
|
||||
--enable-dns
|
||||
|
||||
DNS lookup and native geolocation features are added if the required
|
||||
library (libdb) and header file (db.h) are found. DNS/GeoDB code is
|
||||
enabled at compile time by using the -DUSE_DNS compiler switch. For
|
||||
GeoDB lookups, a current geodb database is also required (available
|
||||
at ftp://ftp.mrunix.net/pub/webalizer/geodb).
|
||||
|
||||
--with-geodb=<path>
|
||||
|
||||
The default location for the GeoDB database is /usr/share/GeoDB but
|
||||
may be changed using this option.
|
||||
|
||||
--enable-bz2
|
||||
|
||||
BZip2 compression support will be added if the required library
|
||||
(libbz2) and header file (bzlib.h) are found. BZip2 code is
|
||||
enabled at compile time using the -DUSE_BZIP compiler switch.
|
||||
|
||||
--enable-geoip
|
||||
|
||||
GeoIP geolocation support will be added if the required library
|
||||
(libGeoIP) and header file (GeoIP.h) are found. No attempt is
|
||||
made to locate a valid Country Edition database, which is also
|
||||
required for GeoIP lookups to be performed. GeoIP code is
|
||||
enabled at compile time using the -DUSE_GEOIP compiler switch.
|
||||
|
||||
Some systems may require unusual settings that the configure script
|
||||
cannot determine. You can pass values to the script by setting
|
||||
environment variables. For example:
|
||||
|
||||
CC=c89 CFLAGS=-O LIBS=-lposix ./configure --with-language=german
|
||||
|
||||
Would allow you to set the compiler (c89) and various flags and
|
||||
libraries to use, which would then be passed to the configure script
|
||||
and eventually to the Makefile generated. It also will cause the
|
||||
program to be compiled using German instead of the English default.
|
||||
Additionally, the various --with-<package> and --with-<packagelib>
|
||||
options allow specification of non-standard locations for the
|
||||
various libraries and headers. For example, if you built the bzip2
|
||||
library in /src/bzip2, you could use:
|
||||
|
||||
./configure --with-bz2=/src/bzip2 --with-bz2lib=/src/bzip2 --enable-bz2
|
||||
|
||||
to specify where the bz2 header files (--with-bz2) and library
|
||||
(--with-bz2lib) are located. They should then be detected by
|
||||
the configure script and enabled. Please note that if you are
|
||||
linking against a shared library (ie: libbz2.so), then even though
|
||||
configure script finds the library, and The Webalizer compiles
|
||||
successfully, the program may FAIL when run because the systems
|
||||
run-time linking loader cannot find the library. If this happens,
|
||||
then you need to tell the loader where the library is, and is
|
||||
dependent upon what type system is being used. Some platforms
|
||||
require the path to the library to be placed in the LD_LIBRARY_PATH
|
||||
environment variable.. some (such as linux based platforms) use
|
||||
the ld.so.conf file and ldconfig program to configure the dynamic
|
||||
linker run-time bindings. Consult the documentation for your
|
||||
system specific requirements.
|
||||
|
||||
For package maintainers, the environment variable DESTDIR can be
|
||||
used to specify a root directory for installation. This is the
|
||||
top level directory under which all other directories will be
|
||||
placed when 'make install' is invoked, and allows binary packages
|
||||
to be easily built outside the normal root directory tree. For
|
||||
example, if you wish to build a binary package of The Webalizer
|
||||
under the /usr/pkg/webalizer-2.20 directory, you could type:
|
||||
|
||||
make install DESTDIR=/usr/pkg/webalizer-2.20
|
||||
|
||||
Which would then create the following directory tree:
|
||||
|
||||
/usr/pkg/webalizer-2.20/
|
||||
/usr/pkg/webalizer-2.20/etc/
|
||||
/usr/pkg/webalizer-2.20/etc/webalizer.conf.sample
|
||||
/usr/pkg/webalizer-2.20/usr/
|
||||
/usr/pkg/webalizer-2.20/usr/bin/
|
||||
/usr/pkg/webalizer-2.20/usr/bin/webalizer
|
||||
/usr/pkg/webalizer-2.20/usr/bin/webazolver -> webalizer
|
||||
/usr/pkg/webalizer-2.20/usr/bin/wcmgr
|
||||
/usr/pkg/webalizer-2.20/usr/man/
|
||||
/usr/pkg/webalizer-2.20/usr/man/man1/
|
||||
/usr/pkg/webalizer-2.20/usr/man/man1/webalizer.1
|
||||
/usr/pkg/webalizer-2.20/usr/man/man1/webazolver.1 -> webalizer.1
|
||||
/usr/pkg/webalizer-2.20/usr/man/man1/wcmgr.1
|
||||
|
||||
|
||||
If the configure script doesn't work for you.. please let me know
|
||||
(along with relevant info like system type, compiler, etc..) If you
|
||||
are able and can tweak something to make it work, let me know as well.
|
||||
|
||||
|
||||
Old style build:
|
||||
|
||||
If you have a platform that the configure script won't work on, or
|
||||
some other situation where you have to configure and build the
|
||||
source yourself, the file 'Makefile.std' is a "stock" Makefile
|
||||
that you can use to build the Webalizer. Copy or rename the file
|
||||
to 'Makefile', edit to match your system, and do the usual 'make'.
|
||||
This is a very generic Makefile, so expect to have to tweak it for
|
||||
your particular platform and configuration. If everything seems
|
||||
to have gone well, next type 'make install' to do a stock install.
|
||||
Again, you may want to tweak the Makefile for the install, or
|
||||
skip the 'make install' step completely (see below).
|
||||
|
||||
This will install the Webalizer on your system, and put a sample
|
||||
configuration file in /etc (named 'webalizer.conf.sample'). If
|
||||
you don't want to use the 'make install' method... just copy the
|
||||
file 'webalizer' to someplace useful, and you are ready to go :)
|
||||
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
When run, The Webalizer will read the specified log file and
|
||||
produce HTML output in the directory specified (or current
|
||||
directory if none). You may specify various configuration
|
||||
options either on the command line or in a configuration file.
|
||||
The format of the command line is:
|
||||
|
||||
webalizer [options] [log_file]
|
||||
|
||||
Where 'options' may be any of the valid command line options
|
||||
described in the README file. If a log filename is not given,
|
||||
input is taken from stdin. A typical command line might look
|
||||
something similar to:
|
||||
|
||||
webalizer /var/lib/httpd/logs/access_log
|
||||
|
||||
This will produce output in the current directory based on the
|
||||
logfile /var/lib/httpd/logs/access_log. Another example:
|
||||
|
||||
webalizer -c somehost.conf
|
||||
|
||||
This will read the configuration file somehost.conf, which
|
||||
should specify, among other things, the log filename and
|
||||
output directory to use. You can use 'webalizer -h' to get
|
||||
a list of available command line options, or view the file
|
||||
README for complete instructions on all available configuration
|
||||
options. You should note that The Webalizer will _always_
|
||||
look for a configuration file named 'webalizer.conf' in either
|
||||
the current directory or in /etc/, and will process that file
|
||||
_before_ any other configuration or command line options. If
|
||||
you run a single server, you may want to create a default
|
||||
configuration file and place it in the /etc/ directory. This
|
||||
will allow you to simply type 'webalizer' without the need to
|
||||
specify additional command line options.
|
||||
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
The Webalizer can be customized in many ways using either the
|
||||
command line or configuration files. To test The Webalizer,
|
||||
type: 'webalizer /var/lib/httpd/logs/access_log', changing the
|
||||
directory to wherever your log files are. After processing,
|
||||
you should have the output and a file named index.html which
|
||||
can be viewed with any browser. The Webalizer can accept many
|
||||
command line options as well, type 'webalizer -h' to view them.
|
||||
In addition to the command line options, The Webalizer can
|
||||
be customized using configuration files. There is a sample.conf
|
||||
file that is part of both the source and binary distributions
|
||||
that can be used as a 'template' for creating your own site
|
||||
configuration file. Just make a copy of the file and name it
|
||||
something like 'mysite.conf'. Edit the new file to match your
|
||||
particular setup and taste.
|
||||
|
||||
To test the new configuration file, type 'webalizer -c mysite.conf'
|
||||
(or whatever your configuration file is named). Fire up the
|
||||
browser and look at the results. If you rename your new
|
||||
configuration file to 'webalizer.conf', you will only need
|
||||
to type 'webalizer', and The Webalizer will use it as the
|
||||
default. See the README file for more on configuration and
|
||||
use of configuration files.
|
||||
|
||||
|
||||
Language Support
|
||||
----------------
|
||||
|
||||
Language support is provided as language specific header
|
||||
files that must be compiled into the program. If you don't
|
||||
have the source code, get it. If you can't compile the
|
||||
program yourself, ask a friend. The /lang/ directory of
|
||||
the distribution contains all supported languages at the
|
||||
time of release. Additional/updated language files will
|
||||
be found at ftp://ftp.webalizer.org/pub/webalizer/lang and
|
||||
are always the most current versions.
|
||||
|
||||
To build with language support, use the --with-language
|
||||
option of the configure script. This will automagically
|
||||
do for you the steps described below. If you can't use
|
||||
the configure script, you can manually select the language
|
||||
file to use.
|
||||
|
||||
In the webalizer source directory, you will find a symbolic
|
||||
link for the file webalizer_lang.h, and it will be pointing
|
||||
to the file webalizer_lang.english which is the default.
|
||||
Delete the link (ie: rm webalizer_lang.h) and create a new
|
||||
one to the language file you want The Webalizer to use
|
||||
(ie: ln -s lang/webalizer_lang.spanish webalizer_lang.h)
|
||||
and re-compile the program.
|
||||
|
||||
Note: The source distribution of The Webalizer contains all
|
||||
language support files that were available at the time.
|
||||
Additional/updated language files can be found at:
|
||||
ftp://ftp.webalizer.org/pub/webalizer/lang where I will
|
||||
put them as I receive them.
|
||||
|
||||
|
||||
Common Questions
|
||||
----------------
|
||||
|
||||
Q: Will it run on [some platform]
|
||||
A: If it is a *nix platform, it should without a problem. If it's
|
||||
something different, probably not and your on your own if you
|
||||
want to try to make it work.
|
||||
|
||||
Q: When I compile, I get "file not found" errors?
|
||||
A: Most likely, the compiler cant find the header files for one
|
||||
the required libraries. If they are someplace other than the
|
||||
standard locations (ie: /usr/include), then you probably need
|
||||
to specify an alternate location to look using one of the
|
||||
--with-<package> command line switches when you run configure,
|
||||
or edit the Makefile and specify the location with an '-I<path>'
|
||||
compiler flag.
|
||||
|
||||
Q: I get "libgd not found' errors?
|
||||
A: You don't have the GD graphics located in a standard library
|
||||
path, or you don't have the GD graphics library at all. If
|
||||
the later, go to http://www.boutell.com/gd/ and grab a copy.
|
||||
If you do have it, add a -L switch in the Makefile to point
|
||||
to the proper location.
|
||||
|
||||
Q: I get unresolved symbol errors when compiling, why?
|
||||
A: This most often occurs when the GD library was built with
|
||||
additional support for such things as TrueType fonts or
|
||||
X11 graphics. The configure script for The Webalizer only
|
||||
checks that the gd library is available, and does not check
|
||||
any other dependencies it may have. Typically, to fix this
|
||||
problem, you need to edit the Makefile and add the dependent
|
||||
libraries to a compiler switch (or pass them on the command
|
||||
line when running the configure script). For example, if
|
||||
you are getting errors about not finding truetype routines,
|
||||
you may need to add '-lttf' (for 'libttf', the truetype library)
|
||||
to the "LIBS" variable.
|
||||
|
||||
Hint: I usually find it easier to just grab the GD library
|
||||
source, and compile it myself locally as a static
|
||||
library, in a directory just above where I compile The
|
||||
Webalizer. Then, at configure time, just add the
|
||||
'-with-gd=../gd' and '--with-gdlib=../gd' switches,
|
||||
and the GD graphic stuff will be statically linked into
|
||||
The Webalizer, eliminating any other library dependencies
|
||||
that the normal, shared library on my system may have.
|
||||
|
Reference in New Issue
Block a user