Apache HTTP Server Version 2.0
I. Prerequisites
You must have Apache httpd-2.0.43
or newer (as of this writing, 2.0.47) already installed in order to build
and install mod_athena. If you have installed it in /usr/local/apache2
,
everything will just work.
II. Building
Get the latest mod_athena code.
tar xvfz athena-x.x
cd athena-x.x
adjust module/ath.h and module/ath_types.h if you want to tune the engine
make
--enable-athena (enables build of binary cmdline tool-- not working)
--with-apache2=(auto searches path if blank)
--with-doc-dir=(auto sets to /usr/local/www/data/mod_athena_doc if blank)
--with-cgi-bin=(auto sets to /usr/local/www/cgi-bin if blank)
--disable-client-id (Do not pass Netscape proxy style cookie client-id)
The X-Forwarded-For header already provides this data, and it also includes previous forwarding agents. The request originator is the first in the list, as long as upstream proxies honored this header. This header, "client-ip", mimics the old Netscape Proxy server's non-standard record of the last requester.--disable-debug (turn off debug messages and asserts)
You probably want to keep this. Very little overhead, and provides some useful info in the logs to tune shm/lock stuff on your platform.--disable-debugfunc (Turn off status/debug engine function
You probably don't need this. Useful for developers, it dumps configuration, farm, physical, and engine info formatted in a single response. Call as:your_athena_engine/status/debug?true
. It requires the?something_here
.
ATH_MAX_EMBED 16
Limits the number of engine requests embedded in a single GET. The engine allows an incoming GET to actually contain more than one engine request. This is the max. More on this topic in "Sending statistics." Also see directive "AthAllowDiverseMulti."
ATH_NAME_MAX 256
Max string length used for: farm names, physical hostnames, offline/down URLs. Kept low to cut down on shared memory size. Why use long names?
ATH_PHYS_HARDMAX 256
The maximum number of physicals allowed. Affects shared memory size (which is static). Tune higher if needed.
ATH_FARM_HARDMAX 32
The maximum number of farms allowed. Affects shared memory size (which is static). Tune higher if needed.
ATH_REQ_STATUS "/status" ATH_REQ_UPDATE "/update" ATH_REQ_BALANCE "/balance" ATH_REQ_MIRROR "/mirror" ATH_REF_HELLO "/hello" ATH_REQ_FARM "/farm" ATH_REQ_PHYS "/phys" ATH_REQ_ENGINE "/engine"
These are can all be change to shorter strings if you want to cut down on network traffic (come on, what's a couple bytes?).
III. Installation
Run make install
to install the module in the
modules directory of your apache2 installation. You should
see "libath.so" show up there. If your doc-dir is set properly, this will
also install docs. Likewise, if your cgi-bin was set correctly, this will
install the perl module and app.
The next three topics provide advice on configuring the engine.