"Professional Apache" by Peter Wainwright is one of the many books in Wrox
Press Ltd's "Programmer to Programmer" series, aimed at experienced Apache
users and web server administrators who are using Apache for the first
time. It does not attempt to teach beginners the basics of web servers and
networks.
With only 11 chapters and 10 appendices, this book has the least chapters
compared with other Apache books. They are organised based on tasks with
the exception of the first chapter which provides a brief overview on
Apache, networking, and HTTP for the benefit of those new to Apache and web
servers. The book is very comprehensive and packed full of information with
emphasis on performance, security, and some popular third party modules
such as FastCGI, PHP3, ApacheJServ, mod_perl, and mod_ssl (including
openssl).
The book is written in a continuous narrative style with sufficient
examples and tables which make it easy to follow. The task-based
organisation of the chapters make it structured and relatively easy to
search for information, but it lacks eye-catching sections for notes, tips,
and warnings so does not encourage browsing. The chapters are organised in
a smooth and logical manner which starts with a short introduction to
Apache, whilst chapters two to four detail different methods of
installation, building Apache with various configuration parameters,
structure of configuration file, and some basic configuration directives.
More advanced topics include delivering customised and dynamic content, and
more heavy duty tasks such as fine-tuning performance, monitoring and
analysing log files with third party programs, and securing Apache with
mod_ssl. The final chapter provides detailed instructions on how to install
and use mod_perl, PHP3, and Apache Jserv.
Professional Apache does not list all the Apache directives one by one with
syntax and explanation, except for those directives provided by mod_jserv.
Instead the directives are introduced gradually through examples and
according to the tasks that they perform, exposing the reader to real-world
usage of these directives, leaving the lists of all the directives sorted
by module and name as appendices. This table of directives would be more
useful if it had an additional column referring to the page where a
particular directive appeared in the main text. Other appendices provide a
list of additional third party modules (commercial and non-commercial),
some commercial Apache variants, and a guick guide to regular expressions
used by Apache.
For those intending to set up a secure Apache server, extensive and
detailed information provides step-by-step details for building,
installing, and configuring the OpenSSL and mod_ssl libraries. Users are
shown how to install a private key, generate a certificate request and
temporary certificate, and apply for a signed certificate although it
doesn't cover setting up one's own private Certificate Authority.
The book doesn't go without some complaints. Some in the office complained
that the font of the main text was difficult to read after a long day's
VDU-gazing. More importantly, some explanations are not expressed clearly
enough to allow the meaning to sink in without the occasional paragraph
re-read, and some sections could benefit from diagrams to illustrate the
points.
The best way to make use of Professional Apache is to skim through it page
by page to get a general idea of where things are. Experienced Apache users
can then home in on the sections they are interested in, but first time
users are better off reading the first few chapters thoroughly. Once you
are familiar with the book's contents, it will make a fine reference guide.
If you attempt to read it for the first time at the same time whilst
installing, building, and configuring your first Apache web server, you may
find it takes longer compared with reading it first before using it for
reference.
Although the book seems to be targeted mainly for those administering
Apache under UNIX, other platforms such as Windows 95 and Windows NT crop
up in sections comparing Apache on UNIX with its Windows cousin, explaining
controlling Apache processes on Windows, and installing and testing PHP or
Apache JServe on Windows. Users interested specifically in using Apache on
Windows will have to decide for themselves whether these few sections are
enough to justify the £35.99 price tag.