Book Review: SAMS Teach Yourself Apache 2 in 24 Hours

Apache 2 has now been included in the "SAMS Teach Yourself in 24 Hours"
series since June 2002. The book is written by Daniel Lopez Ridruejo with
contributing author Ian Kallen. It is aimed at beginners and intermediate
users of Apache 2.0 on how to install, build, configure, customise,
monitor, and troubleshoot Apache 2.0 on a variety of platforms ranging
from Linux, Windows to other Unix flavours.

In line with the other books in this series, it contains 24 chapters known
as Hours meant for one hour of reading each with a "Q&A" section, and
a "Quiz" section at the end of each chapter to test how well you
understand what you have just read. Answers are provided for the quiz
section immediately after the questions so you don't have to worry about
figuring out the correct answers yourself. The
table of contents
can be found at its
companion website along
with three sample chapters, the errata, and a web page that tracks
Apache 2.0 updates since this book was published.

The 24 Hours are divided into three parts. Hours 1 to 10 which make up
the first part cover the internals and basics of Apache for you to get
Apache 2.0 up, running, and serving static and dynamic content. Part I
also includes setting up authentication and authorisation, customising
and analysing logs, manipulating environment variables, and using
Comanche and Webmin GUI to
configure Apache. Part II consists of Hours 11 to 17 about advanced
Apache topics namely multi-processing modules (MPMs), filters,
mod_dav, Microsoft FrontPage,
virtual hosts, proxy servers, performance tuning,
OpenSSL, and mod_ssl. The final
part (Hours 18 to 24) talks about installing additional modules,
PHP, mod_perl,
Tomcat, mod_rewrite, and
migrating to Apache 2.0 from previous versions of Apache or other
web servers such as Microsoft IIS and iPlanet.

The following Hours are singled out for being the crux of the book. Hour
2 introduces the new features that appear in Apache 2.0 such as MPMs,
filters, multiprotocol support, and the Apache Portable Runtime (APR)
but IPv6 support is not mentioned. It also touches on Apache architecture
and how requests are processed through several phases. The four main
MPMs (prefork, worker, perchild, and windows) are described in detail
in Hour 11 and tips are given on points to consider when choosing an
MPM during configuration before being compiled into the server. The
next Hour elaborates on filters by presenting three Apache modules
written as filters: mod_deflate,
mod_include, and mod_ext_filter
and showing how they can be configured. It doesn't delve into the
complex topic of writing your own Apache filter. The penultimate Hour
provides some general guidelines for migrating to Apache 2.0 from
previous versions of Apache, and other web servers such as
Miscrosoft IIS and iPlanet, while highlighting the pros and cons of
each migration.

Overall, this book is a scrumptious appetiser to a full course of Apache
2.0 because it leaves you hungry for more. Its explanation in layman
terms, and useful diagrams build the foundation for you to absorb more
in-depth information about Apache 2.0 from other sources as suggested
in the "Further Reading" section. However, the information it provides
is sufficient to enable Apache 1.3 users migrate to the second version.
Web server administrators who are new to Apache may find it useful to
read through the whole book and may take more than 24 hours to digest
its contents before moving on to a more advanced book. Apache 1.3 users
who are in a hurry can just focus on the Hours about Apache architecture
(Hour 2), multi-processing modules (Hour 11), filters (Hour 12), migration
to Apache 2.0 (Hour 23), and skim through all the rest of the Hours.

This
feature
brought to you by: Min Min Tsan
Comments or criticisms? Please email us at editors@apacheweek.com