第1章 预先规划
1.1 不要跳过本章
1.2 概述
1.3 企业级策略
1.3.1 外部web服务器
1.3.2 HTTP代理服务器
1.3.3 Intranet web眼务器
1.4 小型商业公司策略
1.4.1 HTTP代理眼务器/伪装防火墙
1.4.2 把web服务器和数据库并置
1.5 大型ISP策略
1.5.1 web服务器——商业站点
1.5.2 web服务器——主页站点
1.6 小型ISP策略
1.6.1 web服务器——数据库服务器
第2章 创建web服务器
2.1 系统需求
2.1.1 操作系统
2.1.2 磁盘空间
2.2 删除任何已存在的web服务器
2.2.1 停止正在运行的服务器
2.2.2 防止预存在的服务器自启动
2.2.3 删除预存在的web服务器
2.3 下载Apache服务器
2.4 下载并安装预编译的二进制代码
2.4.1 下载
2.4.2 解压缩
2.4.3 展开
2.4.4 安装
2.5 下载并编译源代码
2.5.1 下载
2.5.2 解压缩
2.5.3 展开
2.5.4 配置Makefile文件
2.5.5 编译
2.5.6 安装
2.6 选择Apache模块
2.7 手工编译服务器
2.8 配置已安装的服务器
2.8.1 配置文件
2.8.2 语法
2.8.3 基本指令
2.8.4 测试配置
2.9 启动. 停止以及重启服务器
2.9.1 启动服务器
2.9.2 真实的一刻
2.9.3 停止服务器
2.9.4 重启服务器
2.10 在系统启动时自动启动服务器
第3章 创建web站点
3.1 策略
3.1.1 主要考虑
3.1.2 解决方案
3.2 创建守护进程账号
3.2.1 添加用户
3.2.2 设置权限
3.2.3 配置Apache
3.3 创建web站点管理员账号
3.3.1 添加用户
3.3.2 创建内容目录
3.3.3 设置权限
3.3.4 配置Apache
3.4 接受内容
第4章 处理内容
4.1 显示目录
4.2 配置MIME
4.2.1 简要历史
4.2.2 配置内容类型
4.2.3 配置编码机制
4.2.4 配置语言
4.2.5 内容协商
4.2.6 实现类型映射表
4.2.7 自动内容协商
4.3 发送元数据以及其他信息头
4.4 按原状发送文件
4.5 实现公共网关接口(CGI)
4.5.1 概述
4.5.2 启用CGI
4 5.3 使用Apache的CGI环境
4.5.4 控制CGI环境
4.5.5 关于CGI的警告
4.6 实现服务器端包含(SSI)
4.6.1 概述
4.6.2 启用SSI
4.6.3 使用SSI
4.6.4 SSI变量
4.6.5 使用SSI变量
4.6.6 SSI命令
4.7 实现服务器端图像映射
4.7.1 概述
4.7.2 启用服务器端图像映射
4.7.3 URL和URL关键字
4.7.4 配置服务器端的图像映射处理
4.7.5 编写服务器端图像映射
4.7.6 关于映射文件的说明
第5章 使用日志
5.1 错误日志
5.1.1 把错误发送给文件
5.1.2 把错误发送给Syslog(系统日志)
5.1.3 把错误发送到管道命令
5.2 文档传送日志
5.2.1 把传送记录到文件
5.2.2 把传送记录到管道命令
5.3 创建自定义的日志
5.3.1 格式字符串
5.3.2 格式名称
5.4 跟踪用户的习惯——单击流日志
5.5 对引用的站点作记录
5.6 向发出引用的站点付费——引用站点付费日志
5.7 对用户代理作记录
5.8 轮换日志文件
第6章 服务器. 内容和连接的安全性
6.1 服务器安全性
6.1.1 配置防火墙
6.1.2 配置一个企业级防火墙
6.1.3 配置一个小型商业公司的防火墙
6.1.4 封锁因特网服务
6.1.5 配置Apache的自防护功能
6.2 保护内容安全性
6.2.1 允许/阻止内容访问
6.2.2 要求对内容访问的身份认证
6.2.3 认证PUT请求
6.2.4 阻止/允许搜索引擎站点的检查
6.3 使用加密套接字协议层(SSL)保护服务器-浏览器连接安全
6.3.1 理解SSL
6.3.2 把SSL编译进Apache
6.3.3 用mod-ssl创建SSL模块
6.3.4 使用Apache-SSL补丁
6.4 对CGI的安全性考虑
6.4.1 设置策略
6.4.2 良好的编程习惯
6.4.3 非别名化脚本与别名化脚本
6.4.4 使用CGI封装器
6.4.5 对FrontPage扩展的安全考虑
第7章 创建主页web站点
7.1 策略
7.1.1 需要考虑的事项
7.1.2 内联网web服务器的策略
7.1.3 大型ISP的策略
7.1.4 小型ISP的策略
7.2 创建用户账号和站点目录
7.2.1 设计结构
7.2.2 配置磁盘限额系统
7.2.3 为内联网服务器分配磁盘限额
7.2.4 为大型ISP分配磁盘限额
7.2.5 为小型ISP分配磁盘限额
7.2.6 在一个Intranet web服务器上创建主页用户
7.2.7 为大型ISP创建主页用户
7.2.8 创建小型ISP的主页用户
7.3 为用户站点配置web服务器
7.3.1 配置用户目录转换
7.3.2 为用户站点配置内容指令
7.3.3 配置CGI执行
7.3.4 隐藏Dot-File
7.3.5 为内联网服务器上的用户站点配置Apache
7.3.6 为大型ISP的用户站点配置Apache
7.3.7 为小型ISP的用户站点配置Apache
7.4 为用户站点配置FTP
第8章 创建虚拟域web站点
8.1 选择结构
8.2 配置DNS
8.3 创建虚拟主机目录
8.4 创建虚拟主机web站点管理员
8.5 FTP与域的web站点管理员
8.6 配置Apache服务器
8.6.1 配置虚拟主机
8.6.2 配置日志
8.6.3 控制浏览器访问
8.6.4 为虚拟主机启用各自的CGI
8.7 为虚拟域配置E-mail
第9章 用Apache实现代理服务器功能
9.1 策略
9.1.1 客户端代理
9.1.2 服务器端代理
9.2 客户端代理示例
9.2.1 编译
9.2.2 配置
9.2.3 指令集
9.2.4 透明代理
9.3 服务器端代理
9.3.1 配置
9.3.2 Apache重写引擎的简要教程
9.3.3 服务器端代理配置示倒
第10章 故障处理
10.1 获得服务器的运行状态
10.1.1 报告服务器状态
10.1.2 报告服务器配置
10.1.3 服务器基准测试
10.2 使用Telnet获得原始HTTP
10.3 对错误消息的响应
10.4 调整Apache性能
10.4.1 通用方法
10.4.2 模块相关方法
10.4.3 站点相关方法
10.5 负载平衡
第11章 在Windows NT上使用Apache
11.1 安装
11.2 配置
11.3 启动和停止服务器
11.4 对Windows的特定考虑
11.4.1 配置文件
11.4.2 日志文件
11.4.3 Keep-Alive支持
第12章 Apache服务器编程
12.1 导言
12.2 常见问题
12.3 Apache源代码树
12.4 模块的生存周期
12.4.1 Apsche的运行方式
12.4.2 响应
12.5 模块剖析
12.5.1 重要数据结构
12.5.2 module结构
12.6 创建新的MIME类型
12.7 创建自己的模块
12.7.1 Stepl:创建模块的源代码目录
12.7.2 step2:插入源代码
12.7.3 Step3:配置Apache
12.8 编译和链接模块
12.8.1 整体键接(静态链接)
12.8.2 动态可加载模块
12.8.3 APXS
12.9 调试模块
12.10 Apache API
12.10.1 数据结构
12.11 内存管理
12.11.1 内存池API
12.11.2 数组API
12.11.3 创建和操作数组
12.11.4 表API
12.12 配置模块
12.12.1 读取模块指令
12.12.2 配置举例
12.12.3 不同类型的配置
12.12.4 其他配置命令
12.13 写日志文件
12.13.1 日志API
12.13.2 日志的严重级别
12.13.3 管道化日志API
12.14 处理请求
12.14.1 读请求
12.14.2 获得服务器级信息
12.14.3 获得事务级信息
12.14.4 写响应
12.14.5 超时处理(timeout)
12.15 清理工作
12.16 处理URI
12.17 创建子进程
12.18 其他API
12.19 结论
12.20 参考以及进一步阅读的资料
附录A
A.1 使用Vi编辑器
A.2 使用正则表达式
A.3 相关的RFC
A.4 HTTP状态代码
A.5 在web上的位置