You are previewing Apache: The Definitive Guide, Second Edition.
O'Reilly logo
Apache: The Definitive Guide, Second Edition

Book Description

The freeware Apache web server runs on about half of the world's existing web sites, and it is rapidly increasing in popularity. Apache: The Definitive Guide, written and reviewed by key members of the Apache Group, is the only complete guide on the market today that describes how to obtain, set up, and secure the Apache software. Apache was originally based on code and ideas found in the most popular HTTP server of the time: NCSA httpd 1.3 (early 1995). It has since evolved into a far superior system that can rival (and probably surpass) almost any other Unix-based HTTP server in terms of functionality, efficiency, and speed. The new version now includes support for Win32 systems. This new second edition of Apache: The Definitive Guide fully describes Windows support and all the other Apache 1.3 features. Contents include:

  • The history of the Apache Group

  • Obtaining and compiling the server

  • Configuring and running Apache on Unix and Windows, including such topics as directory structures, virtual hosts, and CGI programming

  • The Apache 1.3 Module API

  • Apache security

  • A complete list of configuration directives

With Apache: The Definitive Guide, web administrators new to Apache can get up to speed more quickly than ever before by working through the tutorial demo. Experienced administrators and CGI programmers, and web administrators moving from Unix to Windows, will find the reference sections indispensable. Apache: The Definitive Guide is the definitive documentation for the world's most popular web server. Includes CD-ROM with Apache manuals and demo sites discussed in the book.

Table of Contents

  1. Copyright
  2. Preface
    1. Who Wrote Apache, and Why?
    2. The Demonstration CD-ROM
    3. Conventions Used in This Book
    4. Organization of This Book
    5. Acknowledgments
  3. Getting Started
    1. How Does Apache Work?
    2. What to Know About TCP/IP
    3. How Does Apache Use TCP/IP?
    4. What the Client Does
    5. What Happens at the Server End?
    6. Which Unix?
    7. Which Apache?
    8. Making Apache Under Unix
    9. Apache Under Windows
    10. Apache Under BS2000/OSD and AS/400
  4. Our First Web Site
    1. What Is a Web Site?
    2. Apache's Flags
    3. site.toddle
    4. Setting Up a Unix Server
    5. Setting Up a Win32 Server
  5. Toward a Real Web Site
    1. More and Better Web Sites: site.simple
    2. Butterthlies, Inc., Gets Going
    3. Block Directives
    4. Other Directives
    5. Two Sites and Apache
    6. Controlling Virtual Hosts on Unix
    7. Controlling Virtual Hosts on Win32
    8. Virtual Hosts
    9. Two Copies of Apache
    10. HTTP Response Headers
    11. Options
    12. Restarts
    13. .htaccess
    14. CERN Metafiles
    15. Expirations
  6. Common Gateway Interface (CGI)
    1. Turning the Brochure into a Form
    2. Writing and Executing Scripts
    3. Script Directives
    4. Useful Scripts
    5. Debugging Scripts
    6. Setting Environment Variables
    7. suEXEC on Unix
    8. Handlers
    9. Actions
  7. Authentication
    1. Authentication Protocol
    2. Authentication Directives
    3. Passwords Under Unix
    4. Passwords Under Win32
    5. New Order Form
    6. Order, Allow, and Deny
    7. Digest Authentication
    8. Anonymous Access
    9. Experiments
    10. Automatic User Information
    11. Using .htaccess Files
    12. Overrides
  8. MIME, Content and Language Negotiation
    1. MIME Types
    2. Content Negotiation
    3. Language Negotiation
    4. Type Maps
    5. Browsers and HTTP/1.1
  9. Indexing
    1. Making Better Indexes in Apache
    2. Making Our Own Indexes
    3. Imagemaps
  10. Redirection
    1. ScriptAlias
    2. ScriptAliasMatch
    3. Alias
    4. AliasMatch
    5. UserDir
    6. Redirect
    7. RedirectMatch
    8. Rewrite
    9. Speling
  11. Proxy Server
    1. Proxy Directives
    2. Caching
    3. Setup
  12. Server-Side Includes
    1. File Size
    2. File Modification Time
    3. Includes
    4. Execute CGI
    5. Echo
    6. XBitHack
    7. XSSI
  13. What's Going On?
    1. AddModuleInfo
    2. Status
    3. Server Status
    4. Server Info
    5. Logging the Action
  14. Extra Modules
    1. Authentication
    2. Blocking Access
    3. Counters
    4. Faster CGI Programs
    5. FrontPage from Microsoft
    6. Languages and Internationalization
    7. Server-Side Scripting
    8. Throttling Connections
    9. URL Rewriting
    10. Miscellaneous
    11. MIME Magic
    12. DSO
  15. Security
    1. Internal and External Users
    2. Apache's Security Precautions
    3. Binary Signatures, Virtual Cash
    4. Firewalls
    5. Legal Issues
    6. Secure Sockets Layer: How to Do It
    7. Apache-SSL's Directives
    8. Cipher Suites
    9. SSL and CGI
  16. The Apache API
    1. Pools
    2. Per-Server Configuration
    3. Per-Directory Configuration
    4. Per-Request Information
    5. Access to Configuration and Request Information
    6. Functions
      1. A
      2. A
      3. A
      4. A
      5. A
      6. A
      7. A
      8. A
      9. C
      10. O
      11. K
      12. A
      13. A
      14. A
      15. A
      16. A
      17. A
      18. A
      19. A
      20. A
      21. A
      22. A
      23. A
  17. Writing Apache Modules
    1. Overview
    2. Status Codes
    3. The Module Structure
    4. A Complete Example
    5. General Hints
  18. Support Organizations
  19. The echo Program
  20. NCSA and Apache Compatibility
  21. SSL Protocol
    1. Handshake Protocol
    2. Protecting Application Data
    3. Final Notes
  22. Sample Apache Log
  23. Colophon
  24. Index