第1章 Red Hat Enterprise Linux的安装及配置 1
1.1 Linux简介 1
1.1.1 Linux的特点 1
1.1.2 Linux的应用领域 3
1.2 Linux版本发展 6
1.2.1 Linux的内核版本 6
1.2.2 Linux的发行版本 7
1.3 Red Hat Enterprise Linux 8
1.3.1 Red Hat Enterprise Linux简介 8
1.3.2 Red Hat Enterprise Linux大家族 9
1.4 Red Hat Enterprise Linux的安装 10
1.4.1 安装前的准备工作 10
1.4.2 安装Red Hat EnterpriseLinux 13
1.4.3 安装后的基本配置 22
1.4.4 删除Red Hat Enterprise Linux 25
1.5 Linux的引导与登录 26
1.5.1 GRUB及LILO系统引导 26
1.5.2 Linux的启动过程 26
1.5.3 Linux的登录和退出 28
第2章 DNS服务器的配置与应用 31
2.1 DNS服务概述 31
2.1.1 DNS服务简介 31
2.1.2 DNS查询原理 32
2.1.3 DNS规划 33
2.1.4 hosts文件 34
2.1.5 BIND简介 35
2.2 配置主要名称服务器 35
2.2.1 主配置文件 36
2.2.2 设置根区域 37
2.2.3 设置主区域 37
2.2.4 设置反向解析区域 39
2.2.5 根服务器信息文件named.ca 40
2.2.6 区域文件 40
2.2.7 实现负载均衡功能 44
2.2.8 实现直接解析域名 44
2.2.9 实现泛域名解析 44
2.2.10 主要名称服务器的测试 45
2.3 配置辅助DNS服务器 49
2.4 配置缓存Cache-only服务器 50
2.5 DNS客户端的配置 50
2.5.1 Linux中DNS客户端的配置 50
2.5.2 Windows下DNS客户端的配置 51
2.6 监测系统负荷 52
2.6.1 uptime——查看系统负载 53
2.6.2 vmstat——统计 54
2.6.3 xload、tload——显示系统平均负载 58
第3章 Web服务器的配置与应用 61
3.1 Web服务的概述 61
3.1.1 Web服务简介 61
3.1.2 HTTP 61
3.1.3 流行的WWW服务器软件 62
3.2 Apache服务器简介 63
3.2.1 Apache的历史 63
3.2.2 Apache的特性 64
3.3 Apache的基本配置 65
3.3.1 安装Apache服务器 65
3.3.2 Apache服务的基本配置 66
3.4 Apache服务器控制存取方式 71
3.4.1 Options选项 71
3.4.2 浏览权限的设置 73
3.5 Apache的高级配置 76
3.5.1 虚拟目录 76
3.5.2 用户身份认证 77
3.5.3 虚拟主机 81
3.6 配置动态Web站点 83
3.6.1 创建CGI动态网站 83
3.6.2 创建PHP动态网站 84
3.6.3 创建JSP动态网站 86
3.7 Apache日志管理和统计分析 92
3.7.1 配置错误日志 92
3.7.2 日志统计分析 93
3.7.3 日志文件的压缩备份 94
第4章 FTP服务器的配置与应用 95
4.1 FTP服务概述 95
4.1.1 FTP工作原理 95
4.1.2 匿名用户 96
4.1.3 FTP服务的传输模式 96
4.1.4 流行的FTP服务器软件简介 96
4.2 vsftpd服务器的安装与配置 98
4.2.1 安装vsftpd服务 98
4.2.2 vsftpd服务的启动与关闭 99
4.2.3 vsftpd的配置文件 99
4.2.4 监听地址与控制端口 100
4.2.5 FTP模式与数据端口 101
4.2.6 ASCII模式 101
4.2.7 超时选项 101
4.2.8 负载控制 102
4.2.9 匿名用户 102
4.2.10 本地用户 102
4.2.11 虚拟用户 103
4.2.12 用户登录控制 103
4.2.13 目录访问控制 104
4.2.14 文件操作控制 104
4.2.15 新增文件权限设置 104
4.2.16 日志设置 105
4.2.17 允许匿名用户上传文件 105
4.2.18 限制用户目录 106
4.2.19 配置高安全级别的匿名FTP服务器 107
4.2.20 实战虚拟用户 108
4.3 PureFTPD服务器的安装与配置 111
4.3.1 安装Apache服务 111
4.3.2 安装MySQL数据库和相关程序 111
4.3.3 安装PureFTPD服务器 112
4.3.4 生成PureFTPD服务管理脚本 113
4.3.5 配置匿名用户登录环境 114
4.3.6 安装Zend Optimizer 114
4.3.7 配置webpureftp 115
4.3.8 生成MySQL数据库 116
4.3.9 生成pure-ftpd的MySQL数据库配置文件 117
4.3.10 使用webpureftp管理虚拟用户 117
4.3.11 启动和停止PureFTPD服务 118
4.3.12 测试PureFTPD服务 118
4.4 FTP客户端的配置与访问 119
4.4.1 Windows环境下访问FTP服务器 119
4.4.2 Linux环境下访问FTP服务器 120
4.5 文件传输命令 120
4.5.1 FTP——文件传输 120
4.5.2 tftp——简单文件传输命令 124
4.5.3 lftp——强大文件传输指令 127
4.5.4 sftp——安全的文件传输指令 129
第5章 E-mail服务器的配置与应用 131
5.1 电子邮件服务概述 131
5.1.1 电子邮件服务简介 131
5.1.2 电子邮件系统的工作原理 132
5.1.3 与邮件相关的几个专有名词 133
5.1.4 流行的E-mail服务器软件简介 134
5.2 Sendmail邮件服务器 135
5.2.1 安装Sendmail 135
5.2.2 开启Sendmail的发送邮件功能 135
5.2.3 主机别名 135
5.2.4 用户别名 136
5.2.5 允许投递 136
5.2.6 虚拟域 137
5.2.7 配置POP3与IMAP 137
5.2.8 电子邮件客户端配置与访问 138
5.3 Postfix邮件服务器 140
5.3.1 Postfix邮件服务的安装 140
5.3.2 Postfix邮件服务的配置 140
5.3.3 Postfix服务的基本配置 141
5.3.4 虚拟别名域的配置 145
5.3.5 用户别名的配置 146
5.3.6 SMTP认证的配置 147
5.3.7 启动和停止Postfix服务 150
5.4 POP3和IMAP邮件服务的实现 151
5.4.1 Dovecot服务的实现 151
5.4.2 Cyrus-Imapd服务的实现 152
5.5 以Web方式收发电子邮件 156
5.5.1 SquirrelMail的安装与配置 156
5.5.2 使用SquirrelMail收发电子邮件 158
第6章 流媒体服务器的配置与应用 159
6.1 流媒体服务器简介 159
6.1.1 流媒体技术简介 159
6.1.2 流媒体播放方式 163
6.1.3 流媒体格式 166
6.1.4 常用流媒体服务软件 167
6.2 Helix Server的安装与配置 168
6.2.1 安装Helix Server 168
6.2.2 自动运行Helix Server 170
6.2.3 登录Helix Server的管理页面 170
6.2.4 服务器绑定的IP地址和端口 171
6.2.5 加载点的配置 172
6.2.6 别名的配置 172
6.2.7 限制最大用户连接数 173
6.3 Helix Server安全设置 174
6.3.1 访问控制 174
6.3.2 用户身份认证 176
6.4 Helix服务日志和监控 178
6.5 流媒体客户端软件和流媒体测试 179
6.6 流媒体文件的制作 179
第7章 网络时间服务器的配置与应用 181
7.1 网络时间服务概述 181
7.1.1 时间服务器的作用 181
7.1.2 网络时间服务的实现方式 181
7.1.3 NTP的网络结构 182
7.1.4 NTP的工作模式 182
7.2 时间服务器的安装与配置 183
7.2.1 时间服务器的安装 183
7.2.2 NTP软件包的结构 183
7.2.3 NTP主配置文件 184
7.2.4 手动修正系统时间 186
7.3 启动和停止网络时间服务 188
7.3.1 启动NTP服务 188
7.3.2 自动启动NTP服务 189
7.4 测试网络时间服务 189
7.4.1 检查NTP服务器是否启动 189
7.4.2 测试NTP服务器的同步状态 189
7.4.3 跟踪时间服务器 190
7.4.4 防火墙上为NTP服务放行 190
7.5 网络时间客户端设置 191
7.5.1 Windows网络时间客户端设置 191
7.5.2 Linux网络时间客户端设置 192
第8章 DHCP服务器的配置与应用 193
8.1 DHCP服务的概述 193
8.1.1 DHCP服务简介 193
8.1.2 DHCP工作流程 194
8.1.3 IP地址租约和更新 195
8.1.4 DHCP服务器分配给客户端的IP地址类型 196
8.2 DHCP服务的安装 197
8.2.1 安装DHCP服务器 197
8.2.2 启动和停止DHCP服务 198
8.3 DHCP服务的配置 200
8.3.1 配置文件的格式 200
8.3.2 设置IP作用域 202
8.3.3 设置客户端IP选项 202
8.3.4 设置租约期限 202
8.3.5 保留特定的IP地址 203
8.3.6 分配多网段的IP地址 203
8.3.7 dhcpd.conf配置文件的参数 203
8.3.8 局域网DHCP服务器配置实战 205
8.4 DHCP客户端的配置 206
8.4.1 Linux操作系统客户端配置(图形界面法) 206
8.4.2 Linux中DHCP的配置(命令行法) 208
8.4.3 Windows操作系统客户机配置 208
第9章 Samba服务器的配置与应用 211
9.1 Samba Server概述 211
9.1.1 Samba Server简介 211
9.1.2 Samba Server的安装 212
9.1.3 Samba服务的图形化配置方法 212
9.1.4 启动、关闭和重启Samba服务 216
9.2 Samba服务的配置文件 217
9.2.1 Samba服务的主要配置文件 217
9.2.2 Samba服务的密码文件 218
9.2.3 Samba服务的日志文件 219
9.3 smb.conf文件 219
9.3.1 smb.conf文件结构 219
9.3.2 smb.conf文件语法和变量 221
9.3.3 smb.conf文件详解 222
9.4 Samba服务的安全级别 224
9.4.1 共享安全级别 224
9.4.2 用户安全级别 225
9.4.3 服务器安全级别 225
9.4.4 域安全级别 225
9.4.5 活动目录安全级别 225
9.5 访问Samba共享资源 225
9.5.1 Windows客户端访问共享资源 226
9.5.2 Linux客户端访问共享资源 226
第10章 NFS服务器的配置与应用 227
10.1 NFS服务概述 227
10.1.1 使用NFS的好处 227
10.1.2 NFS和RPC 228
10.1.3 NFS服务的组件 229
10.2 NFS服务的安装与配置 229
10.2.1 NFS服务的安装 229
10.2.2 NFS服务的配置 231
10.2.3 NFS服务的启动与停止 232
10.2.4 NFS服务的文件存取权限 233
10.3 在客户端挂接NFS文件系统 234
10.3.1 查看NFS服务器信息 234
10.3.2 加载NFS服务器共享目录 235
10.3.3 卸载NFS服务器共享目录 235
10.3.4 启动时自动挂接NFS 235
10.3.5 使用时自动挂接 236
第11章 代理服务器的配置与应用 237
11.1 代理服务器概述 237
11.1.1 代理服务器的主要作用 237
11.1.2 代理服务器的工作原理 239
11.2 Squid Server的配置 240
11.2.1 Squid Server安装 240
11.2.2 设置监听的IP地址和端口 241
11.2.3 设置缓冲大小 241
11.2.4 设置访问控制 243
11.2.5 其他参数设置 247
11.2.6 初始化Squid 249
11.2.7 启动和停止代理服务器 252
11.2.8 代理服务器测试 254
11.3 Squid Server高级配置 255
11.3.1 透明代理 255
11.3.2 Squid安全设置 257
11.4 代理客户端的配置 259
11.4.1 Firefox代理设置 259
11.4.2 IE代理设置 260
11.5 Squid日志管理 261
11.5.1 安装Webalizer 262
11.5.2 配置Webalizer 263
11.5.3 应用Webalizer查看Squid网络流量日志 265
第12章 Nginx服务器的配置与应用 267
12.1 Nginx概述 267
12.1.1 为什么选择Nginx 267
12.1.2 Nginx作为Web服务器 267
12.1.3 Nginx作为负载均衡服务器 268
12.1.4 Nginx的优点 269
12.2 Nginx服务器的安装 270
12.2.1 安装Nginx服务器 270
12.2.2 检验安装 272
12.2.3 启动与停止 272
12.3 Nginx的错误处理 273
12.4 运行和控制Nginx 275
12.4.1 Nginx命令行参数 275
12.4.2 Nginx控制信号 275
12.4.3 Nginx启动、停止和重启 276
12.5 nginx rewrite指令 279
12.5.1 nginx rewrite指令执行顺序 279
12.5.2 break指令 279
12.5.3 if指令 279
12.5.4 return指令 280
12.5.5 rewrite指令 280
12.5.6 rewrite_log指令 281
12.5.7 set指令 282
12.6 Nginx反向代理配置 282
12.7 Nginx负载均衡配置 283
12.8 使用Nginx做网站缓存 285
第13章 SSH服务器的配置与应用 289
13.1 SSH服务概述 289
13.1.1 SSH服务简介 289
13.1.2 公钥加密体系结构 290
13.2 SSH服务器的安装 291
13.3 SSH服务器的配置 292
13.4 启动和停止SSH服务 295
13.4.1 启动SSH服务 295
13.4.2 重启SSH服务 295
13.4.3 自动启动SSH服务 296
13.4.4 停止SSH服务 296
13.5 SSH客户端的使用 297
13.5.1 Windows客户端的使用 297
13.5.2 Linux客户端的使用 298
第14章 VPN服务的配置与应用 301
14.1 VPN服务的概述 301
14.1.1 VPN简介 301
14.1.2 VPN的安全技术 303
14.1.3 VPN工作原理 305
14.2 安装VPN服务器 308
14.3 配置VPN服务器 310
14.3.1 配置主配置文件 310
14.3.2 配置账号文件 310
14.3.3 设置NAT并打开Linux 311
14.4 启动和停止VPN服务 311
14.4.1 启动VPN服务 311
14.4.2 重启VPN服务 311
14.4.3 自动启动VPN服务 312
14.4.4 停止VPN服务 313
14.5 VPN客户端配置 313
14.5.1 建立VPN连接 313
14.5.2 连接VPN服务器 315
14.5.3 访问内部网络192.1 68.1 0.0网段的资源 316
第15章 目录服务的配置与应用 317
15.1 目录服务概述 317
15.1.1 X.5 00简介 317
15.1.2 LDAP简介 318
15.1.3 LDAP与X.5 00的比较 319
15.1.4 流行的目录服务产品 320
15.2 LDAP规划 323
15.2.1 LDAP的4种基本模型 323
15.2.2 规划目录树 324
15.2.3 LDAP服务的应用领域 325
15.2.4 Berkeley DB数据库的安装 326
15.2.5 OpenLDAP的安装 328
15.3 初始化OpenLDAP 330
15.3.1 OpenLDAP的基本配置 330
15.3.2 启动OpenLDAP服务器 332
15.3.3 建立初始化数据 332
15.4 phpLDAPadmin的安装 333
15.4.1 安装phpLDAPadmin 333
15.4.2 配置Apache服务 334
15.5 phpLDAPadmin的安装和配置 336
15.5.1 生成phpLDAPadmin主配置文件 336
15.5.2 配置phpLDAPadmin 336
15.6 使用phpLDAPadmin管理目录树 338
15.6.1 登录phpLDAPadmin 339
15.6.2 创建OU 340
15.6.3 创建用户组 342
15.6.4 创建用户账号 343
15.7 LDAP服务的身份验证 344
15.7.1 Linux系统用户验证 344
15.7.2 FTP用户验证 346
15.7.3 Web用户验证 347
第16章 网络数据库PostgreSQL服务的配置与应用 349
16.1 PostgreSQL概述 349
16.1.1 PostgreSQL的历史 349
16.1.2 PostgreSQL的主要特征 350
16.2 PostgreSQL的安装和启用 353
16.2.1 安装PostgreSQL服务器 353
16.2.2 启动PostgreSQL服务 354
16.2.3 重启或停止PostgreSQL服务 355
16.2.4 PostgreSQL服务自动启动 356
16.3 PostgreSQL组件程序 356
16.3.1 客户端应用 356
16.3.2 服务器端应用 357
16.3.3 客户端程序psql 357
16.4 PostgreSQL基本操作 360
16.4.1 创建和删除数据库 360
16.4.2 对数据库中表的管理 362
16.5 PostgreSQL维护管理 365
16.5.1 PostgreSQL角色管理 365
16.5.2 PostgreSQL数据库权限管理 366
16.5.3 PostgreSQL数据库备份与恢复 369
16.5.4 PostgreSQL日常清理 372
16.5.5 基于Web的远程操作 373
第17章 网络数据库MySQL服务的配置 379
17.1 MySQL的概述 379
17.1.1 MySQL的历史 379
17.1.2 MySQL的主要特征 379
17.2 MySQL的安装和配置 382
17.2.1 MySQL的安装 382
17.2.2 修改MySQL管理员密码 383
17.2.3 创建和删除数据库 384
17.2.4 表的创建、复制、删除和修改 385
17.2.5 表中数据的插入、删除和修改 388
17.2.6 索引的创建和删除 390
17.2.7 用户的创建和删除 390
17.2.8 用户权限的设置 392
17.3 MySQL的图形化配置 393
17.3.1 安装phpMyAdmin 393
17.3.2 配置phpMyAdmin虚拟目录 393
17.3.3 使用phpMyAdmin 395
17.4 启动和停止MySQL服务 397
第18章 Telnet和虚拟终端服务的配置与应用 399
18.1 Telnet服务 399
18.1.1 Telnet服务的安装 399
18.1.2 Telnet的基本配置 400
18.1.3 启动和停止Telnet服务 402
18.1.4 Telnet客户端的使用 404
18.2 VNC服务 405
18.2.1 VNC服务概述 405
18.2.2 VNC服务的安装 406
18.2.3 VNC服务的启动配置和停止VNC服务 407
18.2.4 检测VNC服务 408
18.2.5 VNC服务的配置 410
18.2.6 VNC客户端的配置 412
18.2.7 SSH隧道技术支持下的VNC客户端的配置 415
第19章 网络防火墙与NAT服务 417
19.1 防火墙概述 417
19.1.1 防火墙简介 417
19.1.2 防火墙的分类 418
19.1.3 防火墙的工作原理 419
19.1.4 防火墙特点对比 422
19.2 iptables简介 422
19.3 iptables的基本概念与基础设置 424
19.3.1 规则 424
19.3.2 链 424
19.3.3 表 424
19.3.4 iptables传输数据包的过程 426
19.3.5 关闭系统防火墙iptables 427
19.3.6 iptables命令格式 428
19.3.7 iptables的使用 432
19.4 NAT服务 436
19.4.1 NAT服务的相关概念 437
19.4.2 NAT的用途 440
19.4.3 使用iptables实现NAT服务 441
19.4.4 NAT客户端的配置 442
第20章 Linux服务器集群 445
20.1 服务器集群概述 445
20.1.1 高可用性集群 445
20.1.2 负载均衡集群 446
20.1.3 高性能集群 446
20.2 构建一个工作集群 446
20.3 使用OSCAR创建Linux集群 447
20.3.1 OSCAR简介 447
20.3.2 OSCAR是这样工作的 449
20.3.3 安装OSCAR 449
20.3.4 选择OSCAR组件 451
20.3.5 配置OSCAR组件 452
20.3.6 安装OSCAR服务器 452
20.3.7 创建客户端镜像 452
20.3.8 定义客户端 453
20.3.9 网络设置 454
20.3.10 安装客户端 455
20.3.11 安装测试集群 455
20.4. 管理Linux集群 456
20.4.1 图形化管理工具——OSCAR Management Wizard 456
20.4.2 客户端管理——命令行 457
第21章 Linux服务器的故障诊断和排除 459
21.1 Linux引导系统故障 459
21.1.1 引导加载程序GRUB 459
21.1.2 init进程和/etc/inittab文件 462
21.1.3 rc脚本 465
21.2 Linux系统故障 466
21.2.1 卸载不能卸载的目录或者设备 466
21.2.2 恢复已经删除的文件 467
21.2.3 检查文件系统 467
21.2.4 修复损坏的Ext3文件系统 468
21.2.5 创建、修改和删除文件系统 469
21.3 网络故障诊断 470
21.3.1 启用数据包转发特性 470
21.3.2 SSH访问被拒绝 470
21.3.3 与ipchains冲突 472
21.3.4 拒绝访问 473