Apache管理员手册

Apache管理员手册
作 者: Rich Bowen 陈德华 周艳 王涛
出版社: 机械工业出版社
丛编项: Linux与自由软件资源丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Apache
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Apache管理员手册》作者简介

内容简介

本书重点介绍如何使用和管理Apache服务器。全书分五大部分。第一部分介绍如何取得、编译、简单配置和运行Apache,包括如何使用一些基本的配置指令和主要的配置工具以及虚拟主机的基本配置。第二部分讨论一些高级配置技巧,包括MIME、URL映射、内容协商、目录索引、Windows上的Apache和性能调整。第三部分讲述动态内容,包括处理程序、过滤器、CGI、SSI、mod_perl和PHP。第四部分介绍Apache安全和检查,包括Apache及动态生成内容的安全,在Apache中如何进行验证、授权和控制访问,SSL和spider的原理和使用,以及Apache日志。第五部分讨论Apache模块,分别阐述了Apache自带模块和特殊用途的Apache模块。本书适合于Apache服务器管理员以及想了解服务器系统的开发人员阅读。

图书目录

第一部分 安装和配置Apache服务器

第1章 开始 1

1.1 选择Web服务器 1

1.1.1 兼容性问题 1

1.1.2 现有技术能力 1

1.1.3 行政命令 1

1.1.4 客户 1

1.2 硬件和软件要求 2

1.3 连通性 2

1.4 选择使用主机托管还是自己管理主机 3

1.4.1 连通性 3

1.4.2 可靠的连接 3

1.4.3 你是否需要频繁访问服务器 3

1.5 需要向ISP询问的问题 4

1.5.1 共享空间. 专用服务器. 还是两者

搭配 4

1.5.2 当出现问题时如何处理 4

1.5.3 数据备份 4

1.5.4 安装软件 4

1.6 FTP. telnet. SCP. SSH:向网站上传

内容 5

1.6.1 telnet和SSH—连接到服务器 5

1.6.2 FTP和SCP—向你的服务器上传

文件 6

1.7 小结 7

第2章 获取和安装Apache服务器 8

2.1 针对心急者的概述 8

2.2 从何处得到Apache服务器 8

2.3 解压源代码 9

2.4 代码树 9

2.4.1 cgi-bin 10

2.4.2 conf 10

2.4.3 htdocs 10

2.4.4 icons 10

2.4.5 logs 10

2.4.6 src 10

2.5 安装二进制发行版本 11

2.5.1 基于Windows系统的安装过程 11

2.5.2 源码与二进制的安装方式 11

2.6 配置 12

2.6.1 配置选项 12

2.6.2 目录和文件名 12

2.6.3 主机类型 13

2.6.4 功能和模块 13

2.6.5 一个默认安装 13

2.7 make && make install 13

2.8 小结 14

第3章 启动. 停止和重启 15

3.1 apachectl 15

3.2 httpd 16

3.2.1 用httpd来执行启动和停止 16

3.2.2 命令行标志 16

3.3 用系统启动来启动Apache服务 17

3.4 Microsoft Windows 17

3.4.1 用命令行启动 18

3.4.2 以服务器形式安装Apache 18

3.4.3 Apache服务的启动和停止 18

3.5 小结 19

第4章 配置指令 20

4.1 配置文件 20

4.2 配置文件语法 20

4.2.1 指令 21

4.2.2 段 21

4.2.3 注释 24

4.3 指定非默认配置文件 25

4.4 测试配置 25

4.5 Options:开启功能 27

4.5.1 通用语法 28

4.5.2 ExecCGI 28

4.5.3 FollowSymLinks 28

4.5.4 SymLinksIfOwnerMatch 29

4.5.5 Includes 29

4.5.6 IncludesNOEXEC 29

4.5.7 Indexes 29

4.5.8 MultiViews 30

4.5.9 All 30

4.5.10 None 30

4.6 安全问题 30

4.7 小结 30

第5章 配置工具 31

5.1 GUI和配置文件 31

5.2 Webmin 32

5.3 Comanche 39

5.3.1 安装 39

5.3.2 使用Comanche 40

5.4 小结 42

第6章 .htaccess文件—目录的配置 44

6.1 AccessFileName 44

6.2 AllowOverride 45

6.2.1 AuthConfig(验证) 45

6.2.2 FileInfo 45

6.2.3 Indexes 46

6.2.4 Limit 46

6.2.5 Options 46

6.2.6 All 47

6.2.7 None 47

6.3 警告和限制 47

6.3.1 性能 47

6.3.2 安全 48

6.4 小结 49

第7章 虚拟主机 50

7.1 基于IP的虚拟主机 50

