11.1. Understanding Apache: An Overview11.2. Understanding the Apache Modules API11.2.1. Apache 2.2 Changes Since Apache 1.311.2.2. Apache 2.2 Request Phases11.2.2.1. Request Parsing Phase11.2.2.2. Security Phase11.2.2.3. Preparation Phase11.2.2.4. Handler Phase11.2.2.5. Understanding Hooks and Filters11.2.3. New and Modified Modules11.3. Installing Apache11.3.1. Installing Apache on Windows11.3.1.1. Installation of mod_perl11.3.2. Installing Apache and mod_perl on a Working UNIX System11.3.2.1. Ubuntu/Debian-based Linux11.3.2.2. Redhat-Based Systems (Centos, Fedora, Redhat Enterprise, etc.)11.3.3. Installing Apache on Apple OS X (10.5)11.3.4. Apache Source Install on UNIX11.4. Installing mod_perl from Source11.5. Installing libapreq2 from Source11.6. Apache Configuration11.6.1. Configuration Section Container Directives11.6.1.1. <Directory> and <DirectoryMatch>11.6.1.2. <Files> and <FilesMatch>11.6.1.3. <Location>11.6.1.4. <LocationMatch>11.6.1.5. <IfDefine>11.6.1.6. <IfModule>11.6.1.7. <IfVersion>11.6.1.8. <Limit>11.6.1.9. <LimitExcept>11.6.1.10. <Proxy>11.6.1.11. <ProxyMatch>11.6.1.12. <VirtualHost>11.6.2. Basic Directives11.6.2.1. ServerName11.6.2.2. ServerRoot11.6.2.3. DocumentRoot11.6.2.4. Include11.6.2.5. Listen11.6.2.6. LoadModule11.6.2.7. Options11.6.2.8. Redirect11.6.2.9. User11.6.2.10. AddType11.6.3. Server Tuning Directives11.6.3.1. StartServers11.6.3.2. MaxClients11.6.3.3. MaxSpareServers11.6.3.4. MinSpareServers11.6.3.5. ServerLimit11.6.3.6. MaxRequestsPerChild11.6.3.7. ThreadLimit11.6.3.8. ThreadsPerChild11.6.3.9. KeepAlive11.6.3.10. MaxKeepAliveRequests11.6.3.11. KeepAliveTimeout11.6.3.12. Timeout11.6.4. Logging Directives11.6.4.1. CustomLog11.6.4.2. TransferLog11.6.4.3. ErrorLog11.6.4.4. LogFormat11.6.4.5. LogLevel11.6.5. Error Directives11.6.5.1. ErrorDocument11.6.5.2. ServerSignature11.6.6. Access Control, Authentication, and Authorization11.6.6.1. Access Control11.6.6.2. Authentication11.6.6.3. Authorization11.6.6.4. Order11.6.6.5. Require11.6.6.6. AuthName11.6.6.7. AuthType11.6.6.8. AuthBasicProvider11.6.6.9. AuthUserFile11.6.6.10. AuthGroupFile11.6.6.11. AuthDBMType11.6.6.12. AuthDBMUserFile11.6.7. .htaccess File Directives11.6.7.1. AccessFileName11.6.7.2. AllowOverride11.6.8. Indexing Directives11.6.8.1. DirectoryIndex11.6.8.2. HeaderName11.6.8.3. IndexOptions11.6.8.4. IndexOrderDefault11.6.8.5. HeaderName11.6.8.6. AddIcon11.6.8.7. AddIconByEncoding11.6.8.8. AddIconByType11.6.8.9. DefaultIcon11.6.8.10. IndexIgnore11.6.9. CGI Directives11.6.9.1. ScriptAlias11.6.9.2. ScriptAliasMatch11.6.9.3. User Directory Directives11.6.9.4. UserDir11.6.10. VirtualHost Directives11.6.10.1. Types of Virtual Hosting11.6.10.2. NameVirtualHost11.6.11. Handler and Filter Directives11.6.11.1. AddHandler11.6.11.2. SetHandler11.6.11.3. AddInputFilter11.6.11.4. AddOutputFilter11.6.12. Client Handling11.6.12.1. BrowserMatch11.6.13. SSL Directives11.6.13.1. SSLEngine11.6.13.2. SSLRequireSSL11.6.13.3. SSLCertificateFile11.6.13.4. SSLCertificateKeyFile11.6.13.5. SSLSessionCache11.6.13.6. SLSessionCacheTimeout11.6.13.7. SSLMutex11.6.13.8. Limitations when Using Virtual Hosts and SSL11.6.14. Clickstream Analysis11.6.15. Rewriting URLs11.6.15.1. RewriteEngine11.6.15.2. RewriteCond11.6.15.3. Test String11.6.15.4. Back-References11.6.15.5. Rewrite Map Extensions11.6.16. Conditional Pattern11.6.16.1. Flags11.6.16.2. RewriteRule11.6.16.3. Condition-Pattern11.6.16.4. Substitution11.6.16.5. Flags11.6.16.6. RewriteLog11.6.16.7. RewriteLogLevel11.6.17. Apache Reverse Proxying11.6.18. Enabling mod_proxy11.6.19. mod_proxy Directives11.6.19.1. ProxyPass11.6.19.2. ProxyPassReverse11.6.19.3. ProxyPassReverseCookieDomain11.6.19.4. ProxyPassReverseCookiePath11.6.19.5. ProxyPreserveHost11.6.20. Apache Server Control11.7. Apache Configuration Schemes11.7.1. Source Install11.7.2. Ubuntu/Debian11.7.2.1. Configuration Files11.7.2.2. Documents, Content11.7.2.3. Apache Modules11.7.2.4. Binary Files11.7.2.5. Apache Server Control11.7.3. Centos/Redhat Variants11.7.3.1. Configuration Files11.7.3.2. Binary Files, Server Control11.7.3.3. Documents, Content11.7.4. SUSE11.7.4.1. Configuration Files11.7.4.2. Binaries11.7.4.3. Modules11.7.4.4. Documents, Content11.7.4.5. Apache Server Control11.7.5. Windows11.7.5.1. Configuration11.7.5.2. Configuration Files11.7.5.3. Other Files11.7.5.4. Apache Administration on Windows11.8. Common Apache Tasks11.8.1. Configuring a Name-Based Virtual Host11.8.1.1. Step 1: Modify Your Apache Configuration File11.8.1.2. Step 2: Create the Virtual Host Directories11.8.1.3. Step 3: Restart Apache11.8.1.4. Adding Other Virtual Hosts11.8.2. Setting Up HTTP Basic Authentication11.8.2.1. Step 1: Modify the Apache Configuration11.8.2.2. Step 2: Adding Users to the Password File11.8.2.3. Step 3: Restart Apache11.8.3. Setting Up Digest Authentication11.8.3.1. Step 1: Modify Your Apache configuration11.8.3.2. Step 2: Create Digest Users11.8.3.3. Step 3: Restart Apache11.8.4. Configuring a Secure Server11.8.4.1. Step 1: Create a Self-Signed Certificate11.8.4.2. Step 2: Add the Secure Virtual Host11.8.4.3. Step 3: Restart Apache11.8.5. Settin Up a Secure Server with a Valid Secure Certificate11.8.5.1. Step 1: Create a Key and Certificate Request11.8.5.2. Step 2: Obtain a Certificate Using the Certificate Request11.8.5.3. Step 3: Set Up a Virtual Host11.8.5.4. Step 4: Restart Apache11.8.6. Setting up a Reverse Proxy with Two Virtual Hosts11.8.6.1. Step 1: Set Up the Internal Virtual Host11.8.6.2. Step 2: Add Proxy Directives to the Front-End Server Configuration11.8.6.3. Step 3: Restart Apache11.9. Summary