UbuntuServer最佳方案的目 录

如题所述

第1个回答  2016-06-02

第1篇 拥抱UbuntuServer
第1章 敲开Linux Server的大门 2
1.1 Linux到底是什么 2
1.2 为何选Linux,不选
1.2 Windows 3
1.2.1 Linux可以定制 4
1.2.2 Linux比Windows稳定 4
1.2.3 Linux比Windows响应快 4
1.2.4 Linux比Windows安全 5
1.2.5 Linux不用花钱买 6
1.2.6 Linux更适合远程管理 6
1.3 学习Linux的终南捷径 6
1.3.1 兴趣、试验 6
1.3.2 真正的捷径——LFS 7
1.4 选择哪个Linux发行版呢 7
1.4.1 先排除Gentoo 8
1.4.2 再排除Red Hat、CentOS和SUSE 8
1.4.3 Debian不错 8
1.4.4 推荐使用Ubuntu 8
1.5 应该买什么样的服务器呢 10
1.5.1 架构设计 10
1.5.2 服务器的选型 10
1.5.3 机房的选择 11
第2章 拥抱Ubuntu Server 12
2.1 Ubuntu的前世今生 12
2.2 安装Ubuntu Server 13
2.2.1 安装前的准备 13
2.2.2 安装Ubuntu Server 13
2.2.3 把语言环境变量改为英文 29
2.2.4 安全补丁、版本升级 30
2.3 Ubuntu快速入门指南 31
2.3.1 nano编辑器 31
2.3.2 强大的“资源管理器”:mc 32
2.3.3 快速查找文件 32
2.3.4 软件包管理 33
2.3.5 使用apt工具 35
2.3.6 给Red Hat用户 42
2.3.7 Ubuntu网络配置 45
2.3.8 远程管理Ubuntu Server 48
2.3.9 系统更新:apt-get update && apt-get upgrade 49
第2篇 LAMP服务器
第3章 用Apache做Web服务器 51
3.1 Apache简介 51
3.2 Apache的安装、配置 52
3.2.1 Apache的安装 52
3.2.2 Apache的配置 52
3.2.3 Apache虚拟主机 54
3.3 Apache性能优化 62
3.3.1 正确选择MPM 63
3.3.2 优化Apache配置 63
3.3.3 使用反向代理 68
3.4 Apache压力测试(ab) 68
3.5 Apache安全 70
3.5.1 安全更新 70
3.5.2 隐藏敏感信息 70
3.5.3 不要以root身份运行Apache 72
3.5.4 密码认证 73
3.5.5 检查文件权限 75
3.5.6 关闭不用的模块 75
3.5.7 DDoS 攻击防范 76
3.6 Apache日志分析 78
3.6.1 用Webalizer分析Apache日志 78
3.6.2 用AWStats分析Apache日志 80
3.6.3 Apache日志合并 82
第4章 LAMP服务器之PHP篇 84
4.1 MySQL简介 84
4.2 PHP简介 85
4.3 安装LAMP相关软件包 85
4.3.1 LAMP软件包安装 85
4.3.2 LAMP软件包删除 86
4.4 配置Apache、MySQL、PHP 86
4.4.1 MySQL配置 86
4.4.2 PHP配置 88
4.5 Apache、MySQL、PHP之间的关联 89
4.6 用phpMyAdmin管理MySQL数据库 90
4.6.1 phpMyAdmin的安装 90
4.6.2 phpMyAdmin排错 90
4.7 实例:用Drupal快速架设Blog网站 90
4.7.1 Drupal是什么 90
4.7.2 获取Drupal 91
4.7.3 为Drupal创建MySQL数据库和用户 91
4.7.4 为Drupal配置PHP 92
4.7.5 为Drupal配置Apache 92
4.7.6 安装Drupal 92
4.7.7 为Drupal安装Blog模块 93
4.7.8 Drupal的中文界面 94
第5章 LAMP服务器之Perl篇 95
5.1 安装Perl模块 95
5.2 配置cgi-bin目录 95
5.3 Perl程序测试 96
5.4 用Perl访问MySQL数据库 96
5.5 CGI排错 98
5.6 实例:用Twiki假设Wiki 99
5.6.1 安装Twiki 99
5.6.2 配置Twiki 99
第6章 LAMP服务器之Python篇 101
6.1 安装mod_python 101
6.2 配置Apache 101
6.2.1 Publisher Handler 101
6.2.2 PSP Handler 102
6.3 让Python支持MySQL 103
6.3.1 Python连接MySQL数据库测试 103
6.3.2 Python的CGI程序 104
6.3.3 CGI排错 105
6.4 实例:用Django开发Web应用程序 105
6.4.1 安装Django 105
6.4.2 创建自己的Django项目 105
6.4.3 运行Django开发服务器 105
6.4.4 连接MySQL数据库 106
6.4.5 后续开发步骤 107
6.5 实例:用MoinMoin实现Wiki 107
6.5.1 安装MoinMoin 108
6.5.2 创建MoinMoin实例 108
6.5.3 MoinMoin权限控制 110
6.6 Python Web应用的性能优化 111
6.6.1 mod-wsgi介绍 111
6.6.2 mod-wsgi支持的程序 112
6.6.3 mod-wsgi的安装 112
6.6.4 测试 113
第7章 Apache Tomcat架设 114
7.1 安装Tomcat 114
7.2 配置Tomcat 115
7.3 Tomcat和Apache的整合:mod_jk 115
7.3.1 mod_jk的安装 116
7.3.2 mod_jk的配置 116
7.4 Tomcat安全 117
7.4.1 保护shutdown端口 117
7.4.2 修改默认错误页面 118
7.4.3 删除样例文件 118
7.4.4 Manager WebApp安全 118
第8章 最佳代理、反向代理服务器:Squid 119
8.1 Squid安装 119
8.2 为Squid配置主机名 119
8.3 访问控制列表 120
8.4 正向代理 121
8.4.1 设置端口号 121
8.4.2 禁止某些IP地址上网 121
8.4.3 禁止在某时间段上网 122
8.4.4 个别网站的控制 122
8.4.5 用NCSA做密码认证 123
8.4.6 透明代理的设置 123
8.5 反向代理 126
8.5.1 Squid反向代理单个后台Web服务器 127
8.5.2 Squid反向代理多个后台Web服务器 127
8.6 Squid排错 128
8.6.1 Squid运行状态检查 128
8.6.2 Squid日志文件 128
8.7 使用SquidGuard 128
8.7.1 SquidGuard能做什么 129
8.7.2 安装SquidGuard 131
8.7.3 SquidGuard基本配置 131
8.7.4 SquidGuard高级配置 135
第3篇 Mail服务器
第9章 最佳邮件服务器方案 141
9.1 安装所有相关软件 142
9.1.1 安装服务器软件 142
9.1.2 安装内容过滤软件 143
9.1.3 安装其他软件 143
9.2 为Postfix准备数据库 144
9.2.1 创建数据库maildb 144
9.2.2 为数据库maildb创建数据表 144
9.2.3 为数据库maildb创建视图 147
9.3 配置Postfix 149
9.3.1 Postfix与MySQL的
关联配置 149
9.3.2 让Postfix使用Dovecot分发邮件 155
9.4 配置Dovecot 156
9.4.1 配置dovecot.conf 156
9.4.2 配置dovecot-sql.conf 158
9.4.3 修改配置文件权限 158
9.4.4 重新启动Dovecot 158
9.5 用Telnet进行SMTP/POP3/IMAP测试 158
9.5.1 SMTP测试 159
9.5.2 测试POP3 161
9.5.3 测试IMAP 162
9.6 用Thunderbird进行
SMTP/POP3/IMAP测试 164
9.6.1 在Thunderbird中创建账号 164
9.6.2 修改hosts文件 165
9.6.3 在Thunderbird中用POP收取邮件 166
9.6.4 在Thunderbird中用SMTP发送邮件 167
9.6.5 在Thunderbird中用IMAP收取邮件 167
9.7 实现SMTP认证 168
9.7.1 配置Postfix 169
9.7.2 用Telnet测试SMTP认证 169
9.7.3 用Thunderbird测试SMTP认证 170
9.8 强迫用户使用TLS加密连接SMTP 171
9.9 使用自己创建的安全证书 172
9.10 利用Dovecot实现Quota(磁盘限额) 173
9.10.1 启用quota插件 173
9.10.2 配置quota 174
9.11 垃圾邮件、病毒过滤 176
9.11.1 配置SpamAssassin 176
9.11.2 配置AMaViSd 176
9.11.3 配置Postfix,将邮件交给AMaViSd过滤 180
9.11.4 垃圾邮件测试 182
9.11.5 非法附件测试 183
9.11.6 将Spam自动转存到“垃圾”文件夹 183
9.12 Webmail的实现 186
9.12.1 配置SquirrelMail 186
9.12.2 访问Webmail 187
9.13 修改系统别名/etc/aliases 188
9.14 Web管理工具 189
9.14.1 安装Virtual Mail Manager 189
9.14.2 使用Virtual Mail Manager 190
第10章 最佳邮件列表:Mailman 191
10.1 安装Mailman 191
10.2 配置Mailman 192
10.2.1 修改主机名 192
10.2.2 配置Apache 192
10.2.3 配置Postfix 193
10.2.4 创建默认邮件列表 194
10.3 管理Mailman 195
10.3.1 通过Web管理Mailman 196
10.3.2 通过命令行管理Mailman 197
10.4 普通用户的Web界面 199
第4篇 文件服务器
第11章 最佳FTP服务器方案 201
11.1 要实现的功能 201
11.2 FTP服务器的选择 202
11.2.1 淘汰标准一:安全 202
11.2.2 淘汰标准二:易用性 203
11.3 Pure-FTPd的安装、配置 203
11.3.1 安装Pure-FTPd 203
11.3.2 配置Pure-FTPd 203
11.4 实现FTP用户的Web管理 206
11.4.1 安装User manager for
PureFTPd 207
11.4.2 配置User manager for PureFTPd 207
11.4.3 设置User manager for PureFTPd管理员 207
11.4.4 Web管理界面 208
11.5 Pure-FTPd配置选项介绍 209
11.5.1 逻辑型配置选项 209
11.5.2 数值型配置选项 210
11.5.3 字符串型配置选项 211
11.5.4 IP地址型配置选项 212
11.5.5 文件型配置选项 212
11.6 实现TLS认证 212
11.6.1 证书设置 212
11.6.2 服务器的TLS设置 213
11.6.3 FTP客户端的TLS设置 213
11.7 FXP协议支持 214
11.8 允许匿名访问 214
11.8.1 Pure-FTPd设置 214
11.8.2 添加系统用户 215
第12章 最佳NFS服务器方案 216
12.1 安装前须知 217
12.1.1 用户权限 217
12.1.2 组权限 217
12.2 NFS服务器的安装及配置 217
12.2.1 /etc/hosts配置 218
12.2.2 安装NFS服务器软件 218
12.2.3 Portmap安全 218
12.2.4 NIS服务器配置 218
12.2.5 用/etc/exports配置共享目录 220
12.3 NFS客户端的安装及配置 220
12.3.1 /etc/hosts配置 220
12.3.2 安装NFS客户端 221
12.3.3 配置NFS客户端 221
第13章 与Windows共舞:Samba 223
13.1 Samba的好处 223
13.1.1 高性能 223
13.1.2 省钱 224
13.2 安装Samba并测试 224
13.2.1 安装Samba 224
13.2.2 在Windows客户端上测试 224
13.3 Samba配置 225
13.3.1 最简单的Samba配置 225
13.3.2 Samba的安全认证 227
13.3.3 共享权限控制 229
13.3.4 文件写入实验 229
13.4 基本的家目录共享方案 231
13.4.1 创建私人目录 232
13.4.2 创建新用户 232
13.4.3 配置Samba 233
13.5 其他共享方案 236
13.5.1 共享光驱 236
13.5.2 小组共享 237
第5篇 虚拟化
第14章 最佳虚拟化方案: OpenVZ 240
14.1 OpenVZ简介 240
14.1.1 可扩展性 240
14.1.2 密度 240
14.1.3 管理方便 241
14.2 安装OpenVZ 241
14.2.1 安装前的准备 241
14.2.2 安装OpenVZ 242
14.2.3 配置OpenVZ 242
14.3 虚拟机的基本操作 244
14.3.1 虚拟机的创建 244
14.3.2 虚拟机的启停 245
14.4 vzctl用法详解 246
14.4.1 vzctl基本用法 246
14.4.2 创建虚拟机 246
14.4.3 虚拟机的启停等操作 247
14.4.4 设置虚拟机参数 247
14.4.5 其他命令和参数 253
14.5 /etc/vz/vz.conf详解 253
14.5.1 全局参数 253
14.5.2 磁盘限额参数 253
14.5.3 网卡参数 254
14.5.4 虚拟机默认值 254
14.6 VE的备份与恢复 254
14.6.1 安装vzdump 255
14.6.2 vzdump的用法 255
14.6.3 备份VE 256
14.6.4 恢复VE 256
14.7 OpenVZ排错 256
第6篇 DNS和DHCP服务器
第15章 最佳DNS服务器:Bind9 259
15.1 安装Bind9 259
15.2 Bind9的几种角色 260
15.3 配置Bind9 260
15.3.1 Bind9配置文件介绍 260
15.3.2 DNS记录类型 260
15.3.3 DNS缓存服务器的配置 261
15.3.4 主DNS服务器的配置 262
15.3.5 从DNS服务器的配置 266
15.4 让Bind9运行在Chroot环境 268
15.4.1 创建Chroot环境 268
15.4.2 Bind9配置 269
15.4.3 日志路径设置 269
15.4.4 测试 269
15.5 Bind9排错 269
15.5.1 DNS测试 269
15.5.2 日志文件 271
第16章 DNS轮询 273
16.1 为什么要用DNS轮询 273
16.2 DNS轮询是怎么工作的 273
16.3 DNS轮询的实现方法 273
16.3.1 多个CNAMES的方法(Bind4、Bind8) 273
16.3.2 多个 A 记录的方法(Bind9) 274
16.4 DNS轮询的测试 274
16.5 DNS轮询的缺陷 275
第17章 最佳DHCP服务器方案 276
17.1 DHCP的好处 276
17.2 DHCP提供信息的方法 277
17.3 安装DHCP服务器软件 277
17.4 配置DHCP服务器 278
17.4.1 网络环境介绍 278
17.4.2 DHCP配置 278
17.4.3 测试 279
17.5 DHCP排错 280
第7篇 负载均衡和集群
第18章 负载均衡、高可用的Web集群 282
18.1 介绍 282
18.1.1 HAProxy介绍 282
18.1.2 Keepalived介绍 282
18.1.3 HAProxy+Keepalived的好处 283
18.2 架构 283
18.2.1 架构详情 283
18.2.2 架构图 284
18.3 架构的实现 284
18.3.1 Web服务器的安装及配置 284
18.3.2 HAProxy的安装及配置 285
18.3.3 Keepalived的安装及配置 287
18.4 测试 289
18.4.1 Web节点故障模拟 289
18.4.2 负载均衡节点故障模拟 289
18.5 HAProxy的Web统计页面 290
第19章 负载均衡、高可用的MySQL集群 291
19.1 MySQL集群架构介绍 291
19.1.1 架构图 291
19.1.2 本例中的服务器 292
19.2 管理节点(MGM)的安装及配置 292
19.2.1 安装MySQL 293
19.2.2 配置ndb_mgmd.cnf 293
19.3 存储节点(NDB)的安装及配置 294
19.3.1 安装MySQL 294
19.3.2 配置my.cnf 294
19.4 阶段测试 295
19.4.1 集群连接状态测试 295
19.4.2 测试 296
19.5 实现负载均衡 300
19.5.1 ldirectord+heartbeat介绍 300
19.5.2 让内核支持IPVS 301
19.5.3 安装heartbeat、ldirectord等软件 302
19.5.4 配置heartbeat 302
19.5.5 配置ldirectord 303
19.5.6 NDB节点配置 304
19.5.7 测试 305
19.6 注意事项 307
19.6.1 数据库引擎问题 307
19.6.2 内存问题 308
19.6.3 安全问题 308
第8篇 远程控制与监控
第20章 最佳远程控制方案:SSH 310
20.1 关于公钥认证 310
20.1.1 为什么要用公钥认证 310
20.1.2 公钥认证是怎么工作的 311
20.2 SSH的安装 311
20.2.1 安装SSH服务器和客户端 311
20.2.2 测试 311
20.3 SSH配置 312
20.3.1 生成密钥对 312
20.3.2 将公钥复制到服务器 312
20.3.3 SSH登录测试 312
20.3.4 SSH服务器配置 314
20.4 SSH小技巧 315
20.4.1 用scp远程复制文件 315
20.4.2 在客户端上指定命令 316
20.4.3 在服务器上限制所执行的命令 316
20.4.4 修改密钥口令 317
20.4.5 将密钥放入内存 317
第21章 最佳服务器监控方案:
第21章 Nagios 318
21.1 Nagios介绍 318
21.2 安装Nagios 319
21.3 配置Nagios 319
21.3.1 Nagios初始化设置 319
21.3.2 Nagios监控设置 320
21.4 手机短信提醒 327
21.5 Nagios排错 328
第9篇 数据备份与系统安全
第22章 最佳RAID方案:RAID10 330
22.1 RAID方案的选择 330
22.2 RAID10的实现 332
22.2.1 手动分区 333
22.2.2 第一块硬盘分区 334
22.2.3 分区复制 338
22.2.4 创建RAID阵列 339
22.2.5 在RAID上创建分区 340
22.2.6 保存分区 342
22.3 RAID10的日常维护 343
22.3.1 mdadm的主要工作模式 343
22.3.2 mdadm的选项 343
22.3.3 创建RAID阵列 345
22.3.4 查询RAID阵列 345
22.3.5 RAID的监控 346
22.3.6 RAID的启动/停止 346
22.4 故障处理 347
22.4.1 从RAID中移除设备 347
22.4.2 添加已有RAID物理卷 348
22.4.3 更换全新硬盘 348
22.5 添加备用硬盘 350
22.5.1 插入新硬盘 351
22.5.2 新硬盘分区 351
22.5.3 将新分区加入RAID 351
22.5.4 设置grub 352
22.5.5 故障模拟 352
22.6 RAID10的空间扩展 352
第23章 最佳数据安全方案:
第23章 RAID10+LVM 354
23.1 创建RAID物理卷 354
23.1.1 将第一块硬盘分区 354
23.1.2 剩余硬盘的分区处理 355
23.2 创建RAID阵列 355
23.2.1 创建RAID1阵列 355
23.2.2 创建RAID10阵列 356
23.3 LVM的创建和配置 356
23.3.1 创建LVM物理卷 356
23.3.2 LVM配置 356
23.4 创建/boot分区 358
23.5 LVM的相关命令 359
23.5.1 LVM物理卷相关命令 359
23.5.2 LVM卷组相关命令 360
23.5.3 LVM逻辑卷相关命令 363
23.6 添加新硬盘 365
23.6.1 插入新硬盘 365
23.6.2 配置RAID 365
23.6.3 在RAID上配置LVM 367
23.6.4 扩容文件系统 368
23.7 更换硬盘 368
23.8 LVM分区备份 368
23.8.1 创建快照 369
23.8.2 备份快照内容 369
23.8.3 删除快照 370
第24章 Ubuntu Server系统安全 371
24.1 系统安全更新 371
24.1.1 订阅安全列表 371
24.1.2 自动更新 371
24.2 控制台安全 372
24.3 用户、密码管理 372
24.3.1 关于root用户 372
24.3.2 关于sudo 373
24.3.3 关于/etc/sudoers 373
24.3.4 密码策略 375
24.4 ufw防火墙 376
24.4.1 启用、禁用ufw 376
24.4.2 基本规则设置 377
24.4.3 常用规则设置 378
24.4.4 高级规则设置 380
24.4.5 IP伪装 382
24.5 入侵检测 384
24.5.1 安装LAMP 384
24.5.2 安装、配置Snort 384
24.5.3 安装、配置BASE 387
24.6 肉鸡检测 392
24.6.1 chkrootkit的使用 393
24.6.2 rkhunter的使用 394
24.6.3 unhide的使用 396
24.7 数据完整性检测 397
24.7.1 安装Tripwire 398
24.7.2 配置Tripwire 400
24.7.3 初始化Tripwire数据库 403
24.7.4 执行完整性检测 403
24.7.5 检测报告分析 403
24.7.6 查看Tripwire数据库内容 405
24.7.7 使用Tripwire的注意事项 406
24.8 被入侵后的系统恢复 406
24.8.1 保持冷静 407
24.8.2 断开网络 407
24.8.3 找到黑客入侵的方法 407
24.8.4 黑客文件清理 412
24.8.5 恢复未受影响的服务 412
24.8.6 修复问题 412
24.8.7 恢复受影响的服务 412
24.8.8 监控系统 412