7.1.1 多IP地址的安装 50

7.1.2 配置虚拟主机 50

7.2 基于名字的虚拟主机 51

7.3 基于端口的虚拟主机 52

7.4 大批量虚拟主机服务 53

7.4.1 每个虚拟主机的配置文件 53

7.4.2 mod_vhost_alias 53

7.5 运行多后台程序 55

7.6 小结 55

第二部分 高级配置技巧

第8章 MIME和文件类型 57

8.1 MIME和HTTP 57

8.2 MIME类型的配置指令 57

8.2.1 MIME类型配置 57

8.2.2 编码 59

8.3 字符集和语言 60

8.3.1 AddCharset 60

8.3.2 RemoveCharset 61

8.3.3 AddLanguage 61

8.3.4 RemoveLanguage 61

8.3.5 DefaultLanguage 61

8.4 多扩展名文件 61

8.5 处理程序 62

8.6 小结 62

第9章 URL映射 63

9.1 Location 63

9.2 Alias 63

9.3 ScriptAlias 64

9.4 AliasMatch和ScriptAliasMatch 64

9.5 Redirect 64

9.5.1 RedirectMatch 65

9.5.2 RedirectTemp和RedirectPermanent 65

9.6 DocumentRoot 65

9.7 错误文档 66

9.8 URL重写 67

9.9 小结 67

第10章 内容协商 68

10.1 客户端性能 68

10.1.1 Accept数据头 68

10.1.2 质量系数 69

10.2 协商方式 69

10.2.1 类型映射文件 69

10.2.2 MultiViews 71

10.3 不兼容的浏览器 72

10.4 高速缓存 72

10.5 小结 72

第11章 目录索引 73

11.1 DirectoryIndex 73

11.2 Options +Indexes 74

11.3 IndexOptions—“奇特的”索引 74

11.3.1 IndexOptions的语法 74

11.3.2 FancyIndexing 74

11.3.3 DescriptionWidth 75

11.3.4 AddIcon 75

11.3.5 FoldersFirst 77

11.3.6 HTMLTable 77

11.3.7 图标尺寸 78

11.3.8 IconsAreLinks 78

11.3.9 IgnoreClient 78

11.3.10 NameWidth 78

11.3.11 ScanHTMLTitles 78

11.3.12 SuppressColumnSorting 79

11.3.13 SuppressDescription 79

11.3.14 SuppressHTMLPreamble 79

11.3.15 SuppressIcon 79

11.3.16 SuppressLastModified 80

11.3.17 SuppressRules 80

11.3.18 SuppressSize 80

11.3.19 TrackModified 80

11.3.20 VersionSort 80

11.4 AddDescription 81

11.5 数据头和页脚 81

11.6 忽略文件 82

11.7 搜索和排序 82

11.7.1 1.3版的排序 83

11.7.2 2.0版的排序 83

11.7.3 IndexOrderDefault 85

11.8 示例 85

11.8.1 示例1 85

11.8.2 示例2 85

11.9 索引的安全因素 86

11.10 小结 86

第12章 Windows上的Apache 87

12.1 要求 87

12.2 下载 87

12.3 安装 88

12.4 启动和停止服务 90

12.5 模块 91

12.6 Windows和Unix上的Apache之间的

不同点 91

12.6.1 线程与预派生 91

12.6.2 MaxRequestsPerChild 92

12.6.3 CGI脚本 92

12.6.4 .htaccess文件 93

12.6.5 文件路径 93

12.7 小结 94

第13章 性能调整 95

13.1 正确优化 95

13.1.1 ApacheBench 95

13.1.2 Profiling 96

13.2 硬件要求 96

13.2.1 内存 96

13.2.2 磁盘 96

13.2.3 CPU 96

13.3 Apache配置 96

13.3.1 HostnameLookups 97

13.3.2 符号链接 97

13.3.3 AllowOverride和.htaccess文件 97

13.3.4 内容协商 98

13.3.5 进程创建 98

13.4 缓存和代理 99

13.5 Squid 99

13.6 小结 100

第三部分 动态内容

第14章 处理程序和过滤器 101

14.1 处理程序 101

14.1.1 配置 101

14.1.2 default-handler 102

14.1.3 send-as-is 103

14.1.4 cgi-script 103

14.1.5 imap-file 103

14.1.6 server-info 105

14.1.7 server-status 105

14.1.8 server-parsed 108

14.1.9 type-map 108

14.2 定制处理程序 108

14.3 过滤器 109

14.3.1 过滤器的配置 109

14.3.2 INCLUDES过滤器 110

14.4 小结 110

第15章 CGI程序 111

15.1 Apache配置 111

