前言 1
第一部分 安装和配置 1
第一章 新服务器的安装 3
UNIX下的Apache 3
使用APACI来配置Apache 3
编译并安装Apache 8
编译并安装支持工具 8
Windows下的Apache 10
第二章 运行Apache 13
定制缺省配置文件 13
httpd.conf 14
srm.conf 21
access.conf 29
控制Apache Server 31
启动服务器 32
停止服务器 33
重启服务器 33
获得服务器的完整状态 34
查看服务器配置文件 34
测试Apache Server 34
第三章 核心指令 37
Apache指令的使用环境 37
Server Config(服务器配置)环境 37
Container(容器)环境 37
Per-Directory(每目录)环境 39
常规配置指令 39
AccessFileName 41
BindAddress 41
CoreDumpDirectory 42
DefaultType 42
DocumentRoot 43
ErrorDocument 44
Group 45
Include 46
Listen 47
Options 47
Port 49
ServerAdmin 50
ServerName 50
ResourceConfig 50
ServerRoot 51
ServerSignature 51
UseCanonicalName 52
User 52
ServerTokens 52
性能和资源配置指令 53
对Apache过程的控制 54
建立持续性连接 58
系统资源的控制 59
动态模块的使用 62
标准容器指令 63
虚拟主机专用指令 67
NameVirtualHost 67
ServerAlias 68
ServerPath 69
记录指令 70
LogLevel 70
ErrorLog 71
ScoreBoardFile 71
PidFile 72
LockFile 72
AllowOverride 73
AuthName 73
鉴权和保密指令 73
AuthType 74
HostNameLookups 74
IdentityCheck 75
require 76
Satisfy 77
allow 79
mod_access 79
deny 79
第四章 Apache模块 79
order 81
allow from env=variable 81
deny from env=variable 82
mod_actions 83
Action 83
Script 87
Alias 88
AliasMatch 88
mod_alias 88
Redirect 89
RedirectPermanent 90
RedirectTemp 90
ScriptAlias 90
RedirectMatch 90
ScriptAliasMatch 91
mod_asis 91
mod_auth 92
AuthUserFile 92
AuthGroupFile 93
AuthAuthoritative 93
mod_auth_anon 94
Anonymous 94
Anonymous_LogEmail 95
Anonymous_MustGiveEmail 95
Anonymous_Authoritative 95
mod_auth_db 96
Anonymous_VerifyEmail 96
AuthDBUserFile 96
Anonymous_NoUserID 96
AuthDBGroupFile 97
AuthDBAuthoritative 97
AuthDBMUserFile 98
AuthDBMGroupFile 98
mod_auth_dbm 98
AuthDBMAuthoritative 99
mod_auth_external 99
AddExternalAuth 100
AddExternalGroupAuth 100
SetExternalAuthMethod 101
SetExternalGroupMethod 102
AuthExternal 102
mod_autoindex 103
AddAlt 103
GroupExternal 103
AddAltByType 104
AddDescription 104
AddAltByEncoding 104
AddIconByEncoding 105
AddIconByType 105
AddIcon 105
FancyIndexing 106
HeaderName 106
DefaultIcon 106
IndexIgnore 107
IndexOptions 107
ReadmeName 108
mod_cern_meta 108
MetaDir 109
MetaSuffix 109
MetaFiles 109
GATEWAY_INTERFACE 110
SERVER_SOFTWARE 110
SERVER_ADMIN 110
DOCUMENT_ROOT 110
服务器特定环境变量的使用 110
mod_cgi 110
HTTP_ACCEPT_CHARSET 111
HTTP_ACCEPT_LANGUAGE 111
HTTP_ACCEPT 111
HTTP_CONNECTION 111
HTTP_HOST 111
CONTENT_TYPE 111
CONTENT_LENGTH 111
AUTH_TYPE 111
客户请求特定环境变量的使用 111
REMOTE_HOST 112
REMOTE_IDENT 112
REMOTE_ADDR 112
REMOTE_PORT 112
REMOTE_USER 112
PATH_TRANSLATED 112
PATH_INFO 112
HTTP_USER_AGENT 112
HTTP_REFERER 112
SERVER_NAME 113
SERVER_PORT 113
SCRIPT_NAME 113
SERVER_PROTOCOL 113
Apache的CGI配置 113
SCRIPT_FILENAME 113
REQUEST_URI 113
REQUEST_METHOD 113
ScriptLog 115
ScriptLogLength 115
调试CGI程序 115
mod_dir 116
AuthDigestFile 116
DirectoryIndex 116
mod_digest 116
ScriptLogBuffer 116
PassEnv 117
SetEnv 117
mod_env 117
ExpiresActive 118
mod_expires 118
ExpiresByType 118
UnsetEnv 118
ExpiresDefault 119
mod_headers 120
Header 121
mod_imap 121
ImapMenu 122
ImapBase 123
mod_include 123
ImapDeault 123
XBitHack 124
mod_info 125
mod_log_agent 126
AgentLog 126
mod_log_config 127
TransferLog 128
LogFormat 128
CookieLog 129
mod_log_referer 129
CustomLog 129
mod_mime 130
RefererIgnore 130
AddEncoding 130
RefererLog 130
AddHandler 131
AddLanguage 131
ForceType 132
SetHandler 132
AddType 132
MimeMagicFile 133
mod_mime_magic 133
mod_negotiation 133
TypesConfig 133
CacheNegotiatedDocs 134
LanguagePriority 134
mod_proxy 135
ProxyRequests 135
ProxyRemote 135
ProxyPass 136
ProxyPassReverse 136
ProxyBlock 137
NoProxy 138
ProxyDomain 138
ProxyReceiveBufferSize 138
CacheRoot 139
CacheSize 139
CacheGcInterval 139
CacheMaxExpire 140
CacheLastModifiedFactor 140
CacheDirLength 140
CacheDirLevels 141
CacheForceCompletion 141
NoCache 142
mod_rewrite 142
RewriteEngine 143
RewriteOptions 144
RewriteRule 144
RewriteCond 146
RewriteMap 148
RewriteLog 149
RewriteLogLevel 149
RewriteBase 149
mod_setenvif 150
BrowserMatch 150
RewriteLock 150
SetEnvlf 151
SetEnvlfNoCase 151
BrowserMatchNoCase 151
CheckSpelling 152
mod_status 152
mod_speling 152
ExtendedStatus 153
mod_userdir 154
UserDir 154
mod_unique_id 154
mod_usertrack 155
CookieExpires 155
CookieTracking 156
第五章 设置虚拟站点 157
基于IP的虚拟主机的DNS配置 157
基于名称的虚拟主机的DNS的配置 159
虚拟站点的Apache配置 160
多个后台邮件发送程序(daemon)的配置 160
单个后台邮件发送程序(daemon)的配置 161
虚拟主机的限制因素 171
第二部分 服务器方命令和脚本 173
第六章 服务器端包含(Server Side Includes) 175
Apache的SSI配置 175
添加SSI页面的新句柄 176
为SSI页面添加新的文件扩展名 177
启动目录的SSI解析 178
SSI命令的使用 178
config 179
echo 182
exec 182
fsize 186
flastmod 186
include 187
set 188
SSI变量的使用 188
printenv 188
SSI流控制命令的使用 189
SERVER_SOFTWARE 193
服务器专用环境变量 193
GATEWAY_INTERFACE 193
第七章 CGI配置 193
SERVER_NAME 194
客户机请求专用环境变量 194
HTTP_HOST 194
HTTP_ACCEPT 194
DOCUMENT_ROOT 194
SERVER_ADMIN 194
HTTP_ACCEPT_LANGUAGE 195
HTTP_USER_AGENG 195
HTTP_ACCEPT_CHARSET 195
SERVER_PORT 196
HTTP_CONNECTION 196
REMOTE_HOST 196
HTTP_REFERER 196
SERVER_PROTOCOL 197
REMOTE_USER 197
REQUEST_METHOD 197
REMOTE_ADDR 197
REMOTE_PORT 197
CONTENT_TYPE 198
AUTH_TYPE 198
CONTENT_LENGTH 198
REMOTE_IDENT 198
REQUEST_URI 198
SCRIPT_FILENAME 199
PATH_INFO 199
SCRIPT_NAME 199
Apache的CGI配置 200
创建CGI程序目录 200
PATH_TRANSLATED 200
特殊的CGI文件扩展名的选择 202
允许用户对Cgi-Bin访问 203
CGI程序的运行 206
一个简单的CGI脚本 206
使用AddType创建新的CGI扩展名 206
使用广泛使用的CGI模块支持Perl 208
CGI程序的调试 209
ScriptLog 209
ScriptLogLength 210
ScriptLogBuffer 210
支持Apache的FastCGI模块-mod_fastcgi.c 211
FastCGI软件组件的获得 211
支持Perl的FastCGI模块-FCGI.pm 211
FastCGI开发软件包 211
FastCGI使用平台 211
第八章 FastCGI 211
使用APACI(Apache1.3.x或更早版本) 212
传统方法(Apache1.2x或更早版本) 212
具有FastCGI支持的Apache的编译 212
FastCGI的Apache的配置 213
FastCGI指令的使用 213
Apache更新的验证 213
在httpd.conf中使用
在httpd.conf中使用AddType和AddHandler指令进行FastCGI配置 217
基于Perl的FastCGI脚本的运行 217
安装Perl的FCGI.pm模块 218
使用FCGI.pm编写FastCGI脚本 218
使用CGI.pm编写FastCGI脚本 219
mod_perl模块的预安装任务 221
mod_perl模块的安装 221
第九章 Apache中嵌入Perl 221
使用mod_perl的Apache::Registry模块运行Perl CGI脚本 223
导出Perl CGI脚本时的问题 226
支持mod_perl的Perl模块的编写 227
CGI.pm及CGI::* 模块的使用 229
Apache DB/DBM鉴权模块的使用 229
服务器端包含与mod_perl的集成 231
使用Perl配置Apache 232
mod_perl使用的特殊问题 236
内存的使用 236
安全性问题 237
第三部分 普通的管理任务 239
使用基于主机的鉴权 241
allow 241
第十章 WWW鉴权 241
deny 243
deny from env=variable 243
allow from env=variable 243
order 244
使用指定HTTP格式下的基本鉴权 245
使用标准mod_auth模块进行鉴权 246
mod_auth_dbm的使用 253
mod_auth_db模块的使用 257
使用mod_auth_external 259
外部鉴权机制的使用 261
第十一章 服务器的状态和日志 271
通过Web访问服务器的配置状态 271
通过Web监视服务器状态 272
简化状态显示 274
存储服务器状态信息 274
生成服务器日志文件 275
CookieLog 276
LogFormat 277
TransferLog 277
CustomLog 277
定制服务器日志文件 278
生成多个日志文件 280
存储指定的信息 281
存储用户代理信息 281
存储参考者的信息 282
存储cookies 283
使用错误日志 285
分析服务器日志文件 287
使用rotatelog 289
使用logrotate 289
维护服务器日志文件 289
第十二章 Web安全性 291
降低CGI隐患 291
防止恶意用户对CGI应用程序的输入 292
终止嵌入在有害的用户输入中的系统调用 293
停止拒绝服务的攻击 299
使HTML不能在你的站点上发布 300
使用封装来限制CGI隐患 300
减少服务器端包含的隐患 306
为Apache寻找正确的SSL解决方案 307
使用Apache-SSL修补Apache 307
第三十章 Apache的安全套接层(SSL) 307
建立SSLeay 308
建立Apache-SSL 309
生成一个临时证书 309
配置Apache-SSL所用的命令 310
为Apache-SSL配置Apache 314
检测安全的服务器 320
使用mod_ssl 324
得到mod_ssl 324
编译和安装mod_ssl 325
为mod_ssl软件包配置Apache 327
检测以mod_ssl模块建立的Apache 341
得到一个CA签字的证书 341
mod_rewrite模块里的标准变量 343
在Apache里安装mod_rewrite模块 343
AccessConfig 343
第十四章 URL的改写操作 343
mod_rewrite指令集 344
改写规则的实例 351
URL布局 351
内容的处理 356
访问限制 358
第十五章 Apache的代理(Proxy) 361
代理模块的编译 361
代理模块的指令集 362
代理服务器的配置 370
专有IP网络到国际互连网的联结 370
远程Web站点的缓存 371
Web站点的镜象 372
逆向代理服务器的创建 373
使用代理服务器时Web 浏览器的设置 373
手动代理配置 374
自动代理配置 375
只对这程URL请求使用代理服务 380
使用多个代理服务器 380
附录A 385
附录B 389
附录C 391
附录D 395