 |
Preface
Apache: The Definitive Guide is principally
about the Apache web server software. We explain what a web server is
and how it works, but our assumption is that most of our readers have
used the World Wide Web and understand in practical terms how it
works, and that they are now thinking about running their own servers
to offer material to the hungry masses.
This book takes the reader through the process of acquiring,
compiling, installing, configuring, and modifying Apache. We exercise
most of the package's functions by showing a set of example
sites that take a reasonably typical web business -- in our case,
a postcard publisher -- through a process of development and
increasing complexity. However, we have deliberately not tried to
make each site more complicated than the last. Most of the chapters
refer to an illustrative site that is as simple as we could make it.
Each site is pretty well self-contained so that the reader can refer
to it while following the text without having to disentangle the meat
there from extraneous vegetables. If desired, it is perfectly
possible to install and run each site on a suitable system.
Perhaps it is worth saying what this book is not. It is not a manual, in the sense of formally documenting
every command -- such a manual exists on the Apache site and has
been much improved with Version 1.3; we assume that if you want to
use Apache, you will download it and keep it at hand. Rather, if the
manual is a roadmap that tells you how to get somewhere, this book
tries to be a tourist guide that tells you why you might want to make
the journey.
It also is not a book about HTML or creating web
pages, or one about web security or even about running a web site.
These are all complex subjects that should either be treated
thoroughly or left alone. A compact, readable book that dealt
thoroughly with all these topics would be most
desirable.
A webmaster's library, however, is likely to be much bigger. It
might include books on the following topics:
The Web and how it works HTML -- what you can do with it How to decide what sort of web site you want, how to organize it, and
how to protect it How to implement the site you want using one of the available servers
(for instance, Apache) Handbooks on Java, Perl, and other languages Security
Apache: The Definitive Guide is just one of the
six or so possible titles in the fourth category.
Apache is a versatile package and is becoming more versatile every
day, so we have not tried to illustrate every possible combination of
commands; that would require a book of a million pages or so. Rather,
we have tried to suggest lines of development that a typical
webmaster should be able to follow once an understanding of the basic
concepts is achieved.
As with the first edition, writing the book
was something of a race with Apache's developers. We wanted to
be ready as soon as Version 1.3 was stable, but not before the
developers had finished adding new features. Unfortunately, although
1.3 was in "feature freeze" from early 1998 on, we could
not be sure that new features might not become necessary to fix newly
discovered problems.
In many of the examples that follow, the motivation for what we make
Apache do is simple enough and requires little explanation (for
example, the different index formats in Chapter 7, "Indexing"). Elsewhere, we feel that the webmaster needs
to be aware of wider issues (for instance, the security issues
discussed in Chapter 13, "Security") before making sensible
decisions about his or her site's configuration, and we have
not hesitated to branch out to deal with them.
0.1. Who Wrote Apache, and Why?
Apache gets its name from the fact that it
consists of some existing code plus some
patches. The FAQ[1] thinks that this is cute; others may think it's the
sort of joke that gets programmers a bad name. A more responsible
group thinks that Apache is an appropriate title because of the
resourcefulness and adaptability of the American Indian tribe.
[1]FAQ is netspeak
for Frequently Asked Questions. Most sites/subjects have an FAQ file
that tells you what the thing is, why it is, and where it is going.
It is perfectly reasonable for the newcomer to ask for the FAQ to
look up anything new to him or her, and indeed this is a sensible
thing to do, since it reduces the number of questions asked.
Apache's FAQ can be found at
http://www.apache.org/docs/FAQ.html.
You have to understand that Apache is free to its users and is
written by a team of volunteers who do not get paid for their work.
Whether or not they decide to incorporate your or anyone else's
ideas is entirely up to them. If you don't like this, feel free
to collect a team and write your own web server.
The first web server was built by the British physicist Tim
Berners-Lee at CERN, the European Centre for Nuclear Research at
Geneva, Switzerland. The immediate ancestor of Apache was built by
the U.S. government in the person of NCSA, the National Center for
Supercomputing Applications. This fine body is not to be confused
with the National Computing Security Agency or the North Carolina
Schools Association. Because this code was written with (American)
taxpayers' money, it is available to all; you can, if you like,
download the source code in C from
www.ncsa.uiuc.edu, paying due attention to the
license
conditions.
There were those who thought that things could be done better, and in
the FAQ for Apache (at
http://www.apache.org) we
read:
...Apache was originally based on code and ideas found in the most popular HTTP server of the time, NCSA httpd 1.3 (early 1995).
That phrase "of the time" is nice. It usually refers to
good times back in the 1700s or the early days of technology in the
1900s. But here it means back in the deliquescent bogs of a few years
ago!
While the Apache site is open to all, Apache is written by an invited
group of (we hope) reasonably good programmers. One of the authors of
this book, Ben, is a member of this group.
Why do they bother? Why do these programmers, who presumably could be
well paid for doing something else, sit up nights to work on Apache
for our benefit? There is no such thing as a free lunch, so they do
it for a number of typically human reasons. One might list, in no
particular order:
They want to do something more interesting than their day job, which
might be writing stock control packages for BigBins, Inc. They want to be involved on the edge of what is happening. Working on
a project like this is a pretty good way to keep up-to-date. After
that comes consultancy on the next hot project. The more worldly ones might remember how, back in the old days of
1995, quite a lot of the people working on the web server at NCSA
left for a thing called Netscape and became, in the passage of the
age, zillionaires. It's fun. Developing good software is interesting and amusing
and you get to meet and work with other clever people. They are not doing the bit that programmers hate: explaining to end
users why their treasure isn't working and trying to fix it in
10 minutes flat. If you want support on Apache you have to consult
one of several commercial organizations (see Appendix A, "Support Organizations"), who, quite properly, want to be paid for
doing the work everyone loathes.
 |  |  | | Copyright Page |  | 0.2. The Demonstration CD-ROM |
Copyright © 2001 O'Reilly & Associates. All rights reserved.
|
 |
|