15.1.1 ExecCGI选项 111

15.1.2 AddHandler cgi-script 112

15.1.3 SetHandler cgi-script 112

15.1.4 ScriptAlias 112

15.2 一个CGI程序的剖析 113

15.3 输入 113

15.3.1 环境变量 113

15.3.2 表单输入 114

15.4 输出 119

15.5 示例程序 119

15.5.1 简单的CGI程序——Perl 120

15.5.2 Windows上的CGI程序 121

15.5.3 常见问题解答 122

15.6 CGI的限制 123

15.7 小结 123

第16章 SSI 124

16.1 SSI配置 124

16.1.1 用文件扩展名启动SSI 124

16.1.2 使用XBitHack指令 126

16.2 使用SSI指令 126

16.3 SSI的变量和条件控制 131

16.4 安全考虑 133

16.5 小结 133

第17章 mod_perl 134

17.1 mod_perl是什么 134

17.2 安装 134

17.2.1 “简单的”形式 135

17.2.2 “骇人听闻”的细节 135

17.2.3 启动mod_perl 136

17.3 配置 136

17.4 mod_perl下的CGI 137

17.4.1 Apache::Registry 137

17.4.2 Apache::PerlRun 139

17.4.3 性能比较 139

17.5 使用mod_perl的Apache处理程序 140

17.5.1 编写一个mod_perl处理程序 140

17.5.2 mod_perl处理程序的示例 140

17.5.3 安装mod_perl处理程序的示例 141

17.5.4 配置mod_perl处理程序 141

17.5.5 一个有点用处的示例 142

17.6 常见问题 142

17.6.1 不要exit 142

17.6.2 重启服务器 143

17.6.3 你在什么地方得到那个值 143

17.7 Windows上的mod_perl 143

17.8 哪里可以获取更多信息 143

17.9 小结 144

第18章 PHP 145

18.1 PHP是什么 145

18.1.1 PHP的历史 145

18.1.2 PHP的架构 146

18.2 PHP的优势和劣势 146

18.2.1 优势 146

18.2.2 PHP的劣势 147

18.2.3 各种语言之间的比较 148

18.3 下载和安装PHP 149

18.3.1 安装二进制包 149

18.3.2 从源代码安装PHP 149

18.4 PHP扩展 151

18.4.1 普通选项 152

18.4.2 图像支持 152

18.4.3 Flash动画 153

18.4.4 PDF生成 154

18.4.5 数据库支持 154

18.4.6 XML支持 154

18.4.7 会话支持 155

18.5 PHP配置 155

18.5.1 PHP语言 156

18.5.2 错误处理 156

18.5.3 输出处理 156

18.5.4 安全 157

18.5.5 动态扩展支持 157

18.6 资源 158

18.6.1 PHP 158

18.6.2 支持 158

18.6.3 PHP相关书籍 158

18.6.4 网站 158

18.6.5 PHP GTK 159

18.6.6 商业性质的供应商 159

18.7 小结 159

第四部分 安全和检查

第19章 Apache安全 161

19.1 开发一个安全策略 162

19.2 理解*nix文件权限 164

19.2.1 用户和组 165

19.2.2 Apache用户 166

19.2.3 用户权限 166

19.3 限制模块 167

19.4 小心使用SSI 168

19.5 小心使用.htaccess 169

19.6 使用预备服务器 170

19.7 虚拟主机的特殊问题 172

19.8 Windows上的Apache的特殊问题 173

19.9 小结 173

第20章 动态内容的安全性 174

20.1 理解动态内容的安全风险 174

20.2 要编译的动态内容和要解析的动态

内容 176

20.3 编写更安全的动态内容 176

20.3.1 用cgi-bin与否 176

20.3.2 常见错误 177

20.3.3 Perl 177

20.3.4 PHP 178

20.3.5 C和C++ 179

20.4 wrapper 180

20.4.1 CGIWrap 180

20.4.2 suEXEC 182

20.5 检查已有脚本中的代码 183

20.6 Windows CGI的特定问题 183

20.7 小结 184

第21章 验证. 授权和访问控制 185

21.1 基本验证 185

21.1.1 基本验证的工作原理 185

21.1.2 配置:用基本验证保护内容 186

21.1.3 关于基本验证的常见问题 188

21.1.4 安全警告 190

21.2 摘要验证 190

21.2.1 摘要验证的工作原理 190

21.2.2 配置:用摘要验证保护内容 190

21.3 数据库验证模块 192

21.3.1 mod_auth_db和mod_auth_dbm 192

21.3.2 Berkeley DB文件 193

21.3.3 安装mod_auth_db 193

21.3.4 用mod_auth_db保护一个目录 193

