| |
| |
Foreword | |
| |
| |
Acknowledgments | |
| |
| |
Introduction | |
| |
| |
| |
Apache Overview | |
| |
| |
| |
Introduction to Apache | |
| |
| |
What Is Apache? | |
| |
| |
Downloading Apache | |
| |
| |
| |
Apache 2.0 vs. Apache 1.3, IIS, and Sun One | |
| |
| |
Apache 2.0 | |
| |
| |
Apache Server 1.3 | |
| |
| |
Microsoft Internet Information Server | |
| |
| |
Sun One | |
| |
| |
| |
Configuring, Compiling, and Installing Apache | |
| |
| |
| |
Configuring Apache | |
| |
| |
Extracting the Source | |
| |
| |
Getting Ready to Configure | |
| |
| |
Running ./ configure on Unix and Mac OS X | |
| |
| |
| |
Compiling Apache | |
| |
| |
Unix | |
| |
| |
Windows | |
| |
| |
Building Modules Outside the Apache Source | |
| |
| |
| |
Installing Apache | |
| |
| |
Apache Installation Directories | |
| |
| |
Installing After Building | |
| |
| |
Installing a Binary Distribution | |
| |
| |
Starting Apache for the First Time | |
| |
| |
| |
Types of Modules | |
| |
| |
| |
Module Overview | |
| |
| |
What Are Modules Used For? | |
| |
| |
Categories of Standard Apache Modules | |
| |
| |
Phases of Request Processing | |
| |
| |
| |
Multi-Processing Modules | |
| |
| |
What Are MPMs? | |
| |
| |
Writing an MPM | |
| |
| |
| |
Standard Modules | |
| |
| |
The Module Structure | |
| |
| |
Command Table | |
| |
| |
Writing a Simple Module | |
| |
| |
| |
Apache Modules | |
| |
| |
| |
Setting Up a Basic HTTP Server | |
| |
| |
The Configuration File | |
| |
| |
The Essentials of Directives | |
| |
| |
HTTP Request/Response | |
| |
| |
When Errors Happen | |
| |
| |
| |
Authentication, Authorization, Accounting | |
| |
| |
Standard Apache AAA Modules | |
| |
| |
Where to Store Password Information | |
| |
| |
More Authentication Modules | |
| |
| |
| |
Building a Web Site | |
| |
| |
How It Used to Be Done | |
| |
| |
What Is Web-Based Distributed Authoring and Versioning? | |
| |
| |
Setting Up DAV on Your Web Site | |
| |
| |
DAV Clients | |
| |
| |
| |
Generating Content | |
| |
| |
Generators Included with Apache | |
| |
| |
Writing a Content Generator | |
| |
| |
| |
Filters | |
| |
| |
Setting Up Filters | |
| |
| |
Filters Included with Apache | |
| |
| |
How Filters Work | |
| |
| |
Writing an Output Filter | |
| |
| |
| |
What to Do When Your Site Grows | |
| |
| |
Symbolic Links | |
| |
| |
Mapping from URI Space to Files | |
| |
| |
Some Examples of mod_rewrite | |
| |
| |
| |
Virtual Hosts | |
| |
| |
How Virtual Hosts Work in HTTP | |
| |
| |
Configuring Virtual Hosts | |
| |
| |
Keeping Sites Separate | |
| |
| |
Dealing with a Lot of Virtual Hosts | |
| |
| |
| |
Using Apache to Serve Different Protocols | |
| |
| |
Why Protocol Modules? | |
| |
| |
How Protocols Get Mapped to a Request | |
| |
| |
POP3 | |
| |
| |
Writing a Protocol Module | |
| |
| |
| |
Debugging Your Apache Setup | |
| |
| |
| |
ErrorLog | |
| |
| |
How Do You Know a Problem Exists? | |
| |
| |
The Error Log, the First Place to Look | |
| |
| |
When the Error Log Isn't Enough | |
| |
| |
| |
Common Mistakes and Errors | |
| |
| |
Configuring Apache | |
| |
| |
Starting and Stopping Apache | |
| |
| |
Client Problems | |
| |
| |
Generating and Filtering Content | |
| |
| |
Security Concerns | |
| |
| |
| |
Using httpd-test | |
| |
| |
Getting httpd-test | |
| |
| |
Flood | |
| |
| |
The Perl Framework | |
| |
| |
| |
Apache Administration | |
| |
| |
| |
Logs | |
| |
| |
The Standard Apache Log Files | |
| |
| |
Piped Logs | |
| |
| |
Logging from Within a Module | |
| |
| |
| |
Disk Management | |
| |
| |
Log Files | |
| |
| |
File Permissions for Web Pages | |
| |
| |
File Permissions for Binary Programs | |
| |
| |
Windows Permissions | |
| |
| |
| |
Performance Tuning | |
| |
| |
What Is Web Site Performance? | |
| |
| |
Which MPM to Use | |
| |
| |
Remove htaccess Files | |
| |
| |
Which Mutex Are You Using? | |
| |
| |
Are You Doing DNS Requests During A Request? | |
| |
| |
Symbolic Links and Apache | |
| |
| |
Negotiating the File to Serve | |
| |
| |
Dynamic Modules | |
| |
| |
Pipelined Connections | |
| |
| |
What's Serving the Request? | |
| |
| |
| |
Maintenance | |
| |
| |
Watching the Logs | |
| |
| |
Keeping Apache Current | |
| |
| |
Upgrading from 1.3 to 2.0 | |
| |
| |
| |
Advanced Apache Administration | |
| |
| |
| |
Splitting Up Configuration Tasks | |
| |
| |
Splitting the Configuration File | |
| |
| |
Changing the Configuration Through htaccess | |
| |
| |
| |
Adding Third-Party Modules to Your Server | |
| |
| |
mod_perl | |
| |
| |
mod_php | |
| |
| |
mod_snake | |
| |
| |
Other Modules | |
| |
| |
| |
Apache Security | |
| |
| |
| |
Secure Sockets Layer | |
| |
| |
What Is SSL | |
| |
| |
Setting Up SSL | |
| |
| |
The SSL Session Cache | |
| |
| |
| |
Firewalls and Proxies | |
| |
| |
What Is a Firewall? | |
| |
| |
Getting Through the Firewall with a Proxy | |
| |
| |
Setting Up Your Browser for a Proxy | |
| |
| |
Setting Up the Proxy to Cache Pages | |
| |
| |
SSL and Proxy | |
| |
| |
| |
Appendixes | |
| |
| |
| |
Possible Apache Log Messages | |
| |
| |
EMERG | |
| |
| |
ALERT | |
| |
| |
CRIT | |
| |
| |
ERR | |
| |
| |
WARNING | |
| |
| |
NOTICE | |
| |
| |
INFO | |
| |
| |
DEBUG | |
| |
| |
| |
Source Code and Example Configurations | |
| |
| |
Source Code | |
| |
| |
Example Configuration File | |
| |
| |
| |
Other Apache Resources | |
| |
| |
Books | |
| |
| |
Web Sites | |
| |
| |
Index | |