标题：Apache服务器配置与使用工作笔记
图书基本信息
出版社：电子工业出版社  Apache服务器配置与使用工作笔记
出版时间：2012-04
版次：01-01
作者：王江伟
开 本：16(185*235)
千 字 数：518
I S B N ：9787121165443
条形码：9787121165443
图书分类：计算机
定价：59.00
图书内容简介
Apache服务器是伴随Internet的出现而出现的Web服务器软件，目前还是Internet中使用最多的Web服务器软件，可以说Apache代表了目前网络服务器的先进技术。本书详细介绍了新版本的Apache服务器软件的安装、配置与管理，通过这些介绍，读者能快速地将Apache运用到工作中。在每个章节后附有常见问题解答（FAQ），帮助读者解决一些在Apache使用上的疑难杂症，从而为Web管理员节省更多的时间。
图书前言
由于工作的关系，我需要经常使用Apache软件，但是国内目前并没有一本让我觉得非常好的关于介绍Apache的书，于是我不得不通过网络去搜索与学习，在这期间我累积了很多关于Apache的资料和笔记，直到有一天我开始整理这些笔记，打算将它们汇集成一个关于Apache的资料集以备平时查用时，才发现原来我已经有很多关于Apache的资料和笔记，这些资料涵盖Apache的各个方面，足可以写一本关于Apache的书了。于是我在这个资料集写了一半的时候抱着试试看的心理给电子工业出版社投稿，没有想到通过了审核，接着便有了这本《Apache服务器配置与使用工作笔记》。
在这本书中我将介绍Apache的历史、安装、配置与管理方面的内容，由于时间有限不能为读者全面介绍Apache服务器的所有内容，但是一些常用的内容以及一些新增加的功能都会介绍到，同时本书所介绍的每一个实例都是在Debian 6.0以及LFS 7.0系统上运行通过。并且我在每个章节的后面都附上了一组常见问题解答，这些常见问题解答会针对本章经常遇到的问题进行解答。也希望通过这些介绍让读者在使用Apache进行工作时可以省去一些解决问题的时间。
本书适用人群
本书适合Web系统的管理员或UNIX/Linux管理员，以及想学习如何使用Apache的用户。书中使用了大量的UNIX/Linux命令和工具，因此，阅读本书的读者需要对UNIX/Linux有一定了解，并具有能在UNIX/Linux平台上完成UNIX/Linux服务器的安装、维护、程序代码的阅读、使用VI编辑器等工作的能力。
使用的平台、软件版本
本书所使用的平台为Linux平台，操作系统为Debian 6.0。
Apache版本为2.2.21，默认的源代码解压目录均为/usr/src/。
本书所介绍的例子与命令均在Debian 6.0上测试通过。
本书所有控制台命令都默认为root用户输入，在实际工作中建议读者使用普通账号进行操作，并且在测试平台上通过后再在生产系统中运行。
本书的结构
本书分为15个章节和3个附录，读者可以按顺序进行阅读，从最基本的内容开始，如果读者非常了解Web服务器的功能和作用，那么也可以直接选择自己所需要的章节进行阅读。
第1章　关于Apache
介绍Apache的起源与演变的过程以及重大版本的改进。
第2章　Apache的安装
介绍Apache的编译、安装以及在编译安装时所需要使用到的一些工具及模板。如果读者没有编译过Apache服务器，那么，建议先了解一下Apache编译需求与流程，然后自己编译一下，以了解一些关于Apache的知识，例如，如何设置安装目录等内容。
第3章　运行、监控Apache
介绍了如何手动、自动启动Apache服务器，并对Apache进行控制与管理，以及使用Apache所提供的监视器和一些第三方工具来监控Apache的运行。
第4章　Apache模块
模块是Apache的核心内容之一，在这一章中介绍了Apache服务器模块的类型，以及如何编译、安装模块，同时介绍了如何为Apache增加一些常用的如PHP、Perl等第三方模块。
第5章　配置Apache
介绍了 Apache配置文件的组成以及如何使用Apache指令来配置服务器，读者在学完本章后即可按自己的需求建立一个Apache服务器。
第6章　虚拟主机配置
使用虚拟主机可以让你在一台物理主机上运行或维护多个Web站点，本章详细介绍了在Apache所支持的两种虚拟主机的配置方式，以及如何生成动态的虚拟主机等内容。
第7章　CGI、FastCGI、SSI
CGI是传统的网站功能之一，而SSI、FastCGI则是在后期发展起来的技术，本章介绍如何在Apache中使用这些功能来为你的网站服务。
第8章　别名和重定向
别名和重定向是非常有用的功能，特别是重定向，它几乎可以改写任何的用户请求链接，学习这个模块并不是一件轻松的事情，但是由于其功能强大，因此值得花时间学习，推荐每一个系统管理员都要了解此功能。
第9章　代理服务器与缓存
介绍了如何将Apache作为正向、反向代理服务器来使用，同时介绍了通过使用Apache的缓存模块来提高服务器的响应速度。
第10章　数据库连接管理
数据库连接管理（mod_dbd模块）是Apache的新功能之一，它提供了Apache与其他数据库连接和支持的可能，使用Apache自带的数据库连接管理可以获得持久连接或是连接池等功能，从而节省更多的系统资源。
第11章　Apache日志控制
Apache的日志会提供关于Apache运行的详细信息，本章详细介绍如何自定义Apache的日志来提供用户所需要的信息，同时又不会为Apache造成负担。另外，还介绍了日志循环的方法以及如何对日志进行分析以获得有用的信息。
第12章　性能调整及服务器安全
介绍如何选择合适的多路处理模块来提升Apache服务器性能，以及使用第三方加速软件来提高服务器运行速度，同时还介绍了常用的服务器安全检查脚本工具。
第13章　身份认证
身份认证在所有服务器中都是很重要的事情，本章将介绍Apache提供的大量的身份验证与授权模块来实现对用户的身份认证与授权。读者在本章将找到适合自己的认证方式。
第14章　SSL（安全套接层协议）
身份认证虽然能保证让正确的人看到正确的信息，但是却不能保证数据在传输过程中的安装，如果你想在第13章的基础上更好地保护你的数据传输，可以试试本章所介绍的SSL功能，它将为你的连接启用加密服务，从而保证数据传输过程中的安全性与完整性。
第15章　元信息与内容协商
本章将介绍元信息与内容协商的基本原理，并指导读者完成对服务器元信息的处理，而在内容协商部分，将介绍如何更好地向客户端浏览器传输数据。
图书目录
第1章 关于Apache 1
1.1 Apache 1.3.x介绍 1
1.2 Apache 2.0/2.2介绍 2
1.3 Apache 2.3/2.4介绍 3
第2章 Apache的安装 6
2.1 使用二进制程序安装 6
2.1.1 使用rpm或deb格式安装 6
2.1.2 使用已经编译好的包安装 8
2.2 使用源代码安装Apache 11
2.2.1 编译安装Apache 12
2.2.2 使用Apache Toolbox编译 21
2.3 常见问题解答（FAQ） 23
2.3.1 常用的优化参数 23
2.3.2 关于-O参数的设置 24
2.3.3 不知道该使用哪种参数进行优化 25
2.3.4 make install出错 25
2.3.5 安装mod_deflate模块出错 25
2.3.6 suEXEC模块的安装 26
2.3.7 无法安装mod_authnz_ldap模块 27
第3章 运行、监控Apache 29
3.1 运行Apache 29
3.1.1 手动启动Apache服务器 29
3.1.2 自动启动Apache服务器 30
3.1.3 停止Apache服务器 35
3.1.4 使用apachectl程序控制Apache 36
3.1.5 运行多个Apache服务器 37
3.1.6 使用容器实现不同的配置 37
3.1.7 httpd命令行参数 38
3.2 监控Apache 40
3.2.1 Apache自带的Web监视器 41
3.2.2 使用第三方的工具来监控Apache 46
3.3 常见问题解答（FAQ） 49
3.3.1 Apache启动后通过浏览器访问提示：“您没有权限访问此服务器上的/” 49
3.3.2 启动Apache时提示的常见错误 50
第4章 Apache模块 51
4.1 模块的类型 52
4.2 使用apxs编译安装模块 52
4.3 使用静态链接模块 56
4.4 使用动态链接模块 56
4.4.1 Apache 2.x动态链接模块使用方法 57
4.4.2 Apache 1.3.x动态链接模块使用方法 58
4.5 为Apache增加新模块 59
4.5.1 Perl 59
4.5.2 PHP 62
4.6 常见问题解答（FAQ） 64
4.6.1 以静态的方式编译PHP到Apache 1.3.x中 64
4.6.2 能否将PHP静态编译到Apache 2.x中 64
4.6.3 如何测试已经安装的PHP 64
4.6.4 编译了mod_perl模块，但是Apache无法加载它 65
4.6.5 编译mod_perl模块出错 66
4.6.6 如何测试Apache的CGI是否支持Perl 66
4.6.7 如何测试mod_perl已经启动 67
4.6.8 测试mod_perl是否工作 68
4.6.9 使用mod_perl来加速Perl脚本 69
第5章 配置Apache 71
5.1 http.conf文件 72
5.1.1 主服务器部分 74
5.1.2 容器部分 78
5.1.3 服务器扩展部分 81
5.2 .htaccess文件 82
5.2.1 映射用户到目录 83
5.2.2 目录的索引 85
5.2.3 GUI配置工具 90
5.3 常见问题解答（FAQ） 95
5.3.1 使用httpd –D来指定ServerRoot目录 95
5.3.2 Port 和Bindaddress指令 96
5.3.3 容器的处理顺序 96
5.3.4 目录、文件、网络容器的安全问题 97
5.3.5 关于Perl和PHP指令 98
5.3.6 .htaccess文件中写入了配置指令没有生效 98
5.3.7 使用suEXEC 98
5.3.8 将目录放入高速缓存中 99
第6章 虚拟主机配置 100
6.1 基于名字的虚拟主机 101
6.2 基于IP的虚拟主机 102
6.3 动态虚拟主机 104
6.3.1 使用vhost_alias_module模块建立动态虚拟主机 104
6.3.2 使用rewrite_module模块建立大量的虚拟主机 106
6.4 常见问题解答（FAQ） 107
6.4.1 使用IPv6的地址配置虚拟主机 107
6.4.2 取消默认主机 107
6.4.3 使用ServerAlias指令定义的网站别名无法访问 107
6.4.4 如何支持古老的浏览器 107
6.4.5 为虚拟主机使用日志 108
6.4.6 合并虚拟主机日志 108
6.4.7 在多个地址上显示同样的内容 109
6.4.8 让虚拟主机支持SSL 109
6.4.9 使用虚拟主机的建议 110
第7章 CGI、FastCGI、SSI 111
7.1 CGI 111
7.1.1 mod_cgi模块 111
7.1.2 mod_actions模块 113
7.1.3 CGI环境变量 114
7.1.4 修改CGI、SSI环境变量 115
7.1.5 mod_cgid模块 116
7.2 FastCGI 117
7.2.1 安装mod_fcgid 118
7.2.2 配置mod_fcgid 119
7.2.3 mod_fcgid模块指令 122
7.3 SSI 123
7.3.1 启用SSI支持 123
7.3.2 SSI标记符 124
7.3.3 流控制 128
7.3.4 其他SSI指令 129
7.4 常见问题解答（FAQ） 129
7.4.1 很多人使用Perl来编写CGI脚本，我是否也需要使用Perl 129
7.4.2 使用fixconf.sed替换指令时遇到错误 129
7.4.3 为什么Perl脚本无法执行 130
7.4.4 安装了Perl的FCGI模块，但脚本还是无法运行 130
7.4.5 为什么Apache服务器没有为SSI页面发送最后的修改日期 131
7.4.6 让Apache对特定的HTML类型文件进行SSI解析 131
7.4.7 Apache所带的SSI功能太少了，如何得到更多功能的SSI 131
7.4.8 不在由ScriptAlias所定义的目录下使用CGI脚本 131
7.4.9 如何在Windows系统中使用CGI 132
7.4.10 为特定的文件调用CGI处理器 132
第8章 别名和重定向 133
8.1 mod_alias模块 133
8.1.1 别名的定义 133
8.1.2 重定向的定义 135
8.2 mod_rewrite模块 137
8.2.1 工作流程 137
8.2.2 规则集 138
8.2.3 重写指令 139
8.3 常见问题解答（FAQ） 148
8.3.1 如何提高mod_rewrite模块的工作效率 148
8.3.2 如何完全禁止重写日志 148
8.3.3 目录级改写中的查询字符串 148
8.3.4 让用户首先访问某一目录 148
8.3.5 规范化URL 148
8.3.6 将多个URL重定向到一个位置 149
8.3.7 将多个CGI目录重定向到一个CGI目录中 149
8.3.8 无视URL中所有的大小写区分 149
8.3.9 将部分地址的URL重定向到SSL服务器上 149
第9章 代理服务器与缓存 150
9.1 代理服务器 150
9.1.1 正向代理 151
9.1.2 逆向代理 151
9.1.3 Apache的代理模块 152
9.1.4 Apache的其他代理模块 157
9.2 缓存模块 157
9.2.1 mod_cache模块 157
9.2.2 mod_mem_cache模块 159
9.2.3 mod_disk_cache模块 160
9.2.4 维护磁盘缓存区 162
9.2.5 mod_file_cache的文件缓存支持 163
9.3 常见问题解答（FAQ） 164
9.3.1 为什么需要使用缓存模块 164
9.3.2 缓存多个文件 164
9.3.3 缓存调用了CGI程序的页面，但还是很慢 165
9.3.4 使用其他服务器作为图片服务器 165
9.3.5 禁止代理服务器转发电子邮件 165
9.3.6 在代理服务器中禁止所指定的网站 166
9.3.7 htcacheclean的使用 166