Introducing Apache
by Rael Dornfest
02/17/2000
Welcome to the first in a series of articles about Apache, the
most popular web server software available. In the coming weeks,
I'll talk about how to install Apache, its care and feeding,
simple tricks to keep it running smoothly, and powerful modules
you can add to extend its capabilities. If you'd like me to cover
anything in particular, feel free to post your suggestions to the
O'Reilly Network Apache Forum.
Your friends and colleagues have you convinced that Linux is the best
thing since Scandinavian furniture. You've got the box and the home
DSL line, and you're eager to reap the rewards of maintaining your very
own server. Now what?
More and more, individuals and small businesses are
reaching the functionality limits offered by canned mail- and web-hosting
solutions and are bringing their web sites in-house -- literally. The low
cost of bandwidth brought about by consumer DSL and increasingly simple Linux
installations is making inexpensive, feature-rich servers a reality.
The first job most people want their personal server to do -- and no,
it's not e-mail -- is to serve up web pages. And the web server software
of choice is usually Apache.
What is a Web Server?
Before we get into the particulars of Apache, let's talk about what a
web server is. A web server is a program that runs on a host computer
(also, confusingly enough, called a web server) that serves up web sites. In
other words, the web server program sits around awaiting requests
from visitors' web browsers for objects it has in its possession, and
then sends these objects back for the visitor's viewing pleasure. Objects that web
servers can serve include HTML documents, plain text, images, sounds,
video, and other forms of data. These objects may not necessarily exist
in static form, but instead are generated on-the-fly by programs run by
the server; CGI scripts are the most common of these programs.
Web servers and browsers communicate using HTTP, Hypertext
Transfer Protocol, a simple but effective language for
requesting and transmitting data over a network. Thus, you'll sometimes
hear web servers referred to as HTTP servers.
Web servers come in various shapes and sizes. They run under a variety
of operating systems, have varying levels of power and complexity,
and range in price from rather expensive to free.
What's so special about Apache?
Apache is:
- Powerful -- Apache's performance and reliability is legendary.
- Feature-Rich -- The Apache server sports a host of features, including:
XML support, server-side includes, powerful URL-rewriting, and
virtual hosting, to name but a few. We'll be talking about
some of these features in future articles.
- Modular -- Looking for a feature not implemented in the core Apache server?
Chances are you'll find a module that can add the functionality
you need.
- Extensible -- Can't find a module that suits your purposes? Well, as Apache
is open source, you can write one yourself. In fact, you can
even make changes to the inner workings of Apache. All the
information you need is right there in the source code and numerous
online resources. Share your patches or modules with the community
by making them open source as well!
- Popular -- At the time of this writing, Apache holds a smidge under 60 percent
of the web server market. And, yes, popularity does count; help
abounds and is only a mailing list or newsgroup posting away.
- Free -- This is one instance where you don't necessarily get what you
pay for.
Where does Apache live?
Apache is maintained by the Apache Software Foundation's Apache Server Project
at http://www.apache.org.
Apache Resources
- The Apache Web Site
- Apache Mission and History
- Apache 1.3 User's Guide
- Apache Module Registry
- Mailing Lists
- The Apache Announcements Mailing List
- The O'Reilly Network Apache Forum
- Newsgroups
- comp.infosystems.www.servers.misc
- comp.infosystems.www.servers.unix
- comp.infosystems.www.servers.ms-windows
- Commercial Support for Apache
Tune in Next Time...
Getting, Installing, and Running Apache