出版时间:2012-4 出版社:电子工业出版社 作者:王江伟
Tag标签:无
前言
由于工作的关系,我需要经常使用Apache软件,但是国内目前并没有一本让我觉得非常好的关于介绍Apache的书,于是我不得不通过网络去搜索与学习,在这期间我累积了很多关于Apache的资料和笔记,直到有一天我开始整理这些笔记,打算将它们汇集成一个关于Apache的资料集以备平时查用时,才发现原来我已经有很多关于Apache的资料和笔记,这些资料涵盖Apache的各个方面,足可以写一本关于Apache的书了。于是我在这个资料集写了一半的时候抱着试试看的心理给电子工业出版社投稿,没有想到通过了审核,接着便有了这本《Apache服务器配置与使用工作笔记》。在这本书中我将介绍Apache的历史、安装、配置与管理方面的内容,由于时间有限不能为读者全面介绍Apache服务器的所有内容,但是一些常用的内容以及一些新增加的功能都会介绍到,同时本书所介绍的每一个实例都是在Debian6.0以及LFS7.0系统上运行通过。并且我在每个章节的后面都附上了一组常见问题解答,这些常见问题解答会针对本章经常遇到的问题进行解答。也希望通过这些介绍让读者在使用Apache进行工作时可以省去一些解决问题的时间。本书适用人群本书适合Web系统的管理员或UNIX/Linux管理员,以及想学习如何使用Apache的用户。书中使用了大量的UNIX/Linux命令和工具,因此,阅读本书的读者需要对UNIX/Linux有一定了解,并具有能在UNIX/Linux平台上完成UNIX/Linux服务器的安装、维护、程序代码的阅读、使用VI编辑器等工作的能力。使用的平台、软件版本本书所使用的平台为Linux平台,操作系统为Debian6.0。Apache版本为2.2.21,默认的源代码解压目录均为/usr/src/。本书所介绍的例子与命令均在Debian6.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、SSICGI是传统的网站功能之一,而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章元信息与内容协商本章将介绍元信息与内容协商的基本原理,并指导读者完成对服务器元信息的处理,而在内容协商部分,将介绍如何更好地向客户端浏览器传输数据。致谢在这里我要感谢我的妈妈对我的照顾。同时还要感谢我的同事,在我完成本书的时间里他们帮我分担了一些属于我的工作,最后要感谢我的公司给我提供了一个宽松的工作环境,让我有足够的时间来完成这本书。
内容概要
apache服务器是伴随internet的出现而出现的web服务器软件,目前还是internet中使用最多的web服务器软件,可以说apache代表了目前网络服务器的先进技术。本书详细介绍了新版本的apache服务器软件的安装、配置与管理,通过这些介绍,读者能快速地将apache运用到工作中。在每个章节后附有常见问题解答(faq),帮助读者解决一些在apache使用上的疑难杂症,从而为web管理员节省更多的时间。
《apache服务器配置与使用工作笔记》适合web系统的管理员或unix/linux管理员,以及想学习如何使用apache的用户学习参考。
作者简介
王江伟,从1998年开始使用Linux系统以及虚拟机系统,目前供职于大型国有企业,从事信息化管理多年,拥有深厚的Windows与Linux系统管理经验。工作之余喜欢做蛋糕烘焙,并负责弦歌Linux的龙芯2F分支的开发与维护。
书籍目录
第1章 关于apache
1.1 apache 1.3.x介绍
1.2 apache 2.0/2.2介绍
1.3 apache 2.3/2.4介绍
第2章 apache的安装
2.1 使用二进制程序安装
2.1.1 使用rpm或deb格式安装
2.1.2 使用已经编译好的包安装
2.2 使用源代码安装apache
2.2.1 编译安装apache
2.2.2 使用apache toolbox编译
2.3 常见问题解答(faq)
2.3.1 常用的优化参数
2.3.2 关于-o参数的设置
2.3.3 不知道该使用哪种参数进行优化
2.3.4 make install出错
2.3.5 安装mod_deflate模块出错
2.3.6 suexec模块的安装
2.3.7 无法安装mod_authnz_ldap模块
第3章 运行、监控apache
3.1 运行apache
3.1.1 手动启动apache服务器
3.1.2 自动启动apache服务器
3.1.3 停止apache服务器
3.1.4 使用apachectl程序控制apache
3.1.5 运行多个apache服务器
3.1.6 使用[ifdefine]容器实现不同的配置
3.1.7 httpd命令行参数
3.2 监控apache
3.2.1 apache自带的web监视器
3.2.2 使用第三方的工具来监控apache
3.3 常见问题解答(faq)
3.3.1 apache启动后通过浏览器访问提示:“您没有权限访问此服务器上的/”
3.3.2 启动apache时提示的常见错误
第4章 apache模块
4.1 模块的类型
4.2 使用apxs编译安装模块
4.3 使用静态链接模块
4.4 使用动态链接模块
4.4.1 apache 2.x动态链接模块使用方法
4.4.2 apache 1.3.x动态链接模块使用方法
4.5 为apache增加新模块
4.5.1 perl
4.5.2 php
4.6 常见问题解答(faq)
4.6.1 以静态的方式编译php到apache 1.3.x中
4.6.2 能否将php静态编译到apache 2.x中
4.6.3 如何测试已经安装的php
4.6.4 编译了mod_perl模块,但是apache无法加载它
4.6.5 编译mod_perl模块出错
4.6.6 如何测试apache的cgi是否支持perl
4.6.7 如何测试mod_perl已经启动
4.6.8 测试mod_perl是否工作
4.6.9 使用mod_perl来加速perl脚本
第5章 配置apache
5.1 http.conf文件
5.1.1 主服务器部分
5.1.2 容器部分
5.1.3 服务器扩展部分
5.2 .htaccess文件
5.2.1 映射用户到目录
5.2.2 目录的索引
5.2.3 gui配置工具
5.3 常见问题解答(faq)
5.3.1 使用httpd –d来指定serverroot目录
5.3.2 port 和bindaddress指令
5.3.3 容器的处理顺序
5.3.4 目录、文件、网络容器的安全问题
5.3.5 关于perl和php指令
5.3.6 .htaccess文件中写入了配置指令没有生效
5.3.7 使用suexec
5.3.8 将目录放入高速缓存中
第6章 虚拟主机配置
6.1 基于名字的虚拟主机
6.2 基于ip的虚拟主机
6.3 动态虚拟主机
6.3.1 使用vhost_alias_module模块建立动态虚拟主机
6.3.2 使用rewrite_module模块建立大量的虚拟主机
6.4 常见问题解答(faq)
6.4.1 使用ipv6的地址配置虚拟主机
6.4.2 取消默认主机
6.4.3 使用serveralias指令定义的网站别名无法访问
6.4.4 如何支持古老的浏览器
6.4.5 为虚拟主机使用日志
6.4.6 合并虚拟主机日志
6.4.7 在多个地址上显示同样的内容
6.4.8 让虚拟主机支持ssl
6.4.9 使用虚拟主机的建议
第7章 cgi、fastcgi、ssi
7.1 cgi
7.1.1 mod_cgi模块
7.1.2 mod_actions模块
7.1.3 cgi环境变量
7.1.4 修改cgi、ssi环境变量
7.1.5 mod_cgid模块
7.2 fastcgi
7.2.1 安装mod_fcgid
7.2.2 配置mod_fcgid
7.2.3 mod_fcgid模块指令
7.3 ssi
7.3.1 启用ssi支持
7.3.2 ssi标记符
7.3.3 流控制
7.3.4 其他ssi指令
7.4 常见问题解答(faq)
7.4.1 很多人使用perl来编写cgi脚本,我是否也需要使用perl
7.4.2 使用fixconf.sed替换指令时遇到错误
7.4.3 为什么perl脚本无法执行
7.4.4 安装了perl的fcgi模块,但脚本还是无法运行
7.4.5 为什么apache服务器没有为ssi页面发送最后的修改日期
7.4.6 让apache对特定的html类型文件进行ssi解析
7.4.7 apache所带的ssi功能太少了,如何得到更多功能的ssi
7.4.8 不在由scriptalias所定义的目录下使用cgi脚本
7.4.9 如何在windows系统中使用cgi
7.4.10 为特定的文件调用cgi处理器
第8章 别名和重定向
8.1 mod_alias模块
8.1.1 别名的定义
8.1.2 重定向的定义
8.2 mod_rewrite模块
8.2.1 工作流程
8.2.2 规则集
8.2.3 重写指令
8.3 常见问题解答(faq)
8.3.1 如何提高mod_rewrite模块的工作效率
8.3.2 如何完全禁止重写日志
8.3.3 目录级改写中的查询字符串
8.3.4 让用户首先访问某一目录
8.3.5 规范化url
8.3.6 将多个url重定向到一个位置
8.3.7 将多个cgi目录重定向到一个cgi目录中
8.3.8 无视url中所有的大小写区分
8.3.9 将部分地址的url重定向到ssl服务器上
第9章 代理服务器与缓存
9.1 代理服务器
9.1.1 正向代理
9.1.2 逆向代理
9.1.3 apache的代理模块
9.1.4 apache的其他代理模块
9.2 缓存模块
9.2.1 mod_cache模块
9.2.2 mod_mem_cache模块
9.2.3 mod_disk_cache模块
9.2.4 维护磁盘缓存区
9.2.5 mod_file_cache的文件缓存支持
9.3 常见问题解答(faq)
9.3.1 为什么需要使用缓存模块
9.3.2 缓存多个文件
9.3.3 缓存调用了cgi程序的页面,但还是很慢
9.3.4 使用其他服务器作为图片服务器
9.3.5 禁止代理服务器转发电子邮件
9.3.6 在代理服务器中禁止所指定的网站
9.3.7 htcacheclean的使用
第10章 数据库连接管理
10.1 mod_dbd模块
10.2 mod_ldap模块
10.3 常见问题解答(faq)
10.3.1 在启动apache时遇到dbd:can’t load driver file apr_dbd_
pgsql.so错误
10.3.2 出现dbd: can’t connect to pgsql,fatal:sorry,too many clients
already/n
错误
10.3.3 对ldap缓冲区的监控
第11章 apache日志控制
11.1 错误日志
11.1.1 loglevel指令:指定记录错误级别
11.1.2 errorlog指令:定义错误文件的位置
11.2 访问日志
11.2.1 普通日志 (公共日志 common log format、clf)
11.2.2 扩充普通日志(复合日志 extended log file format、eclf)
11.2.3 logformat指令
11.2.4 customlog 指令
11.2.5 transferlog指令
11.2.6 bufferedlogs指令
11.3 日志的循环
11.3.1 手动循环
11.3.2 自动循环
11.4 使用syslog来控制、存储日志
11.5 跟踪用户会话
11.6 日志分析软件
11.6.1 webalizer
11.6.2 awstats
11.6.3 windows服务器安全分析系统
11.7 常见问题解答(faq)
11.7.1 一些常见的格式串
11.7.2 条件记录日志
11.7.3 多个日志文件
11.7.4 在虚拟主机中进行日志记录
11.7.5 不记录本地主机上的图片请求
11.7.6 按时间记录日志
11.7.7 在日志中记录cookie
11.7.8 在日志中记录引用页面
11.7.9 在日志中记录客户浏览器类型
11.7.10 在负载均衡时apache无法保持会话
第12章 性能调整及服务器安全
12.1 性能调整
12.1.1 多路处理模块(mpm)
12.1.2 apache所提供的性能调整指令
12.1.3 使用xcache加速php
12.1.4 ab测试服务器性能
12.1.5 网站架构演变
12.2 服务器安全
12.2.1 apache所提供的安全控制
12.2.2 常用的检测工具
12.3 常见问题解答(faq)
12.3.1 apache加速器(khttpd)
12.3.2 apache服务器安全检查
12.3.3 其他的php加速程序
12.3.4 禁用dns查询
12.3.5 只在指定的目录中使用.htaccess文件
12.3.6 停用网页内容协商
12.3.7 将目录列表存入缓存区中
12.3.8 使用dns进行负载均衡
12.3.9 计算单个线程内存消耗量来设置线程数量
第13章 身份认证
13.1 mod_authz_host模块
13.2 认证类型模块
13.2.1 mod_auth_basic模块
13.2.2 mod_auth_digest模块
13.3 认证支持模块
13.3.1 mod_authn_alias模块
13.3.2 mod_authn_anon模块
13.3.3 mod_authn_dbd模块
13.3.4 mod_authn_dbm模块
13.3.5 mod_authn_default模块
13.3.6 mod_authn_file模块
13.4 授权支持模块
13.4.1 mod_authz_dbm模块
13.4.2 mod_authz_groupfile模块
13.4.3 mod_authz_owner模块
13.4.4 mod_authz_user模块
13.4.5 mod_authz_default模块
13.5 mod_authnz_ldap模块
13.5.1 使用mod_authnz_ldap模块来进行认证
13.5.2 使用mod_authnz_ldap模块来进行授权
13.6 常见问题解答(faq)
13.6.1 使用mod_authn_file模块禁止用户控制时服务器反应速度很慢
13.6.2 使用系统账号进行验证
13.6.3 microsoft internet explorer 6无法使用摘要认证
13.6.4 获得通过验证的用户名
13.6.5 针对特定用户源的用户进行身份认证
13.6.6 建立基本认证使用的密码文件
13.6.7 建立摘要认证的密码文件
13.6.8 建立数据库格式的密码文件
13.6.9 允许或禁止某一目录的访问
13.6.10 根据用户身份限制访问的方法
第14章 ssl(安全套接层协议)
14.1 ssl的实现方式
14.1.1 安装mod_ssl
14.1.2 签发证书
14.1.3 配置apache启用ssl功能
14.1.4 配置apache使用客户证书进行认证
14.1.5 mos_ssl指令说明
14.2 常见问题解答(faq)
14.2.1 mod_ssl支持哪些ssl加密算法
14.2.2 openssl支持哪些加密算法
14.2.3 使用openssl源代码安装openssl
14.2.4 使用二进制方式安装openssl
14.2.5 openssl命令的常见用法
14.2.6 如何查看更多的关于服务器上的ssl信息
第15章 元信息与内容协商
15.1 元信息
15.1.1 mime类型(内容类型)
15.1.2 mime编码方式
15.1.3 mime语言
15.1.4 mime字符集
15.2 内容协商
15.2.1 使用类型映射(type-map)进行内容协商
15.2.2 使用multiviews查询进行内容协商
15.2.3 浏览器协商缓存
15.3 常见问题解答(faq)
15.3.1 如何向客户端浏览传输默认的语言文件
15.3.2 如何指定一个新的mime.types文件位置
15.3.3 在使用语言协商时总是无法获得正确的文件
15.3.4 类型映射文件说明
附录a apache编译参数翻译
附录b apache模块及模块配置指令列表
附录c http响应代码
章节摘录
版权页: 插图:
编辑推荐
《Apache服务器配置与使用工作笔记》编辑推荐:内容实在,对刚接触apache或者从事LAMP开发的人绝对值得购买的书。
图书封面
图书标签Tags
无
评论、评分、阅读与下载