第1章 Linux服务器的安装 1
1.1 了解硬件环境 1
1.2 引导Linux 2
1.3 安装类型和方法 2
1.4 创建分区 3
1.5 选择安装部件 4
1.6 使用rpm命令 7
1.7 启动和停止daemon服务 8
1.8 安装服务器之后必须卸载的软件 9
1.9 安装服务器之后必须安装的软件 11
1.10 配置和编译内核 13
1.10.1 制作紧急启动盘 13
1.10.2 优化 14
1.10.3 增强内核的安全性 15
1.10.4 编译 15
1.10.5 安装新内核 22
1.10.6 创建新的紧急恢复盘 25
1.10.7 制作紧急启动软盘 25
第2章 Linux安全与优化概要 27
2.1 基础知识 27
2.2 BIOS安全,设定引导口令 28
2.3 安全策略 28
2.4 口令 28
2.5 口令长度 29
2.6 root账号 29
2.7 加密 29
2.8 /etc/exports文件 30
2.9 禁止使用控制台程序 30
2.10 禁止控制台的访问 30
2.11 /etc/inetd.conf文件 31
2.13 /etc/aliases文件 32
2.12 tcp_wrappers 32
2.14 使系统对ping没有反应 33
2.15 不要显示系统提示信息 34
2.16 /etc/services文件和/etc/securetty文件 34
2.17 特殊账号 34
2.18 防止任何人使用su命令成为root 35
2.19 资源限制 36
2.20 更好地控制挂装上的文件系统 37
2.21 登录shell 37
2.22 /etc/lilo.conf文件 37
2.23 使Control-Alt-Delete关机键无效 39
2.24 /etc/rc.d/init.d/目录下的脚本文件的访问许可 39
2.25 /etc/rc.d/rc.local文件 39
2.26 带s位的程序 40
2.28 查找所有SUID/SGID位有效的文件 41
2.27 异常和隐含文件 41
2.29 查找任何人都有写权限的文件和目录 42
2.30 查找没有所有者的文件 42
2.31 查找.rhosts文件 42
2.32 /etc/profile文件 43
2.33 bdflush参数 44
2.34 ip_local_port_range参数 44
2.35 /etc/nsswitch.conf文件 44
2.36 /proc文件系统 45
2.37 ulimit参数 45
2.38 增加系统打开的文件数目 46
2.39 文件的atime属性 47
2.40 文件的noatime属性 47
2.41 特定的TCP/IP栈 47
2.42 交换分区 48
2.43 调整IDE硬盘性能 48
3.1 在服务器上安装多块网卡 50
第3章 TCP/IP网络管理 50
3.2 和网络相关的一些配置文件 51
3.2.1 /etc/hostname文件 51
3.2.2 /etc/resolv.conf文件 52
3.2.3 /etc/host.conf文件 52
3.2.4 etc/sysconfig/network文件 52
3.2.5 /etc/hosts文件 53
3.3 用命令行手工配置TCP/IP网络 53
3.4 TCP/IP安全问题概述 56
3.5 安全问题的解决方案 58
第4章 Linux Apache Web服务器 60
4.1 什么是WWW服务 60
4.2 WWW服务器软件的比较和选择 60
4.3 安装Apache 61
4.3.1 系统需求 61
4.3.3 安装软件 62
4.3.2 获取软件 62
4.3.4 让Apache自启动 64
4.4 Apache基本配置 65
4.4.1 httpd.conf 65
4.4.2 srm.conf 69
4.4.3 access.conf的配置 71
4.4.4 使新的配置生效 72
4.4.5 为用户开辟个人主页空间 73
4.5 用Apache实现虚拟主机服务 73
4.5.1 什么是虚拟主机服务 73
4.5.2 设置实现基于IP地址的虚拟主机服务 73
4.5.3 设置实现基于名字的虚拟主机服务 74
4.6 安装配置Apache服务器开发工具 75
4.6.1 CGI 75
4.6.2 FastCGI 77
4.6.3 Perl 79
4.6.4 PHP 80
4.6.5 JSP与servlet技术 83
4.7 Apache与SSL 85
4.7.1 什么是SSL 85
4.7.2 安装Apache-SSL 86
4.7.3 配置实例 86
4.7.4 Stronghold 89
4.7.5 OpenSSL 89
4.8 Apache衍生功能 99
4.8.1 代理服务器 99
4.8.2 重写URL 101
4.9 Apache管理、安全与优化 102
4.9.1 保证Apache的安全 102
4.9.2 Apache站点的基本安全机制 108
4.9.3 解读Apache日志 111
4.9.4 优化Apache 112
4.10 可选Apache部件 113
4.10.1 FormMail 113
4.10.2 Webalizer 114
4.10.3 FAQ-O-matic 114
4.10.4 WebMail IMP 115
第5章 Linux FTP服务器 117
5.1 文件传输协议原理 117
5.1.1 命令选择 118
5.1.2 命令格式 119
5.2 wu-ftpd的安装 120
5.2.1 解开源代码 121
5.2.2 编译 121
5.2.3 清除不必要的文件 122
5.2.4 运行 123
5.3 让ftp服务器运转起来 123
5.4.1 /etc/ftpusers和/etc/ftphosts的设置 125
5.4 配置文件的设置 125
5.4.2 /etc/ftpconversions设置 126
5.4.3 /etc/ftpaccess的设置 127
5.4.4 wu-ftp的相关程序 134
5.5 开设只允许ftp的账户 135
5.6 设置虚拟ftp主机 136
5.7 其他几种Linux环境下常用的ftpd简介 136
5.7.1 Proftpd 136
5.7.2 Ncftpd 137
5.8 Linux环境下下载工具wget简介 137
第6章 Linux邮件服务器 140
6.1 SMTP协议原理 140
6.2 邮件服务器软件的比较 141
6.2.1 Postfix 141
6.2.2 Qmail 143
6.2.4 Exim 145
6.2.3 ZMailer 145
6.3 Sendmail邮件服务器 146
6.3.1 编译配置 147
6.3.2 编译和优化 149
6.3.3 配置 151
6.3.4 保证Sendmail的安全 164
6.3.5 参考文献 167
6.3.7 Sendmail用户工具 168
6.3.6 Sendmail管理工具 168
6.4 qmail邮件服务器 169
6.4.1 简介 169
6.4.2 下载编译 169
6.4.3 qmail配置 171
6.4.4 设置daemontools 171
6.4.5 防止Mail Relay 173
6.4.6 Maildir与mbox和.qmail文件的比较 175
6.4.8 测试qmail 176
6.4.7 启动qmail 176
6.4.9 设置pop3 178
6.4.10 使用vpopmail创建非系统账号的邮件账户 179
6.4.11 qmail常见问题 181
6.4.12 与qmail相关的第三方开发软件的说明 185
6.4.13 设置基于qmail的web邮件 186
6.4.14 文档资源信息 187
6.5 postfix邮件服务器 187
6.5.1 postfix概述 187
6.5.2 postfix对邮件的处理过程 189
6.5.3 postfix的安装 191
6.5.4 postfix的配置详解 193
6.5.5 postfix的配置实例 202
6.5.6 postfix中的命令行工具及其他 207
7.1 域名原理简介 209
第7章 Linux域名服务器 209
7.2 和域名相关的若干配置文件 211
7.3 编译和安装 212
7.3.1 软件的下载 212
7.3.2 编译配置和优化 213
7.3.3 清除不必要的文件 214
7.4 如何设置一个caching only域名服务器 215
7.4.1 设置 215
7.4.2 启动测试 216
7.4.3 域名查询转发 217
7.5 如何设置一个主域名服务器 220
7.5.1 域名服务器/etc/named.conf的设置 221
7.5.2 本地回路反向解析区文件/var/named/127.0.0 222
7.5.3 配置/var/named/linuxaid.com.cn文件 222
7.5.4 /var/named/208.164.186文件配置 224
7.7.1 限制BIND运行于“虚拟”根环境下 225
7.6 如何设置一个辅助域名服务器 225
7.7 域名服务器的安全和优化 225
7.7.2 区带(Zone)转移 230
7.7.3 允许查询 231
7.7.4 转发限制 231
7.8 域名服务器常见问题 231
第8章 Linux代理服务器 232
8.1 代理服务器概述 232
8.1.1 什么是代理服务器 232
8.1.2 代理服务器的功能 232
8.1.3 代理服务器的分类及特点 233
8.2 各种代理服务器的比较 235
8.2.1 Apache 235
8.2.2 Socks 235
8.2.3 TIS FWTK 235
8.3 安装Squid Proxy Server 236
8.3.1 获取软件 236
8.2.4 delegate 236
8.2.6 选择 236
8.2.5 Squid 236
8.3.2 安装软件 237
8.4 配置Squid基础篇——让代理服务器跑起来 237
8.4.1 常用的配置选项 237
8.4.2 应用实例 240
8.4.3 启动、停止Squid 241
8.4.4 如何判断Squid已经正常启动 241
8.4.5 客户端的配置 242
8.4.6 在Netscape Navigator中配置代理服务 242
8.4.7 在Microsoft Internet Explore 5中配置代理服务器 243
8.5 根据需求配置Squid——进阶篇 244
8.5.1 其他配置选项 244
8.5.2 用户认证设置 251
8.5.3 透明代理的设置 253
8.5.4 代理服务器阵列的实现 255
8.5.5 Squid的加速器模式 257
8.6 关于Squid日志的说明 259
8.6.1 Squid日志系统的构成 259
8.6.2 access.log日志文件的格式说明 260
8.7 评价Squid 260
第9章 Linux网络防火墙 262
9.1 防火墙及其原理 262
9.1.1 什么是防火墙 262
9.1.2 防火墙种类 262
9.2 IPchains的安装与配置 263
9.2.1 IPchains是什么 263
9.2.2 用IPchains构建局域网防火墙的原理 264
9.2.3 安装IPchains 265
9.2.4 怎样配置IPchains 266
9.3 用IPchains构建防火墙实例 268
9.3.1 基本应用——通过网关上网 268
9.3.2 扩展应用 270
9.3.3 综合应用 272
9.4 IPchains配置管理工具 282
9.4.1 IPchains命令 282
9.4.2 fwconfig 283
9.4.3 phpfwgen 283
9.4.4 JFwadmin 284
9.5 IPchains配置高级应用 285
9.5.1 与Squid结合实现透明代理 285
9.5.2 端口重定向 286
9.5.3 网络地址转向 287
9.5.4 netfilter框架介绍 288
9.6.2 SINUS Firewall 289
9.6 Linux上的专用防火墙软件 289
9.6.1 GTK firewall control center 289
9.7 小结 290
第10章 Linux路由器 291
10.1 什么是路由器 291
10.1.1 原理与作用 291
10.1.2 静态路径表 292
10.1.3 动态路径表 292
10.1.4 路由器的功能 292
10.2 中国互联网IP地址和自治系统号的分配 293
10.3 多网卡的设置 293
10.4 静态路由器的配置 294
10.5 动态路由器的配置 297
10.5.1 基本原理介绍 297
10.5.2 路由协议的介绍 297
10.5.3 gated的配置 298
10.5.4 zebra介绍 300
10.6 路由器上的策略控制:IP带宽管理 301
10.6.1 为什么要管理带宽 301
10.6.2 TC的特点 301
10.6.3 TC的使用实例说明 302
第11章 Linux文件服务器 306
11.1 基于SMB协议的文件服务 306
11.1.1 samba简介 306
11.1.2 如何配置samba 307
11.1.3 samba进阶 315
11.2 NFS 319
11.2.1 配置NFS 319
11.2.2 设置NFS客户 320
第12章 Linux拨号服务器 322
12.1 PPP简介 322
12.2 核心配置PPP支持 323
12.3 安装pppd软件包 326
12.4 配置pppd软件包 326
12.4.1 在/etc/inittab文件中加入以下二行 326
12.4.2 设置mgetty的配置文件 326
12.4.3 修改/etc/ppp/ppplogin文件 327
12.4.4 改动/etc/ppp/options文件 327
12.4.5 创建/etc/ppp/options.ttyS0和/etc/ppp/options.ttyS1 328
12.5 启动pppd软件包 328
12.6 PPP身份鉴别方法 329
12.7 PPP包过滤 329
12.8 PPP网关 330
12.9 PPP应用实例 331
12.9.1 Home、Liunx、PC、普通电话线拨号上网 331
12.9.2 Home、Linux、PC、ISDN拨号上网 340
12.9.3 带动一个局域网上网 343
12.9.4 PPP综合应用 348
第13章 Linux新闻组服务器 350
13.1 硬件需要 350
13.2 下载 350
13.3 新闻发送软件简介 350
13.4 安装与配置Cnews 350
13.4.1 简介 350
13.4.2 发送新闻的过程 350
13.4.3 安装 351
13.4.4 Sys文件 351
13.4.5 批处理 352
13.4.6 维护 353
13.5 安装与配置InterNetNews 354
13.5.1 简介 354
13.5.2 安装 354
13.5.3 配置文件inn.conf 356
13.5.4 配置新闻组 357
13.5.5 配置newsfeeds 358
13.5.6 用户访问控制 359
13.5.7 运行和维护INN 360
13.5.8 管理INN:用ctlinnd命令 361
13.6 新闻阅读器Newsreader 361
第14章 Linux DHCP服务器 364
14.1 DHCP概述 364
14.1.1 采用DHCP的必要性 364
14.1.2 DHCP的主要功能 364
14.2 DHCP的工作原理 364
14.2.1 名词术语 364
14.2.2 DHCP分配IP地址的过程 367
14.3 DHCP服务器软件的安装 367
14.4 基本应用 367
14.4.2 修改配置文件 368
14.4.1 增加主机路由 368
14.4.3 dhcpd.leases 369
14.4.4 运行DHCPd 369
14.5 进一步说明dhcpd.conf 370
14.5.1 dhcpd.conf概述 370
14.5.2 语句参考 371
14.6 小结 374
15.1.2 要求 375
15.1.4 安装 375
15.1.3 下载 375
15.1 FireBird BBS 375
15.1.1 概述 375
第15章 Linux BBS服务器 375
15.1.5 具体设置 377
15.1.6 各文件说明 379
15.1.7 外部工具程序的使用 380
15.2.2 需求 384
15.2.1 特点 384
15.1.8 其他 384
15.2 PowerBBS 384
15.2.3 下载 385
15.2.4 安装 385
15.2.5 测试 385
15.2.6 常用的宏 385
15.2.7 文字的颜色设定 385
15.2.8 版面与档案区的设定 386
15.2.9 详细配置 387
15.2.10 站间转信 388
15.2.11 其他 389
15.2.12 客户端用telnet方式设定 390
第16章 Linux CVS服务器 391
16.1 版本控制和CVS简介 391
16.1.1 版本控制与CVS 391
16.1.2 其他几种版本维护工具的简介 393
16.2 CVS的安装和服务器的配置 394
16.2.1 CVS的获得和安装 394
16.2.2 服务器端配置 395
16.3 CVS使用指南 397
16.4 CVS服务器架与应用实例 400
16.4.1 简单的使用举例 400
16.4.2 管理中的一些相关技术 401
第17章 Linux LDAP服务器 406
17.1 概述 406
17.2 下载编译 406
17.3 配置 408
17.3.1 配置/etc/ldap/slapd.conf文件 408
17.3.2 配置/etc/rc.d/init.d/ldap脚本文件 409
17.5.2 IDIF输入文件 412
17.5.1 离线创建数据库 412
17.3.3 更多的资料 412
17.4 保证OpenLDAP的安全 412
17.5 OpenLDAP的创建和维护 412
17.5.3 为LDAP创建数据库 413
17.5.4 ldapmodify 414
17.6 OpenLDAP的用户工具 414
第18章 Linux数据库服务器 415
18.1 为什么要使用数据库 415
18.2 如何取得数据库软件 415
18.3 数据库的安装和使用 415
18.3.1 MySQL的安装和使用 415
18.3.2 PostgreSQL的安装和使用 422
18.3.3 Oracle数据库的安装 430
18.4 数据库的应用 435
18.5 SQL语言介绍 437
19.1.1 系统要求 445
19.1.2 安装调试Web服务器 445
19.1 基于sendmail的webmail系统 445
第19章 Linux下的Web Mail 445
19.1.3 安装IMP 449
19.1.4 FAQ 453
19.2 基于Qmall的Webmail系统 454
19.2.1 系统要求 454
19.2.2 安装调试应用程序 454
第20章 Linux IPsec的虚拟专用网 459
20.1 前言 459
20.2 IP协议的安全体系结构 459
20.3 虚拟专用网 460
20.4 基于IPsec的虚拟专用网 461
20.5 在Linux上的例子 462
20.10 安装和配置IPsec和FreeS/WAN1.5 463
20.9 用途 463
20.7 VPN的类型 463
20.6 应用IPsec的优点 463
20.8 推荐选择FreeS/WAN 463
20.11 参考资料 468
第21章 Linux集群服务器 469
21.1 什么是服务器集群 469
21.1.1 集群的概念 469
21.1.2 并行技术 470
21.2 使用MPICH构建一个四节点的集群系统 470
21.2.1 所需设备 470
21.2.2 构建说明 470
21.2.3 MPICH安装指南 471
21.2.4 费用统计 472
21.3 “虚拟服务器” 472
21.4 使用DNS循环法实现 473
21.5.2 基于反向代理的负载均衡 474
21.5 应用层“虚拟服务器”的实现 474
21.5.1 基于特定服务器软件的负载均衡 474
21.5.3 小结 475
21.6 虚拟服务器解决方案 475
21.6.1 LVS系统结构与特点 475
21.6.2 LVS是如何工作的 476
21.6.3 安装配置LVS 477
21.6.4 VS-NAT模式 481
21.6.5 VS-DR模式 483
21.6.6 VS-TUN模式 484
21.7 高可用性——HA解决方案 485
21.7.1 基于LVS的HA方案 486
21.7.2 Xlinux的LATCH HA解决方案 492
21.8 小结 495
22.1.3 配置 496
22.1.2 下载安装sXid 496
第22章 Linux系统安全软件 496
22.1.1 概述 496
22.1 Linux sXid 496
22.1.4 sXid的管理工具 498
22.2 Linux SSH1 Client/Server 498
22.2.1 概述 498
22.2.2 下载安装 498
22.2.3 配置 499
22.2.4 SSH1针对单个用户的配置 503
22.2.5 SSH1用户工具 505
22.2.6 Windows平台上的免费SSH客户程序 505
22.3 Linux SSH2 Client/Server 506
22.3.1 概述 506
22.3.2 下载安装 506
22.3.3 配置 507
22.4 SSH2针对单个用户配置 511
22.5 SSH2用户工具 512
22.6 Linux Tirpwire 2.2.1 513
22.6.1 概述 513
22.6.2 下载安装 513
22.6.3 配置 516
22.6.4 命令 522
22.7 Linux Tripwire ASR 1.3.1 524
22.7.1 概述 524
22.7.2 下载安装 524
22.7.3 配置 526
22.7.4 命令 528
22.8.1 概述 530
22.8.2 下载安装 530
22.7.5 Tripwire的替代软件 530
2.8 Linux GnuPG 530
22.8.3 命令 531
第23章 网站综合实例 535
23.1 概述 535
23.2 基础网络配置 536
23.2.1 网卡的安装与设置 536
23.2.2 IP地址的修改 536
23.2.3 默认DNS服务器地址的设置 537
23.3 服务器安全 537
23.3.1 安装openssh 537
23.3.2 安装ProFTPD 538
23.4.1 下载软件包 540
23.4.2 将下载的软件包解压缩 540
23.4 数据库服务器的安装 540
23.3.3 关闭因特网超级服务器 540
23.4.3 编译并安装MySQL 541
23.4.4 启动MySQL并设置管理员口令 541
23.4.5 MySQL常用命令简介 541
23.4.6 MySQL的权限控制及用户管理 544
23.5 Web服务器的安装与Web编程环境的建立 544
23.5.1 安装Web服务器 545
23.5.2 安装Web编程环境 546
23.5.3 安装PHP编程环境 552
23.6 域名服务器的安装与调试 554
23.7 邮件传递服务器的安装 557
23.8 POP3/IMAP服务器的安装 559
23.8.1 下载软件包 559
23.8.2 将下载的软件包解压缩 559
23.8.3 编译并安装POP3/IMAP服务器 559
23.8.4 设置初始化环境和参数 560
23.8.5 连接MTA与MDA 561