第0章 了解开源 1
0.1开源概述 1
0.1.1开源软件的理解 1
0.1.2开源软件的定义 2
0.1.3开源软件与其他类型软件比较 2
0.2开源软件的历史与未来 3
0.2.1开源软件的历史演变 3
0.2.2开源运动背后的理想与现实 6
0.2.3开源软件成就新软件时代 7
0.3开源软件的好处 8
0.3.1高质量 8
0.3.2安全性 9
0.3.3创新性 10
0.3.4助学性 10
0.4开源与日常生活 10
0.4.1 Android手机 10
0.4.2开源浏览器 11
0.4.3开源云平台 11
0.4.4开源社区 12
思考与实验 12
第1章 计算机网络与网络服务概述 13
1.1网络概述 13
1.1.1计算机网络 13
1.1.2局域网 14
1.1.3互联网 15
1.2互联网的常用名词 16
1.2.1 IP地址 16
1.2.2子网划分与子网掩码 17
1.2.3网关 19
1.2.4域名 19
1.2.5 TCP/IP的端口 19
1.3网络操作系统及其常用应用服务简介 20
思考与实验 26
第2章 Linux操作系统的安装 27
2.1 Linux硬件兼容性 27
2.2 Linux系统的安装 28
2.2.1各类安装方式简介 29
2.2.2光盘安装方式 29
2.2.3通过磁盘安装Linux 45
2.2.4通过局域网方式安装Linux 47
2.2.5 kickstart批量自动安装Linux 55
2.3 Linux安装的常见故障与排除 56
思考与实验 57
第3章 Linux系统管理 58
3.1 Linux磁盘分区与文件系统目录结构 58
3.1.1 Linux磁盘分区 58
3.1.2 Linux文件系统的目录结构 59
3.2 Linux系统的文件管理命令 61
3.3 Linux系统的用户管理命令 73
3.3.1用户管理基础知识 73
3.3.2用户管理 76
3.4Linux系统的网络管理 81
3.4.1设置本地网络 81
3.4.2网络管理的常用命令 82
3.5 Linux系统的软件管理命令 86
3.5.1软件(或系统)更新 86
3.5.2软件管理 86
3.6 Linux系统的进程与监控 89
3.6.1系统的进程管理 89
3.6.2监测系统负载 92
3.6.3监测进程运行 93
3.6.4监测内存使用情况 93
3.6.5监测CPU使用情况 95
3.6.6监测I/O性能 95
3.7 Linux系统的管理自动化 96
3.7.1 at工具 96
3.7.2 cron工具 97
3.7.3 anacron工具 98
3.8 Linux系统的数据备份 98
3.8.1备份的基础知识 98
3.8.2 Linux常用备份/恢复数据命令 99
3.9 Linux系统日志分析 101
思考与实验 103
第4章 shell编程 104
4.1 shell命令行书写规则 104
4.2 编写/修改权限及执行shell程序的步骤 105
4.2.1编辑shell程序 105
4.2.2建立可执行的程序 105
4.2.3执行shell程序 105
4.3在shell程序中使用的参数 106
4.3.1位置参数 106
4.3.2内部参数 107
4.4在shell程序中使用的变量 108
4.4.1变量的赋值 108
4.4.2访问变量值 108
4.4.3键盘读入 109
4.5表达式的比较 110
4.5.1字符串比较 110
4.5.2数字比较 111
4.5.3逻辑操作 112
4.5.4文件操作 113
4.6循环结构语句 114
4.6.1 for循环 114
4.6.2 while循环 116
4.6.3 until循环 117
4.7条件结构语句 117
4.7.1 if语句 118
4.7.2 case语句 118
4.8在shell脚本中使用函数 119
4.9在shell脚本中调用其他shell脚本 120
4.10综合实例 121
思考与实验 127
第5章 组建企业网 128
5.1企业网络概况 128
5.2组网原理 128
5.3组建企业网络案例 129
5.4 Linux系统的网络接入方式 136
5.4.1通过ADSL接入互联网 136
5.4.2通过有线局域网接入 139
5.4.3通过无线局域网接入 140
5.5 Linux无线热点设置 141
5.5.1无线热点概述 141
5.5.2设置无线热点 141
思考与实验 143
第6章 Iptables防火墙 144
6.1 Iptables简介 144
6.1.1 Netfilter/Iptables 144
6.1.2 Iptables工作原理 145
6.2 Iptables基础知识 145
6.2.1表(table)与链(chain) 146
6.2.2命令(command) 146
6.2.3匹配(match) 148
6.2.4目标(target) 149
6.3 Iptables基础命令操作 150
6.4 Iptables配置实战 152
6.4.1 Iptables基础配置实例 152
6.4.2用Iptables设置路由功能实例 153
6.5构建Linux的NAT服务器 154
6.5.1什么是NAT 154
6.5.2构建NAT服务器实例 155
思考与实验 157
第7章 DHCP服务器 158
7.1 DHCP概述与工作原理 158
7.1.1 DHCP简介 158
7.1.2 DHCP工作原理 158
7.2 DHCP服务器的安装与配置 160
7.2.1安装DHCP服务器 160
7.2.2 DHCP服务器的基本配置实例 160
7.2.3 DHCP服务器的中继转发代理 165
7.3常见故障及其排除 173
思考与实验 173
第8章 SAMBA服务器 174
8.1 SAMBA简介与工作原理 174
8.1.1 SAMBA简介 174
8.1.2 SMB协议 174
8.1.3 SAMBA服务器工作原理 175
8.2 SAMBA服务器的基本配置 175
8.3增加SAMBA服务器的安全性 181
8.3.1不要使用明码 181
8.3.2尽量不使用share级别安全 181
8.3.3尽量不使用浏览器服务访问 181
8.3.4通过网络接口控制SAMBA访问 181
8.3.5通过主机名称和IP地址列表控制SAMBA访问 181
8.4常见故障及其排除 182
思考与实验 182
第9章 NFS服务器 183
9.1 NFS简介与工作原理 183
9.2安装与配置NFS服务器 184
9.2.1安装NFS服务器 184
9.2.2 /etc/exports配置文件 184
9.2.3 NFS服务器配置实例 185
9.3常见故障及其排除 192
思考与实验 192
第10章 FTP服务器 193
10.1 FTP简介与工作原理 193
10.1.1 FTP简介 193
10.1.2 FTP服务器工作原理 194
10.2 FTP服务器的配置 195
10.2.1安装Vsftpd服务器 195
10.2.2匿名用户的权限设置实例 196
10.2.3本地用户的权限设置实例 201
10.3常见故障及其排除 204
10.3.1日志文件 204
10.3.2常见故障与排除 205
思考与实验 206
第11章 DNS服务器 207
11.1 DNS简介与工作原理 207
11.1.1 DNS简介 207
11.1.2 DNS服务器工作原理 207
11.2 DNS服务器的基本配置 209
11.2.1什么是chroot技术 209
11.2.2配置主(master)域名服务器实例 210
11.2.3配置slave(辅助)域名服务器实例 214
11.2.4配置cache-only(缓存)域名服务器 216
11.2.5 DNS客户端设置与查询 216
11.3增强DNS服务器的安全性 219
11.4常见故障及其排除 221
思考与实验 222
第12章 邮件服务器 223
12.1邮件服务器简介 223
12.2邮件服务器的工作原理 223
12.2.1邮件服务器工作原理 223
12.2.2本地网络邮件传输 224
12.2.3远程网络邮件传输 224
12.3配置Sendmail邮件服务器 225
12.3.1安装Sendmail 225
12.3.2 Sendmail服务器配置实例 226
12.3.3通过Evolution邮件客户端访问Sendmail服务器 229
12.4配置基于Sendmail的Webmail 234
12.4.1安装OpenWebMail 234
12.4.2配置OpenWebMail 235
1.2.5常见故障及其排除 238
思考与实验 239
第13章 Apache服务器 240
13.1 Apache简介与工作原理 240
13.1.1 Apache简介 240
13.1.2 Apache服务器工作原理 241
13.1.3 Apache服务器的特征 241
13.2 Apache服务器的安装与启动 242
13.3 Apache服务器的虚拟主机配置 244
13.3.1基于相同IP不同端口的虚拟主机配置实例 244
13.3.2基于相同端口不同IP地址的虚拟主机实例 247
13.3.3基于域名的虚拟主机实例 248
13.4 Apache服务器与动态网页语言 249
13.4.1 Apache服务器与CGI 249
13.4.2 Apache服务器与PHP 250
13.5 Apache服务器的访问控制列表 251
13.5.1禁止访问某些文件或目录 252
13.5.2禁止访问某些目录 252
13.5.3禁止访问图片 253
13.5.4禁止访问URL相对路径 255
13.5.5禁止或允许某些IP访问 255
13.6 Apache服务器的安全验证 257
13.6.1配置basic验证实例 257
13.6.2配置digest验证实例 261
13.7常见故障及其排除 263
思考与实验 265
第14章 MySQL数据库 266
14.1 MySQL数据库简介 266
14.2安装与运行MySQL 267
14.2.1安装MySQL服务器 267
14.2.2启动与停止MySQL服务器 267
14.3 MySQL数据库的常用操作命令 268
14.3.1创建与修改MySQL管理员的口令 268
14.3.2 MySQL数据库的创建和使用 271
14.3.3 MySQL数据表的创建和使用 272
14.3.4索引的创建和删除 274
14.3.5用户的创建和删除 275
14.3.6用户权限的设置 276
14.3.7创建MySQL数据库实例 276
14.4 MySQL数据库的备份与恢复 278
14.5 MySQL与PHP的应用 278
14.6 MySQL数据库的图形化管理 280
14.6.1 phpMyAdmin的安装 280
14.6.2 phpMyAdmin的基本使用 282
思考与实验 289
第15章 流媒体服务器 290
15.1流媒体服务器简介 290
15.2配置Helix流媒体服务器 291
15.2.1 Helix流媒体配置实例 291
15.2.2 Helix流媒体服务器的基本管理 296
15.3常见故障及其排除 303
思考与实验 304
第16章 Linux远程管理服务 305
16.1 Linux远程管理服务简介 305
16.2安装与配置OpenSSH 305
16.2.1安装与启动OpenSSH服务程序 306
16.2.2 OpenSSH密钥验证实例 308
16.2.3 SSH客户端命令 310
16.3安装与配置VNC服务 311
16.3.1 VNC远程控制实例 311
16.3.2 Web方式连接VNC服务器 314
16.4常见故障及其排除 316
思考与实验 318
附录 319
参考文献 320