| About the Author | p. xix |
| About the Technical Reviewer and Contributing Author | p. xxi |
| Apache and the Internet | p. 1 |
| Apache: The Anatomy of a Web Server | p. 1 |
| The Hypertext Transfer Protocol | p. 7 |
| Networking and TCP/IP | p. 13 |
| Server Hardware | p. 29 |
| Get Someone Else to Do It | p. 36 |
| Summary | p. 36 |
| Getting Started with Apache | p. 37 |
| Installing Apache | p. 38 |
| Basic Configuration | p. 50 |
| Starting, Stopping, and Restarting the Server | p. 57 |
| Testing the Server | p. 81 |
| Using Graphical Configuration Tools | p. 86 |
| Summary | p. 100 |
| Building Apache the Way You Want It | p. 101 |
| Why Build Apache Yourself? | p. 101 |
| Building Apache from Source | p. 105 |
| Advanced Configuration | p. 124 |
| Configuring the Build Environment | p. 144 |
| Building Modules with configure and apxs | p. 146 |
| Summary | p. 153 |
| Configuring Apache the Way You Want It | p. 155 |
| Where Apache Looks for Its Configuration | p. 155 |
| How Apache Structures Its Configuration | p. 163 |
| Options and Overrides | p. 176 |
| Restricting Access with allow and deny | p. 182 |
| Directory Listings | p. 188 |
| Apache's Environment | p. 203 |
| Controlling Request and Response Headers | p. 211 |
| Sending Content As-Is | p. 222 |
| Controlling the Server Identification Header | p. 223 |
| Sending a Content Digest | p. 224 |
| Handling the Neighbors | p. 225 |
| Summary | p. 229 |
| Deciding What the Client Needs | p. 231 |
| Content Handling and Negotiation | p. 231 |
| Error and Response Handling | p. 264 |
| Aliases and Redirection | p. 271 |
| Summary | p. 306 |
| Delivering Dynamic Content | p. 307 |
| Server-Side Includes | p. 308 |
| CGI: The Common Gateway Interface | p. 321 |
| ISINDEX-Style CGI Scripts and Command Line Arguments | p. 332 |
| Writing and Debugging CGI Scripts | p. 333 |
| Debugging CGI Scripts | p. 339 |
| Actions, Handlers, and Filters | p. 347 |
| Dynamic Content and Security | p. 363 |
| Inventing a Better CGI Script with FastCGI | p. 381 |
| Summary | p. 403 |
| Hosting More Than One Web Site | p. 405 |
| Implementing User Directories with UserDir | p. 406 |
| Separate Servers | p. 410 |
| IP-Based Virtual Hosting | p. 414 |
| Default Virtual Hosts | p. 427 |
| Name-Based Virtual Hosting | p. 428 |
| Issues Affecting Virtual Hosting | p. 434 |
| Dynamic Virtual Hosting | p. 441 |
| Summary | p. 455 |
| Improving Apache's Performance | p. 457 |
| Apache's Performance Directives | p. 458 |
| Configuring Apache for Better Performance | p. 477 |
| Benchmarking Apache's Performance | p. 490 |
| A Performance Checklist | p. 497 |
| Proxying | p. 498 |
| Caching | p. 516 |
| Fault Tolerance and Clustering | p. 529 |
| Summary | p. 537 |
| Monitoring Apache | p. 539 |
| Logs and Logging | p. 539 |
| Lies, Logs, and Statistics | p. 560 |
| Server Information | p. 577 |
| User Tracking | p. 583 |
| Summary | p. 595 |
| Securing Apache | p. 597 |
| User Authentication | p. 597 |
| SSL and Apache | p. 627 |
| Advanced SSL Configuration | p. 644 |
| Using Client Certification with User Authentication | p. 659 |
| Summary | p. 671 |
| Improving Web Server Security | p. 673 |
| Apache Features | p. 673 |
| File Permissions | p. 678 |
| Viewing Server Information with mod_info | p. 679 |
| Restricting Server Privileges | p. 679 |
| Restricting Access by Hostname and IP Address | p. 680 |
| Other Server Security Measures | p. 682 |
| Dedicated Server | p. 682 |
| File Integrity | p. 683 |
| Hardening the Server | p. 686 |
| Disabling Network Services | p. 690 |
| Security Fixes, Alerts, and Online Resources | p. 693 |
| Removing Important Data from the Server | p. 694 |
| Enabling Secure Logins with SSH | p. 694 |
| Firewalls and Multifacing Servers | p. 706 |
| Running Apache Under a Virtual chroot Root Directory | p. 709 |
| Server Security Checklist | p. 723 |
| Summary | p. 726 |
| Extending Apache | p. 727 |
| WebDAV | p. 727 |
| ISAPI | p. 741 |
| Perl | p. 746 |
| PHP | p. 795 |
| Tomcat/Java | p. 807 |
| Summary | p. 839 |
| Index | p. 843 |
| Table of Contents provided by Ingram. All Rights Reserved. |