21.4 访问控制 195

21.4.1 Allow和Deny 195

21.4.2 Satisfy 196

21.5 小结 197

第22章 SSL 198

22.1 加密技术 198

22.1.1 机密性 198

22.1.2 完整性 199

22.1.3 真实性 200

22.2 SSL介绍 200

22.3 安装SSL 202

22.3.1 OpenSSL 202

22.3.2 mod_ssl 202

22.4 证书 203

22.4.1 创建一个密钥对 204

22.4.2 创建一个证书签署请求 205

22.4.3 创建一个自签署的证书 205

22.5 SSL配置 206

22.5.1 算法 207

22.5.2 客户端证书 207

22.5.3 性能 207

22.5.4 记录 207

22.5.5 SSL选项 207

22.5.6 基于名字的虚拟主机 207

22.6 深层读物 207

22.7 小结 208

第23章 Web spider 209

23.1 spider是什么 209

23.2 spider:优点和缺点 210

23.2.1 服务器超载 210

23.2.2 “黑洞” 210

23.3 在日志文件中识别spider 210

23.4 从服务器上排斥spider 211

23.5 使用robots.txt的Robot扩展 211

23.5.1 ROBOTS meta标签 211

23.5.2 联系操作者 212

23.5.3 通过地址封锁一个spider 212

23.5.4 通过Deny from env封锁

一个spider 213

23.6 编写你自己的spider 213

23.7 小结 215

第24章 日志 216

24.1 access_log 216

24.2 错误日志 221

24.2.1 错误日志的位置 221

24.2.2 错误日志里面有什么 221

24.2.3 文档错误 222

24.2.4 CGI错误 223

24.2.5 查看错误日志 223

24.3 日志文件分析 224

24.3.1 日志文件能告诉你什么 224

24.3.2 日志文件无法告诉你什么 224

24.3.3 从日志中获取有用的统计表 225

24.3.4 自己分析日志文件 226

24.4 记录一个进程 226

24.5 日志文件交替 227

24.5.1 Logfile::Rotate 227

24.5.2 logrotate 228

24.6 记录多个虚拟主机 228

24.7 小结 228

第五部分 模 块

第25章 Apache模块介绍 229

25.1 Apache API 230

25.2 安装模块 230

25.2.1 把模块嵌入httpd 231

25.2.2 动态共享对象 231

25.3 小结 232

第26章 Apache自带的模块 233

26.1 模块 233

26.1.1 mod_access 233

26.1.2 mod_actions 233

26.1.3 mod_alias 233

26.1.4 mod_asis 234

26.1.5 mod_auth 234

26.1.6 mod_auth_anon 234

26.1.7 mod_auth_db 234

26.1.8 mod_auth_dbm 234

26.1.9 mod_auth_digest 234

26.1.10 mod_autoindex 235

26.1.11 mod_cern_meta 235

26.1.12 mod_cgi 235

26.1.13 mod_digest 235

26.1.14 mod_dir 235

26.1.15 mod_env 235

26.1.16 mod_example 236

26.1.17 mod_expires 236

26.1.18 mod_headers 236

26.1.19 mod_imap 236

26.1.20 mod_include 236

26.1.21 mod_info 236

26.1.22 mod_log_agent 237

26.1.23 mod_log_config 237

26.1.24 mod_log_referer 237

26.1.25 mod_mime 237

26.1.26 mod_mime_magic 237

26.1.27 mod_mmap_static 238

26.1.28 mod_negotiation 238

26.1.29 mod_proxy 238

26.1.30 mod_rewrite 238

26.1.31 mod_setenvif 238

26.1.32 mod_so 238

26.1.33 mod_speling 239

26.1.34 mod_status 239

26.1.35 mod_unique_id 239

26.1.36 mod_usertrack 239

26.1.37 mod_vhost_alias 239

26.2 安装或者默认一个标准模块 239

26.3 Apache 2.0 240

26.4 小结 240

第27章 特殊作用的Apache模块 241

27.1 查找Apache模块 241

27.1.1 modules.apache.org 241

27.1.2 CPAN 242

27.1.3 搜索模块 242

27.1.4 邮件发送列表通告 242

27.2 模块的示例 242

27.2.1 使用LDAP的用户验证 242

27.2.2 相册 243

27.3 小结 243

第六部分 附 录

附录 A Apache软件许可 245

附录 B 配置命令行选项 247

附录 C 正则表达式 251

附录 D mod_perl示例代码 252

附录 E Apache的历史 254

附录 F 从哪里获取更多的信息 257

附录 G Apache 1.3及相关模块安装手册 260

附录 H Apache 2.0的安装与使用 270