1. Getting Started 1
How Does Apache Work? 3
What to Know About TCP/IP 5
How Does Apache Use TCP/IP? 7
What the Client Does 9
What Happens at the Server End? 11
Which Unix? 12
Which Apache? 13
Making Apache Under Unix 13
Apache Under Windows 23
Apache Under BS2000/OSD and AS/400 25
2. Our First Web Site 26
What Is a Web Site? 26
Apache's Flags 27
sitetoddle 28
Setting Up a Unix Server 29
Setting Up a Win32 Server 39
3. Toward a Real Web Site 43
More and Better Web Sites: sitesimple 43
Buerthlies, Inc, Gets Going 46
Block Directives 49
Other Directives 52
Two Sites and Apache 58
Controlling Virtual Hosts on Unix 58
Controlling Virtual Hosts on Win32 60
Virtual Hosts 61
Two Copies of Apache 65
HTTP Response Headers 68
Options 68
Restarts 71
htaccess 72
CERN Metafiles 72
Expirations 73
4. Common Gateway Interface (CGI) 75
Turning the Brochure into a Form 75
Writing and Executing Scripts 79
Script Directives 83
Useful Scripts 85
Debugging Scripts 89
Setting Environment Variables 90
suEXEC on Unix 93
Handlers 100
Actions 101
5. Authentication 104
Authentication Protocol 104
Authentication Directives 106
Passwords Under Unix 108
Passwords Under Win32 110
New Order Form 110
Order, Allow, and Deny 114
Digest Authentication 118
Anonymous Access 120
Experiments 123
Automatic User Information 124
Using htaccess Files 126
Overrides 129
6. MIME, Content and Language Negotiation 132
MIME Types 132
Content Negotiation 134
Language Negotiation 135
Type Maps 137
Browsers and HTTP/1.1 140
7. Indexing 141
Making Better Indexes in Apache 141
Making Our Own Indexes 149
Imagemaps 152
8. Redirection 158
Rewrite 162
Speling 169
9. Proxy Server 170
Proxy Directives 170
Caching 173
Setup 175
10. Server-Side Includes 179
File Size 182
File Modification Time 183
Includes 183
Execute CGI 183
Echo 185
XBitHack 185
XSSI 185
11. What's Going On? 186
Status 186
Server Status 187
Server Info 188
Logging the Action 188
12. Extra Modules 196
Authentication 201
Blocking Access 202
Counters 202
Faster CGI Programs 202
FrontPage from Microsoft 202
Languages and Internationalization 203
Server-Side Scripting 203
Throttling Connections 203
URL Rewriting 203
Miscellaneous 203
MIME Magic 204
13. Security 205
Internal and External Users 206
Apache's Security Precautions 208
BinarySignatures, Virtual Cash 209
Firewalls 214
Legal Issues 217
Secure Sockets Layer: How to Do It 222
Apache-SSL's Directives 233
Cipher Suites 236
SSL and CGI 238
14. The Apache API 240
Pools 240
Per-Server Configuration 241
Per-DirectoConfiguration 242
PerRequest Information 243
Access to Configuration and Request Information 245
Functions 246
15. Writing Apache Modules 290
Overview 290
Status Codes 292
The Module Structure 293
A Complete Example 316
General Hints 329
A. Support Organizations 331
B. The echo Program 333
C. NCSA and Apache Compatibility 337
D.SSL Protocol 339
E. Sample Apache Log 345
Index 355