| Foreword | p. xxvii |
| Acknowledgments | p. xxxi |
| Introduction | p. xxxiii |
| Apache Overview | |
| Introduction to Apache | p. 3 |
| What Is Apache? | p. 4 |
| Downloading Apache | p. 14 |
| Apache 2.0 vs. Apache 1.3, IIS, and Sun One | p. 23 |
| Apache 2.0 | p. 24 |
| Apache Server 1.3 | p. 29 |
| Microsoft Internet Information Server | p. 31 |
| Sun One | p. 35 |
| Configuring, Compiling, and Installing Apache | |
| Configuring Apache | p. 41 |
| Extracting the Source | p. 42 |
| Getting Ready to Configure | p. 43 |
| Running ./ configure on Unix and Mac OS X | p. 45 |
| Compiling Apache | p. 63 |
| Unix | p. 64 |
| Windows | p. 67 |
| Building Modules Outside the Apache Source | p. 74 |
| Installing Apache | p. 79 |
| Apache Installation Directories | p. 80 |
| Installing After Building | p. 82 |
| Installing a Binary Distribution | p. 88 |
| Starting Apache for the First Time | p. 100 |
| Types of Modules | |
| Module Overview | p. 109 |
| What Are Modules Used For? | p. 110 |
| Categories of Standard Apache Modules | p. 113 |
| Phases of Request Processing | p. 118 |
| Multi-Processing Modules | p. 129 |
| What Are MPMs? | p. 130 |
| Writing an MPM | p. 131 |
| Standard Modules | p. 161 |
| The Module Structure | p. 162 |
| Command Table | p. 164 |
| Writing a Simple Module | p. 169 |
| Apache Modules | |
| Setting Up a Basic HTTP Server | p. 185 |
| The Configuration File | p. 186 |
| The Essentials of Directives | p. 191 |
| HTTP Request/Response | p. 198 |
| When Errors Happen | p. 202 |
| Authentication, Authorization, Accounting | p. 209 |
| Standard Apache AAA Modules | p. 210 |
| Where to Store Password Information | p. 230 |
| More Authentication Modules | p. 231 |
| Building a Web Site | p. 233 |
| How It Used to Be Done | p. 234 |
| What Is Web-Based Distributed Authoring and Versioning? | p. 236 |
| Setting Up DAV on Your Web Site | p. 239 |
| DAV Clients | p. 245 |
| Generating Content | p. 251 |
| Generators Included with Apache | p. 252 |
| Writing a Content Generator | p. 276 |
| Filters | p. 291 |
| Setting Up Filters | p. 293 |
| Filters Included with Apache | p. 295 |
| How Filters Work | p. 309 |
| Writing an Output Filter | p. 328 |
| What to Do When Your Site Grows | p. 337 |
| Symbolic Links | p. 338 |
| Mapping from URI Space to Files | p. 341 |
| Some Examples of mod_rewrite | p. 357 |
| Virtual Hosts | p. 361 |
| How Virtual Hosts Work in HTTP | p. 362 |
| Configuring Virtual Hosts | p. 363 |
| Keeping Sites Separate | p. 373 |
| Dealing with a Lot of Virtual Hosts | p. 380 |
| Using Apache to Serve Different Protocols | p. 383 |
| Why Protocol Modules? | p. 384 |
| How Protocols Get Mapped to a Request | p. 386 |
| POP3 | p. 388 |
| Writing a Protocol Module | p. 389 |
| Debugging Your Apache Setup | |
| ErrorLog | p. 405 |
| How Do You Know a Problem Exists? | p. 406 |
| The Error Log, the First Place to Look | p. 407 |
| When the Error Log Isn't Enough | p. 412 |
| Common Mistakes and Errors | p. 425 |
| Configuring Apache | p. 426 |
| Starting and Stopping Apache | p. 429 |
| Client Problems | p. 435 |
| Generating and Filtering Content | p. 436 |
| Security Concerns | p. 439 |
| Using httpd-test | p. 447 |
| Getting httpd-test | p. 448 |
| Flood | p. 449 |
| The Perl Framework | p. 459 |
| Apache Administration | |
| Logs | p. 467 |
| The Standard Apache Log Files | p. 468 |
| Piped Logs | p. 475 |
| Logging from Within a Module | p. 481 |
| Disk Management | p. 487 |
| Log Files | p. 488 |
| File Permissions for Web Pages | p. 490 |
| File Permissions for Binary Programs | p. 492 |
| Windows Permissions | p. 493 |
| Performance Tuning | p. 497 |
| What Is Web Site Performance? | p. 498 |
| Which MPM to Use | p. 502 |
| Remove htaccess Files | p. 503 |
| Which Mutex Are You Using? | p. 505 |
| Are You Doing DNS Requests During A Request? | p. 506 |
| Symbolic Links and Apache | p. 509 |
| Negotiating the File to Serve | p. 510 |
| Dynamic Modules | p. 511 |
| Pipelined Connections | p. 511 |
| What's Serving the Request? | p. 512 |
| Maintenance | p. 519 |
| Watching the Logs | p. 520 |
| Keeping Apache Current | p. 529 |
| Upgrading from 1.3 to 2.0 | p. 533 |
| Advanced Apache Administration | |
| Splitting Up Configuration Tasks | p. 541 |
| Splitting the Configuration File | p. 542 |
| Changing the Configuration Through htaccess | p. 545 |
| Adding Third-Party Modules to Your Server | p. 553 |
| mod_perl | p. 554 |
| mod_php | p. 560 |
| mod_snake | p. 564 |
| Other Modules | p. 567 |
| Apache Security | |
| Secure Sockets Layer | p. 589 |
| What Is SSL | p. 591 |
| Setting Up SSL | p. 599 |
| The SSL Session Cache | p. 611 |
| Firewalls and Proxies | p. 615 |
| What Is a Firewall? | p. 616 |
| Getting Through the Firewall with a Proxy | p. 617 |
| Setting Up Your Browser for a Proxy | p. 626 |
| Setting Up the Proxy to Cache Pages | p. 627 |
| SSL and Proxy | p. 631 |
| Appendixes | |
| Possible Apache Log Messages | p. 639 |
| EMERG | p. 640 |
| ALERT | p. 641 |
| CRIT | p. 643 |
| ERR | p. 646 |
| WARNING | p. 660 |
| NOTICE | p. 665 |
| INFO | p. 671 |
| DEBUG | p. 674 |
| Source Code and Example Configurations | p. 681 |
| Source Code | p. 682 |
| Example Configuration File | p. 733 |
| Other Apache Resources | p. 739 |
| Books | p. 740 |
| Web Sites | p. 741 |
| Index | p. 743 |
| Table of Contents provided by Syndetics. All Rights Reserved. |