Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Apache Cookbook
Preface
What’s in This Book
Platform Notes
Other Books
Other Sources
How This Book Is Organized
Conventions Used in This Book
Programming Conventions
Typesetting Conventions
Documentation Conventions
The online manual (“man”) pages on a Unixish system
The Apache Web server documentation
Using Code Examples
We’d Like to Hear from You
Safari® Enabled
Acknowledgments
Ken Coar
Rich Bowen
1. Installation
Installing from Red Hat Linux’s Packages
Problem
Solution
Discussion
See Also
Installing from Debian Packages
Problem
Solution
Discussion
See Also
Installing Apache on Windows
Problem
Solution
Discussion
See Also
Downloading the Apache Sources
Problem
Solution
Discussion
See Also
Building Apache from the Sources
Problem
Solution
Discussion
See Also
Installing with ApacheToolbox
Problem
Solution
Discussion
See Also
Starting, Stopping, and Restarting Apache
Problem
Solution
Discussion
See Also
Uninstalling Apache
Problem
Solution
Discussion
See Also
Which Version of Apache to Use
Problem
Solution
Discussion
See Also
Upgrading Using config.nice
Problem
Solution
Discussion
See Also
Starting Apache at Boot
Problem
Solution
Discussion
See Also
Useful configure Options
Problem
Solution
Discussion
See Also
Finding Apache’s Files
Problem
Solution
Discussion
See Also
2. Adding Common Modules
Installing a Generic Third-Party Module
Problem
Solution
Discussion
See Also
Installing mod_dav on a Unixish System
Problem
Solution
Discussion
See Also
Installing mod_dav on Windows
Problem
Solution
Discussion
Using Windows Explorer to test mod_dav
See Also
Installing mod_perl on a Unixish System
Problem
Solution
Discussion
See Also
Installing mod_php on a Unixish System
Problem
Solution
Discussion
See Also
Installing mod_php on Windows
Problem
Solution
Discussion
See Also
Installing mod_ssl
Problem
Solution
Discussion
See Also
Finding Modules Using modules.apache.org
Problem
Solution
Discussion
See Also
Installing mod_security
Problem
Solution
Discussion
See Also
Why Won’t This Module Work?
Problem
Solution
Discussion
See Also
3. Logging
Getting More Details in Your Log Entries
Problem
Solution
Discussion
See Also
Getting More Detailed Errors
Problem
Solution
Discussion
See Also
Logging POST Contents
Problem
Solution
Discussion
See Also
Logging a Proxied Client’s IP Address
Problem
Solution
Discussion
See Also
Logging Client MAC Addresses
Problem
Solution
Discussion
See Also
Logging Cookies
Problem
Solution
Discussion
See Also
Not Logging Image Requests from Local Pages
Problem
Solution
Discussion
See Also
Rotating Logfiles at a Particular Time
Problem
Solution
Discussion
See Also
Rotating Logs on the First of the Month
Problem
Solution
Discussion
See Also
Logging Hostnames Instead of IP Addresses
Problem
Solution
Discussion
See Also
Maintaining Separate Logs for Each Virtual Host
Problem
Solution
Discussion
See Also
Logging Proxy Requests
Problem
Solution
Discussion
See Also
Logging Errors for Virtual Hosts to Multiple Files
Problem
Solution
Discussion
See Also
Logging Server IP Addresses
Problem
Solution
Discussion
See Also
Logging the Referring Page
Problem
Solution
Discussion
See Also
Logging the Name of the Browser Software
Problem
Solution
Discussion
See Also
Logging Arbitrary Request Header Fields
Problem
Solution
Discussion
See Also
Logging Arbitrary Response Header Fields
Problem
Solution
Discussion
See Also
Logging Activity to a MySQL Database
Problem
Solution
Discussion
See Also
Logging to syslog
Problem
Solution
Discussion
See Also
Logging User Directories
Problem
Solution
Discussion
See Also
4. Virtual Hosts
Setting Up Name-Based Virtual Hosts
Problem
Solution
Discussion
See Also
Designating One Name-Based Virtual Host as the Default
Problem
Solution
Discussion
See Also
Setting Up Address-Based Virtual Hosts
Problem
Solution
Discussion
See Also
Creating a Default Address-Based Virtual Host
Problem
Solution
Discussion
See Also
Mixing Address-Based and Name-Based Virtual Hosts
Problem
Solution
Discussion
See Also
Mass Virtual Hosting with mod_vhost_alias
Problem
Solution
Discussion
See Also
Mass Virtual Hosting Using Rewrite Rules
Problem
Solution
Discussion
See Also
Logging for Each Virtual Host
Problem
Solution
Discussion
See Also
Splitting Up a Logfile
Problem
Solution
Discussion
See Also
Port-Based Virtual Hosts
Problem
Solution
Discussion
See Also
Displaying the Same Content on Several Addresses
Problem
Solution
Discussion
See Also
Defining Virtual Hosts in a Database
Problem
Solution
Discussion
5. Aliases, Redirecting, and Rewriting
Mapping a URL to a Directory
Problem
Solution
Discussion
See Also
Creating a New URL for Existing Content
Problem
Solution
Discussion
See Also
Giving Users Their Own URLs
Problem
Solution
Discussion
See Also
Aliasing Several URLs with a Single Directive
Problem
Solution
Discussion
See Also
Mapping Several URLs to the Same CGI Directory
Problem
Solution
Discussion
See Also
Creating a CGI Directory for Each User
Problem
Solution
Discussion
See Also
Redirecting to Another Location
Problem
Solution
Discussion
See Also
Redirecting Several URLs to the Same Destination
Problem
Solution
Discussion
See Also
Permitting Case-Insensitive URLs
Problem
Solution
Discussion
See Also
Showing Highlighted PHP Source without Symlinking
Problem
Solution
Alternate Solution
Discussion
See Also
Replacing Text in Requested URLs
Problem
Solution
Discussion
See Also
Rewriting Path Information to CGI Arguments
Problem
Solution
Discussion
See Also
Denying Access to Unreferred Requests
Problem
Solution
Discussion
See Also
Redirecting Unreferred Requests to an Explanation Page
Problem
Solution
Discussion
See Also
Rewriting Based on the Query String
Problem
Solution
Discussion
See Also
Redirecting All—or Part—of Your Server to SSL
Problem
Solution
Discussion
See Also
Turning Directories into Hostnames
Problem
Solution
Discussion
See Also
Redirecting All Requests to a Single Host
Problem
Solution
Discussion
See Also
Turning Document Names into Arguments
Problem
Solution
Discussion
See Also
Rewriting Elements between Path and Query String
Problem
Solution
Discussion
See Also
Rewriting a Hostname to a Directory
Problem
Solution
Discussion
See Also
Turning URL Segments into Query Arguments
Problem
Solution
Discussion
See Also
Using AliasMatch, ScriptAliasMatch, and RedirectMatch
Problem
Solution
Discussion
See Also
6. Security
Using System Account Information for Web Authentication
Problem
Solution
Discussion
See Also
Setting Up Single-Use Passwords
Problem
Solution
Discussion
See Also
Expiring Passwords
Problem
Solution
Discussion
See Also
Limiting Upload Size
Problem
Solution
Discussion
See Also
Restricting Images from Being Used Off-Site
Problem
Solution
Discussion
See Also
Requiring Both Weak and Strong Authentication
Problem
Solution
Discussion
See Also
Managing .htpasswd Files
Problem
Solution
Discussion
See Also
Making Password Files for Digest Authentication
Problem
Solution
Discussion
See Also
Relaxing Security in a Subdirectory
Problem
Solution
Discussion
See Also
Lifting Restrictions Selectively
Problem
Solution
Discussion
See Also
Authorizing Using File Ownership
Problem
Solution
Discussion
See Also
Storing User Credentials in a MySQL Database
Problem
Solution
Discussion
See Also
Accessing the Authenticated Username
Problem
Solution
Discussion
See Also
Obtaining the Password Used to Authenticate
Problem
Solution
Discussion
See Also
Preventing Brute-Force Password Attacks
Problem
Solution
Discussion
See Also
Using Digest Versus Basic Authentication
Problem
Solution
Discussion
See Also
Accessing Credentials Embedded in URLs
Problem
Solution
Discussion
See Also
Securing WebDAV
Problem
Solution
Discussion
See Also
Enabling WebDAV Without Making Files Writable by the Web User
Problem
Solution
Discussion
See Also
Restricting Proxy Access to Certain URLs
Problem
Solution
Discussion
See Also
Protecting Files with a Wrapper
Problem
Solution
Discussion
See Also
Protecting Server Files from Malicious Scripts
Problem
Solution
Discussion
See Also
Setting Correct File Permissions
Problem
Solution
Discussion
See Also
Running a Minimal Module Set
Problem
Solution
Discussion
Apache 1.3
Apache 2.x
See Also
Restricting Access to Files Outside Your Web Root
Problem
Solution
Discussion
See Also
Limiting Methods by User
Problem
Solution
Discussion
See Also
Restricting Range Requests
Problem
Solution
Discussion
See Also
Rebutting DoS Attacks with mod_evasive
Problem
Solution
Discussion
See Also
Chrooting Apache with mod_security
Problem
Solution
Discussion
See Also
Migrating to 2.2 Authentication
Problem
Solution
Discussion
See Also
Blocking Worms with mod_security
Problem
Solution
Discussion
See Also
Mixing Read-Only and Write Access to a Subversion Repository
Problem
Solution
Discussion
See Also
Using Permanent Redirects to Obscure Forbidden URLs
Problem
Solution
Discussion
See Also
7. SSL
Installing SSL
Problem
Solution
Discussion
See Also
Installing SSL on Windows
Problem
Solution
Discussion
Generating Self-Signed SSL Certificates
Problem
Solution
Discussion
Generating the private key
Generating the certificate signing request
Removing the passphrase
Signing your key
Configuring the server
The easy way
See Also
Generating a Trusted CA
Problem
Solution
Discussion
Importing the CA
See Also
Serving a Portion of Your Site via SSL
Problem
Solution
Discussion
See Also
Authenticating with Client Certificates
Problem
Solution
Discussion
See Also
SSL Virtual Hosts
Problem
Solution
Discussion
Ignore the problem
Use one certificate on several hosts
Use more than one address
Wildcard Certificates
Problem
Solution
Discussion
See Also
8. Dynamic Content
Enabling a CGI Directory
Problem
Solution
Discussion
See Also
Enabling CGI Scripts in Non-ScriptAliased Directories
Problem
Solution
Discussion
See Also
Specifying a Default Document in a CGI Directory
Problem
Solution
Discussion
See Also
Using Windows File Extensions to Launch CGI Programs
Problem
Solution
Discussion
See Also
Using Extensions to Identify CGI Scripts
Problem
Solution
Discussion
See Also
Testing that CGI Is Set Up Correctly
Problem
Solution
Discussion
See Also
Reading Form Parameters
Problem
Solution
Discussion
See Also
Invoking a CGI Program for Certain Content Types
Problem
Solution
Discussion
See Also
Getting SSIs to Work
Problem
Solution
Discussion
See Also
Displaying Last Modified Date
Problem
Solution
Discussion
See Also
Including a Standard Header
Problem
Solution
Discussion
See Also
Including the Output of a CGI Program
Problem
Solution
Discussion
See Also
Running CGI Scripts as a Different User with suexec
Problem
Solution
Discussion
See Also
Installing a mod_perl Handler from CPAN
Problem
Solution
Discussion
See Also
Writing a mod_perl Handler
Problem
Solution
Discussion
See Also
Enabling PHP Script Handling
Problem
Solution
Discussion
See Also
Verifying PHP Installation
Problem
Solution
Discussion
See Also
Parsing CGI Output for Server Side Includes
Problem
Solution
Discussion
See Also
Parsing ScriptAlias Script Output for Server-Side Includes
Problem
Solution
Discussion
See Also
Getting mod_perl to Handle All Perl Scripts
Problem
Solution
Discussion
See Also
Enabling Python Script Handling
Problem
Solution
Discussion
See Also
9. Error Handling
Handling a Missing Host Field
Problem
Solution
Discussion
See Also
Changing the Response Status for CGI Scripts
Problem
Solution
Discussion
See Also
Customized Error Messages
Problem
Solution
Discussion
See Also
Providing Error Documents in Multiple Languages
Problem
Solution
Discussion
See Also
Redirecting Invalid URLs to Some Other Page
Problem
Solution
Discussion
See Also
Making Internet Explorer Display Your Error Page
Problem
Solution
Discussion
See Also
Notification on Error Conditions
Problem
Solution
Discussion
See Also
10. Proxies
Securing Your Proxy Server
Problem
Solution
Discussion
See Also
Preventing Your Proxy Server from Being Used as an Open Mail Relay
Problem
Solution
Discussion
See Also
Forwarding Requests to Another Server
Problem
Solution
Discussion
See Also
Blocking Proxied Requests to Certain Places
Problem
Solution
Discussion
See Also
Proxying mod_perl Content to Another Server
Problem
Solution
Discussion
See Also
Configuring a Caching Proxy Server
Problem
Solution
Discussion
See Also
Filtering Proxied Content
Problem
Solution
Discussion
See Also
Requiring Authentication for a Proxied Server
Problem
Solution
Discussion
See Also
Load Balancing with mod_proxy_balancer
Problem
Solution
Discussion
See Also
Proxied Virtual Host
Problem
Solution
Discussion
See Also
Refusing to Proxy FTP
Problem
Solution
Discussion
See Also
11. Performance
Determining How Much Memory You Need
Problem
Solution
Discussion
See Also
Benchmarking Apache with ab
Problem
Solution
Discussion
See Also
Tuning KeepAlive Settings
Problem
Solution
Discussion
See Also
Getting a Snapshot of Your Site’s Activity
Problem
Solution
Discussion
See Also
Avoiding DNS Lookups
Problem
Solution
Discussion
HostNameLookups
Allow and Deny from hostnames
See Also
Optimizing Symbolic Links
Problem
Solution
Discussion
See Also
Minimizing the Performance Impact of .htaccess Files
Problem
Solution
Discussion
See Also
Disabling Content Negotiation
Problem
Solution
Discussion
See Also
Optimizing Process Creation
Problem
Solution
Discussion
See Also
Tuning Thread Creation
Problem
Solution
Discussion
Setting the number of threads on single-child MPMs
Number of threads when using the worker MPM
Setting the number of threads when using netware or the perchild MPM
See Also
Caching Frequently Viewed Files
Problem
Solution
Discussion
See Also
Distributing Load Evenly Between Several Servers
Problem
Solution
Discussion
See Also
Caching Directory Listings
Problem
Solution
Discussion
See Also
Speeding Up Perl CGI Programs with mod_perl
Problem
Solution
Discussion
See Also
Caching Dynamic Content
Problem
Solution
Discussion
See Also
12. Directory Listings
Generating Directory/Folder Listings
Problem
Solution
Discussion
Enabling directory listings
Disabling directory indexing below an enabled directory
See Also
Display a Standard Header and Footer on Directory Listings
Problem
Solution
Discussion
See Also
Applying a Stylesheet
Problem
Solution
Discussion
See Also
Hiding Things from the Listing
Problem
Solution
Discussion
See Also
Searching for Certain Files in a Directory Listing
Problem
Solution
Discussion
See Also
Sorting the List
Problem
Solution
Discussion
See Also
Allowing a Client-Specified Sort Order
Problem
Solution
Discussion
See Also
Specifying How the List Will Be Formatted
Problem
Solution
Discussion
See Also
Allowing the Client to Specify the Formatting
Problem
Solution
Discussion
See Also
Adding Descriptions to Files
Problem
Solution
Discussion
See Also
Autogenerated Document Titles
Problem
Solution
Discussion
See Also
Changing the Listing Icons
Problem
Solution
Discussion
See Also
Listing the Directories First
Problem
Solution
Discussion
See Also
Ordering by Version Number
Problem
Solution
Discussion
See Also
Allowing the End User to Specify Version Sorting
Problem
Solution
Discussion
See Also
Complete User Control of Output
Problem
Solution
Discussion
See Also
Don’t Allow the End User to Modify the Listing
Problem
Solution
Discussion
See Also
Suppressing Certain Columns
Problem
Solution
Discussion
See Also
Showing Forbidden Files
Problem
Solution
Discussion
See Also
Aliases in Directory Listings
Problem
Solution
Discussion
See Also
13. Miscellaneous Topics
Placing Directives Properly
Problem
Solution
Discussion
See Also
Renaming .htaccess Files
Problem
Solution
Discussion
See Also
Generating Directory/Folder Listings
Problem
Solution
Discussion
Enabling directory listings
Disabling directory indexing below an enabled directory
See Also
Solving the “Trailing Slash” Problem
Problem
Solution
Discussion
Incorrect ServerName
Invalid Alias directive
See Also
Setting the Content-Type According to Browser Capability
Problem
Solution
Discussion
See Also
Handling Missing Host: Header Fields
Problem
Solution
Discussion
See Also
Alternate Default Document
Problem
Solution
Discussion
See Also
Setting Up a Default “Favicon”
Problem
Solution
Discussion
See Also
Directory Listings in ScriptAliased Directories
Problem
Solution
Discussion
See Also
Enabling .htaccess Files
Problem
Solution
Discussion
See Also
Converting IBM/Lotus Server-Side Includes to Apache
Problem
Solution
Discussion
See Also
A. Using Regular Expressions in Apache
What Directives Use Regular Expressions?
Regular Expression Basics
Examples
Redirecting several URLs
Catching common misspellings
For More Information
B. Troubleshooting
Troubleshooting Methodology
In the Error Log
Characterize the Problem
Debugging the Configuration
Debugging Premature End of Script Headers
Common Problems on Windows
Cannot Determine Hostname
Finding WS2_32.DLL on Windows
Fixing WSADuplicateSocket Errors
Handling System Error 1067
Fixing Build-Time Error Messages
__inet Symbols
Getting Server-Side Includes to Work
Debugging Rewrites That Result in “Not Found” Errors
.htaccess Files Having No Effect
Address Already in Use
Index
Colophon
← Prev
Back
Next →
← Prev
Back
Next →