第1章 Linux简介 1
1.1 Linux历史 1
1.2 Linux家族 2
1.2.1 Linux常见特性 2
1.2.2 Linux结构组成 3
1.2.3 Linux版本 6
1.3 Linux服务器 8
1.3.1 Linux服务器为何受到青睐 8
1.3.2 云计算 9
1.3.3 Linux与云计算的关系 9
第2章 Linux桌面系统 11
2.1 Linux桌面系统介绍 11
2.1.1 GNOME 3 11
2.1.2 KDE 12
2.1.3 Xfce 13
2.1.4 LXDE 14
2.2 Linux桌面系统的安装 14
2.3 任务实战 15
第3章 Linux系统安装 17
3.1 VMware Workstation的安装 17
3.2 镜像文件的下载 17
3.3 创建新的虚拟机 18
3.4 CentOS的安装 22
3.5 任务实战 26
第4章 Linux系统基本配置 29
4.1 系统安装后的基本配置 29
4.1.1 配置主机名 29
4.1.2 配置IP地址和网卡 30
4.1.3 配置防火墙和SELinux服务 31
4.1.4 更换国内Yum源 31
4.1.5 配置系统时间同步 32
4.2 远程连接 33
4.2.1 下载PuTTY 33
4.2.2 使用PuTTY连接服务器 34
4.3 关机和重启 35
4.4 重置root密码 36
4.4.1 重新启动系统 36
4.4.2 进入emergency模式 36
4.4.3 修改root密码 37
4.5 任务实战 37
第5章 Linux目录和文件管理 39
5.1 Linux目录结构 39
5.1.1 重要目录 39
5.1.2 文件类型 41
5.1.3 文件信息 42
5.1.4 目录路径 45
5.1.5 通配符 46
5.1.6 Shell中的特殊符号 47
5.2 文件和目录管理 47
5.2.1 使用pwd命令显示工作目录路径 48
5.2.2 使用cd命令改变工作目录路径 48
5.2.3 使用ls命令列出目录和文件信息 49
5.2.4 使用touch命令创建空文件 50
5.2.5 使用mkdir命令创建目录 50
5.2.6 使用rmdir命令删除空目录 51
5.2.7 使用cp命令复制文件和目录 51
5.2.8 使用mv命令移动文件和目录 52
5.2.9 使用rm命令删除文件和目录 52
5.2.10 使用file命令查询文件类型 53
5.3 链接文件 53
5.3.1 链接文件简介 53
5.3.2 硬链接的使用 54
5.3.3 软链接的使用 55
5.4 任务实战 56
第6章 Linux信息查看和处理 60
6.1 文件内容显示 60
6.1.1 使用cat命令显示文件内容 60
6.1.2 使用head命令显示文件内容 61
6.1.3 使用tail命令显示文件内容 62
6.1.4 使用more命令显示文件内容 63
6.1.5 使用less命令显示文件内容 64
6.1.6 使用nl命令显示文件内容 65
6.1.7 使用wc命令统计文件内容 66
6.2 输入/输出和应用 66
6.2.1 文件描述符 66
6.2.2 find命令的使用 67
6.2.3 grep命令的使用 69
6.2.4 tr命令的使用 70
6.2.5 cut命令的使用 71
6.2.6 paste命令的使用 72
6.2.7 sort命令的使用 72
6.2.8 uniq命令的使用 73
6.2.9 diff命令的使用 74
6.2.10 sed命令的使用 75
6.2.11 awk命令的使用 76
6.3 其他命令 77
6.3.1 使用uname命令查看系统信息 77
6.3.2 使用hostname命令显示或修改主机名称 77
6.3.3 使用cal命令显示日历 78
6.3.4 使用date命令显示或设置日期时间 78
6.3.5 使用history命令查看历史命令 78
6.4 任务实战 79
第7章 Linux用户、用户组及权限管理 83
7.1 Linux系统安全模型 83
7.1.1 用户账号 83
7.1.2 用户账号配置文件 83
7.1.3 用户组账号 84
7.1.4 用户组账号配置文件 84
7.2 用户和用户组的管理 85
7.2.1 用户的管理 85
7.2.2 用户组的管理 86
7.2.3 账号信息显示 87
7.3 文件权限的管理 87
7.3.1 文件和目录权限 87
7.3.2 用户和用户组所有者 87
7.3.3 文件和目录权限的控制 88
7.3.4 sudo配置 90
7.4 任务实战 91
第8章 Linux资源管理 94
8.1 磁盘分区 94
8.1.1 磁盘分区简介 94
8.1.2 使用fdisk命令建立分区 94
8.1.3 使用parted命令建立分区 97
8.2 文件系统管理 98
8.2.1 Linux文件系统简介 98
8.2.2 文件系统的创建和挂载 98
8.3 磁盘配额 100
8.3.1 磁盘配额简介 100
8.3.2 使用quota命令进行磁盘配额 100
8.4 逻辑卷管理 102
8.4.1 LVM的概念及相关术语 102
8.4.2 LVM的配置和使用 103
8.5 进程管理 106
8.5.1 进程简介 106
8.5.2 进程的查看和搜索 107
8.5.3 进程的管理 107
8.5.4 守护进程 110
8.5.5 Linux定时任务crontab命令和crond服务 114
8.5.6 管理服务 117
8.6 日志管理 118
8.6.1 日志文件的相关知识 119
8.6.2 配置Linux日志 119
8.6.3 Linux日志分析 120
8.7 任务实战 123
第9章 Linux资源包管理 129
9.1 RPM软件包 129
9.1.1 RPM简介 129
9.1.2 RPM的安装与卸载 129
9.1.3 rpm命令的主要参数 130
9.2 Yum软件包管理器 130
9.2.1 Yum命令的用法 130
9.2.2 如何使用光盘作为本地Yum源 132
9.3 归档和压缩 133
9.3.1 归档 133
9.3.2 压缩 134
9.4 备份与恢复系统 135
9.4.1 备份系统 135
9.4.2 恢复系统 136
9.5 任务实战 136
第10章 Apache服务器配置 139
10.1 Apache简介 139
10.2 Apache的安装与运行 140
10.2.1 源码编译安装与运行 140
10.2.2 使用Yum安装与运行 145
10.3 Apache的配置与管理 147
10.3.1 Apache主配置文件 147
10.3.2 基本配置 149
10.3.3 身份认证 150
10.3.4 虚拟主机配置 152
10.3.5 配置支持PHP 154
10.3.6 配置SSL加密传输 155
10.3.7 日志文件详解 159
10.4 任务实战 162
第11章 MySQL服务器配置 166
11.1 MySQL简介 166
11.2 MySQL的安装与运行 166
11.3 MySQL的配置与优化 169
11.3.1 MySQL安装后的初始化配置 169
11.3.2 MySQL配置调优 171
11.4 MySQL客户端 173
11.4.1 图形界面客户端 173
11.4.2 命令行客户端 178
11.5 MySQL的基本使用 179
11.6 数据库的备份与恢复 186
11.6.1 备份类型 186
11.6.2 备份数据 187
11.6.3 恢复数据 187
11.6.4 备份策略 188
11.7 任务实战 188
第12章 FTP服务器配置 192
12.1 FTP服务器的安装 192
12.1.1 前期准备 192
12.1.2 安装vsftp 193
12.1.3 配置服务及防火墙 193
12.2 FTP服务器的配置 194
12.2.1 vsftpd.conf文件的配置 194
12.2.2 匿名FTP配置 196
12.2.3 FTP客户端的安装及测试 196
12.2.4 本地用户FTP配置 197
12.2.5 虚拟用户FTP配置 199
12.3 任务实战 202
第13章 DNS服务器配置 204
13.1 DNS简介 204
13.2 Bind的安装与运行 204
13.2.1 源码编译安装与运行Bind 204
13.2.2 使用Yum安装Bind 205
13.3 Bind服务的配置 206
13.3.1 Bind主配置文件 206
13.3.2 正向解析 208
13.3.3 反向解析 208
13.4 任务实战 209
第14章 DHCP服务器配置 215
14.1 DHCP简介 215
14.1.1 DHCP服务器的工作过程 215
14.1.2 DHCP协议用途 216
14.2 DHCP服务器的安装与配置 217
14.2.1 源码编译安装 217
14.2.2 使用Yum安装 220
14.2.3 详细参数配置 224
14.3 任务实战 226
第15章 Samba服务器配置 229
15.1 Samba服务器的安装 229
15.1.1 Samba简介 229
15.1.2 Samba服务器的安装与启动 230
15.2 Samba服务器的配置与管理 230
15.2.1 smb.conf配置文件 230
15.2.2 配置选项 230
15.2.3 用户管理 235
15.2.4 安全设置 236
15.3 Samba客户端的配置 238
15.3.1 Linux客户端 238
15.3.2 Windows客户端 239
15.4 任务实战 240
第16章 NFS服务器配置 243
16.1 NFS服务器的安装 243
16.1.1 NFS简介 243
16.1.2 NFS的安装和启动 244
16.2 NFS服务器的配置与管理 244
16.2.1 exports配置文件 244
16.2.2 NFS共享目录 245
16.2.3 NFS权限控制 245
16.2.4 exports命令 246
16.3 NFS客户端的配置 246
16.3.1 客户端安装 246
16.3.2 共享目录挂载 247
16.3.3 NFS系统挂载 248
16.4 任务实战 248
第17章 邮件服务器配置 250
17.1 邮件服务器简介 250
17.2 邮件服务器的安装 250
17.2.1 源码编译安装与运行Postfix 250
17.2.2 使用Yum安装并运行Postfix 252
17.2.3 邮件服务器的配置和管理 253
17.3 任务实战 254
第18章 NAT服务器配置 264
18.1 NAT简介 264
18.2 NAT服务器的配置及应用 265
18.2.1 iptables简介 265
18.2.2 使用iptables实现NAT 266
18.2.3 使用firewalld实现NAT 268
18.3 任务实战 269
第19章 VPN服务器配置 275
19.1 VPN概述 275
19.1.1 VPN简介 275
19.1.2 VPN的功能与特点 276
19.1.3 VPN的分类及实现方式 276
19.1.4 VPN的隧道协议 277
19.2 VPN服务器的配置与管理 278
19.2.1 PPTP VPN服务器配置 278
19.2.2 OpenVPN服务器配置 280
19.3 任务实战 286
第20章 防火墙 291
20.1 防火墙相关知识 291
20.1.1 防火墙介绍 291
20.1.2 防火墙的组网方式 292
20.1.3 防火墙的工作过程 293
20.2 防火墙的配置及实践 294
20.2.1 Linux防火墙—iptables 294
20.2.2 Linux防火墙—firewalld 299
20.3 任务实战 302
第21章 LAMP部署 304
21.1 LAMP简介 304
21.2 LAMP动态网站部署 305
21.2.1 Apache的安装与配置 305
21.2.2 PHP的安装与配置 309
21.2.3 数据库的安装与运行 310
21.2.4 安装LAMP管理工具—phpMyAdmin 310
21.3 任务实战 312
第22章 Docker容器部署 318
22.1 Docker简介 318
22.1.1 Docker的特性 318
22.1.2 Docker组件 319
22.1.3 容器与虚拟机的区别 320
22.2 Docker的安装与运行 320
22.2.1 安装前环境准备 320
22.2.2 安装Docker CE 321
22.2.3 设置Docker阿里云加速器 322
22.2.4 启动Docker服务并配置为开机自动启动 324
22.3 Docker服务管理 324
22.3.1 镜像管理 324
22.3.2 容器操作 327
22.3.3 数据卷操作 329
22.4 任务实战 330