SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
As a Web professional responsible for building and maintaining Web servers, you will want to keep Apache Desktop Reference within easy reach. This compact, handy reference presents concise, easy-to-find information on every aspect of Apache functionality, installation, configuration, and operation.
In addition to the reference material, this book includes an introduction to the history and evolution of the Internet, HTTP, the Web, and Apache. It reviews Apache architecture, discusses building the Apache package from the distributed source code, and demonstrates the run-time configuration.
You will find indispensable features such as:
The companion Web site at www.apacheref.com holds a complete online version of the book, errata, and other related information.
Whether you are already an Apache expert or just learning, Apache Desktop Reference will answer the questions that come up on a daily basis and will offer concise explanations of essential topics.
Foreword.
Preface.
1. Introduction.
History and Evolution.
The Internet.
The Hypertext Concept.
The World Wide Web.
The Apache Group.
A Group of Volunteers.
The Apache HTTP Server Project.
The Apache Software Foundation.
Apache Architecture.
Apache Kernel Functionality.
Apache Module Functionality.
Core Functionality.
URL Mapping.
Access Control.
User Authentication.
Content Selection.
Environment Creation.
Server-Side Scripting.
Response Header Generation.
Internal Content Handlers.
Request Logging.
Experimental.
Extensional Functionality.
Sample Step-by-Step Installation.
File System Preparation.
Obtaining the Source Distribution.
Package Prerequisites.
Configuring the Apache Source Tree.
Building and Installing Apache.
Configuration Reference.
Configuration Variables.
General Options.
Stand-Alone Options.
Installation Layout Options.
Build Options.
suEXEC Options.
Configuration Special Topics.
Shadow Source Trees.
On-the-Fly Addition of Third-Party Modules.
Module Order and Permutations.
Configuration Terminology.
Resource Identifiers.
Pattern Matching Notations.
Configuration Structure.
Configuration Files.
Configuration Grammar.
Configuration Contexts.
Context Nesting.
Context Dependencies and Implications.
Context Merging and Inheritance.
Configuration Reference.
Core Functionality.
URL Mapping.
Access Control.
User Authentication.
Content Selection.
Environment Creation.
Server-Side Scripting.
Response Header Generation.
Internal Content Handlers.
Request Logging.
Experimental.
Extensional Functionality.
Command-Line Reference.
Apache Daemon Program.
Apache Control Program.
Online Resources.
Apache Itself.
Apache News.
Apache Support.
Apache Documentation.
Apache Modules.
Print Resources.
Apache Developer Books.
Apache User Books.
Apache-Related Standards.
Hypertext Transfer Protocol (HTTP).
Uniform Resource Identifier (URI).
Other Important Standards.
The best way to predict the future is to invent it.
--Alan Kay
On a monthly basis, Netcraft checks a representative set of web servers around the world to gather statistics about the server market. For its Web Server Survey 1 in April 2000 (see Figure 0.1 on the following page), more than 14 million web sites were contacted and their server software identified by parsing the HTTP responses.
According to Netcraft, as of April 2000, more than 60 percent of the servers were based on Apache--that is, more than 8 million web servers. Apache has been the market leader for more than three years now and has put a large distance between itself and its competitors (Microsoft Internet Information Server: 21 percent; Netscape server family and various others: less than 10 percent each). In other words, Apache is the definitive, world-leading web server software on the market and a drop in popularity is not expected in the next 12 months. On the contrary, its popularity is increasing.
Most webmasters who must manage and maintain an Apache server installation are already familiar with Apache, either through the online available documentation from the Apache Software Foundation (ASF) or through the various Apache books on the market. The purpose of this book is to provide a concise but, fairly complete reference to the various Apache knobs and levers with which the webmaster is confronted at compile time, configuration time, and runtime. Thus the audience of this book consists of web-masters who are already familiar with Apache, but who need a reference on a daily basis.
The book does not purport to explain Apache or to describe all referenced material in great detail. Instead, it serves as a companion to the various Apache tutorial-style books on the market. As a result, the book does not cover special topics like existing third-party modules, optimization of Apache under runtime, or use of Apache under non-UNIX platforms. If you are interested in those topics, consult one of the tutorial-style books.
This book is organized into six chapters.
Chapter 1, Introduction, discusses the history and evolution of the Internet, hypertext, and the World Wide Web and describes how Apache and the ASF fit into this world. This chapter is intended to provide a quick reference to historical Apache-related numbers and introduce the Apache world.
Chapter 2, Apache Functionality, considers the Apache program architecture, which consists of a core part and various extensional modules. A concise reference to the standard Apache modules follows this discussion. This chapter is intended to provide a compact overview of the Apache module world.
Chapter 3, Building Apache, covers building the Apache package from the distributed source codes. It first shows a typical Apache installation procedure step by step, then provides a reference to all Apache Autoconf-style Interface (APACI) options, and Finally discusses some special configuration issues like the Dynamic Shared Object (DSO) facility. This chapter is intended to help you install a reasonable Apache instance.
Chapter 4, Configuring Apache, focuses on the runtime configuration of Apache. It introduces the gory details of the Apache configuration files and contexts, then includes a complete reference of all configuration directives provided by all standard Apache modules. This chapter is the heart of this book.
Chapter 5, Running Apache, discusses ways to run the Apache web server and provides a reference to all command-line options. It is intended to provide the webmaster with a quick reference for the regular Apache start-up and restart situations.
Chapter 6, Apache Resources, lists the various other Apache resources that you can consult to obtain details on a topic. It provides references to the most important Apache resources on the Internet.
The most reasonable approach to reading this book is to first read the nonreference parts once and then to read the remaining parts only on demand. The first reading depends on your existing skill:
You are familiar with Apache in general, but you are not an expert.We recommend that you first read Chapter 1 for an introduction to the material, than read the first sections of Chapters 2 and 3 to refresh your knowledge of the Apache module architecture and the APACI facility. Next, very carefully read the first nonreference sections of Chapter 4, trying to understand how the Apache configuration contexts work. Finally, glance over the remaining chapters, which contain material that you can find later on demand.
You are an Apache expert. We recommend that you first read Chapter 1 to refresh your Apache background, followed by a careful reading of the first nonreference part of Chapter 4 to refresh your knowledge of Apache configuration context handling. Finally, glance over the remaining parts of the book, which contain material that you can find later on demand.
Your subsequent readings should occur only on demand or if you are interested in more details. Refer to Chapter 2 if you are searching for details on an Apache module, Chapter 3 if you want details on APACI options, Chapter 4 if you are seeking details on particular Apache configuration directives, Chapter 5 if you are searching for a command line directive, and Chapter 6 if you need more help.
We use italic text for special names and other highlighted terms. We use constant width
text to indicate configuration directives, commands entered at the command line, and other computer code.
This book has a companion web site at http://www.apacheref.com/, maintained by this book's author. Here you can find online versions of the reference materials and resource lists in this book, errata, and other information about this book and Apache.
Please address comments and questions concerning this book and its companion web site via e-mail directly to the author at rse@apacheref.com.