內容簡介
《Red Hat Enterprise Linux 7 伺服器構建快學通》以RHEL 7 為藍本,分17 章介紹了RHEL 7 的主要生產伺服器使用和系統管理。主要包括基礎篇自由軟體和開源軟體的基礎知識、Linux 的基礎知識、RHEL 7 的安裝、時間伺服器、Systemd 服務管理、DHCP 伺服器、DNS 伺服器、NIS 伺服器、NFS 伺服器、SSH 遠程控制、Samba 伺服器、Apache 伺服器、MariaDB 資料庫、電子郵件伺服器、FTP 伺服器等內容。《Red Hat Enterprise Linux 7 伺服器構建快學通》內容詳盡、結構清晰、通俗易懂,大量使用了圖表對內容進行表述和歸納,便於讀者理解及查閱,具有很強的實用性和指導性。《Red Hat Enterprise Linux 7 伺服器構建快學通》中內容適用於RHEL 7,其中絕大部分內容同時也適用於其他主要發行版本。
《Red Hat Enterprise Linux 7 伺服器構建快學通》可以作為高等院校相關專業、Linux 短期培訓班的教材,同時也可供廣大Linux 愛好者自學使用。
作品目錄
第1 章 Red Hat Enterprise Linux 7.0系統簡介 ………………………1
1.1 Linux 簡介 ………………………1
1.1.1 UNIX 作業系統的誕生 …………1
1.1.2 GNU 早期簡史 …………………2
1.1.3 POSIX 標準歷史 ………………3
1.1.4 Linux 概述 ………………………3
1.1.5 Linux 和開源軟體的商業化 ……4
1.1.6 Linux 和開源軟體的商業模式 …5
1.2 Linux 核心及其發行版本 ………6
1.2.1 Linux 發行版本概述 ……………6
1.2.2 Linux 核心的變遷 ………………6
1.2.3 Linux 主要發行版本 ……………8
1.3 Red Hat Enterprise Linux 簡介 ……10
1.3.1 發展軌跡 ………………………10
1.3.2 Red Hat Enterprise Linux 7.0 簡介 …12
1.4 相比上一個版本Red Hat EnterpriseLinux 7.0 的主要變化 ………………19
1.5 管理命令和配置檔案中的變化 … 20
第2 章 Red Hat Enterprise Linux 7.0系統安裝 ………………………23
2.1 了解硬體需求與兼容性………… 23
2.1.1 Linux 硬體驅動現狀 ……………23
2.1.2 主要硬體的兼容性 ……………24
2.1.3 收集硬體信息 …………………24
2.1.4 檢查系統硬體是否存在大的缺陷 … 26
2.1.5 獲取Red Hat EnterpriseLinux 7.0 兼容性列表……………26
2.2 安裝Red Hat Enterprise Linux 7.0……27
2.2.1 使用本地光碟介質安裝Red HatEnterprise Linux 7.0 ……27
2.2.2 首次啟動Red Hat EnterpriseLinux 7.0 的配置 ………………40
2.3 進入單用戶模式重新設定root密碼 ……………………………………42
2.4 網路安裝…………………………44
2.4.1 安裝Linux 的幾種方法 …………44
2.4.2 配置PXE 伺服器 ………………44
2.5 卸載Red Hat Enterprise Linux 7.0 … 49
第3 章 配置Linux 時間伺服器 ……… 50
3.1 時間服務概述… ……………… 50
3.1.1 時間服務簡介 …………………50
3.1.2 NTP 的網路體系結構和工作原理 ………………………………51
3.1.3 NTP 如何工作 …………………52
3.1.4 NTP 的工作模式 ………………52
3.1.5 選擇NTP 伺服器 ………………52
3.2 配置Linux ntpd 網路時間伺服器 …………………………… 53
3.2.1 ntpd 伺服器配置 ………………53
3.2.2 NTP 服務的配置檔案 …………53
3.3 NTP 客戶端套用 ……………… 57
3.3.1 使用Linux NTP 客戶端 ………57
3.3.2 在Windows 系統中使用NTP校時 ……………………………58
3.4 使用Chrony 設定時間與時鐘伺服器同步 ………………………… 59
3.4.1 Chrony 簡介 ……………………59
3.4.2 安裝配置Chrony ………………60
3.4.3 配置實例 ………………………61
3.4.4 chronyd 命令 ……………………61
3.4.5 Chrony 的操作 …………………62
3.4.6 在客戶端配置時間同步伺服器 …62
第4 章 配置Linux DHCP 伺服器 …… 64
4.1 DHCP 伺服器的工作原理 ……… 64
4.1.1 DHCP 簡介 ……………………64
4.1.2 為什麼使用DHCP ………………64
4.1.3 DHCP 的工作流程 ……………64
4.2 安裝DHCP 伺服器 …………… 65
4.2.1 DHCP 配置檔案 ………………65
4.2.2 配置實例 ………………………67
4.2.3 啟動DHCP 伺服器 ……………68
4.2.4 設定DHCP 客戶端 ……………70
第5 章 安裝配置DNS 伺服器 ……… 73
5.1 DNS 簡介 ……………………… 73
5.1.1 DNS 伺服器的工作原理 ………73
5.1.2 域名服務的解析原理和過程 …75
5.1.3 DNS 分類 ………………………76
5.1.4 DNS 常用術語 …………………77
5.2 Linux DNS 伺服器簡介 ……… 77
5.2.1 DNS 配置檔案組 ………………77
5.2.2 DNS 資源記錄格式 ……………78
5.3 DNS 伺服器和客戶端配置 …… 80
5.3.1 安裝伺服器軟體包 ……………80
5.3.2 BIND 主配置檔案named.conf …80
5.3.3 區域網路區檔案設定 ………………83
5.3.4 外網區檔案設定 ………………84
5.3.5 區域網路反向查詢檔案設定 ………84
5.3.6 外網反向查詢檔案設定 ………85
5.3.7 防火牆和SELinux 設定 ………85
5.3.8 啟動DNS 伺服器 ………………85
5.3.9 配置輔助域名伺服器 …………86
5.3.10 DNS 客戶端配置 ………………86
5.3.11 配置chroot 環境 ………………89
5.4 DNS 故障排除工具 …………… 90
5.4.1 dlint 簡介 ………………………90
5.4.2 DNS 伺服器的工作狀態檢查 …91
第6 章 安裝配置Linux NIS 伺服器 … 96
6.1 NIS 簡介 ……………………… 96
6.1.1 NIS 概述 …………………………96
6.1.2 NIS 的體系結構 …………………96
6.1.3 NIS 常用術語和控制NIS 服務的主要檔案 ……………………97
6.1.4 NIS 服務的C/S 模式 ……………98
6.2 NIS 伺服器配置 ……………… 98
6.2.1 環境說明 ………………………98
6.2.2 配置NIS 伺服器 ………………99
6.2.3 配置NIS 客戶端 …………… 101
第7 章 安裝配置Linux NFS 伺服器 ……103
7.1 NFS 伺服器的工作原理 ……… 103
7.1.1 NFS 簡介 …………………… 103
7.1.2 為何使用NFS ……………… 103
7.1.3 NFS 協定 …………………… 104
7.1.4 RPC 簡介 …………………… 105
7.2 安裝及配置NFS 伺服器 ……… 106
7.2.1 安裝軟體包 ………………… 106
7.2.2 配置/etc/exports 檔案 ……… 106
7.2.3 啟動服務 …………………… 107
7.2.4 exportfs 命令 ………………… 107
7.2.5 檢驗目錄/var/lib/nfs/xtab …… 108
7.2.6 showmount …………………… 108
7.2.7 觀察激活的連線埠 …………… 108
7.3 NFS 的防火牆和SELinux 設定 … 108
7.3.1 NFS 的防火牆設定 ………… 108
7.3.2 NFS 的SELinux 設定 ……… 109
7.4 NFS 客戶端配置 ……………… 111
7.4.1 軟體包的安裝及配置 ……… 111
7.4.2 使用mount 命令 …………… 111
7.4.3 掃描可以使用的NFS 伺服器目錄 ………………………… 112
7.4.4 卸載NFS 網路檔案系統 …… 113
7.4.5 套用實例 …………………… 113
7.4.6 其他掛載NFS 檔案系統的方法 …113
第8 章 Linux 伺服器的遠程控制 ……… 115
8.1 SSH 伺服器的工作原理 ……… 115
8.1.1 SSH 伺服器和客戶端工作流程 … 115
8.1.2 SSH 的安全驗證 …………… 115
8.2 配置OpenSSH 伺服器和使用SSH 客戶端 …………………… 116
8.2.1 安裝與啟動OpenSSH ……… 116
8.2.2 配置檔案 …………………… 117
8.2.3 配置使用口令驗證登錄伺服器的實例 …………………… 117
8.3 套用SSH 客戶端 ……………… 119
8.3.1 SSH 客戶端工具 …………… 119
8.3.2 生成密鑰對 ………………… 123
8.3.3 圖形界面工具gFTP ………… 124
8.3.4 使用Windows SSH 客戶端登錄OpenSSH 伺服器 ……… 125
8.4 Linux 和Windows 之間的桌面遠程控制 ……………………………130
8.4.1 使用Windows 的桌面遠程控制Linux ………………………… 130
8.4.2 使用RHEL 7 的桌面遠程控制Windows …………………… 132
8.4.3 Xming+PuTTY 在Windows 下遠程Linux 主機使用圖形界面的程式 … 133
8.5 SSH 伺服器的高級套用 ……… 133
8.5.1 使用sshpass ………………… 133
8.5.2 使用fail2ban ………………… 134
8.5.3 讓sftp 在chroot 環境下運行 … 136
第9 章 安裝配置Linux Samba 伺服器 … 137
9.1 Samba 簡介 …………………… 137
9.1.1 什麼是Samba ……………… 137
9.1.2 SMB 協定 …………………… 137
9.1.3 Samba 軟體簡介 …………… 138
9.2 安裝及配置Samba 伺服器 …… 139
9.2.1 安裝Samba 伺服器 ………… 139
9.2.2 防火牆和SELinux 設定 …… 140
9.2.3 Samba 主配置檔案smb.conf … 140
9.3 Samab 配置實例 ……………… 146
9.3.1 Samab 配置實例1 …………… 146
9.3.2 Samab 配置實例2 …………… 147
9.3.3 創建Samba 用戶賬號 ……… 148
9.3.4 使用 Windows 域控制器進行Linux 賬戶管理 ……………… 150
9.4 Samba 客戶端的使用 ………… 152
9.4.1 客戶端為Linux 系統 ………… 152
9.4.2 客戶端為Windows 系統 …… 153
第10 章 安裝配置Linux Squid 代理伺服器 …………………………154
10.1 代理伺服器介紹 …………… 154
10.1.1 各種代理伺服器的比較 …… 154
10.1.2 代理伺服器運作方式 ……… 154
10.1.3 代理伺服器的種類 ………… 156
10.2 Squid 代理伺服器 …………… 156
10.2.1 Squid 的安裝 ……………… 157
10.2.2 Squid 配置檔案squid.conf … 158
10.2.3 匿名Squid 伺服器設定 …… 161
10.2.4 需要身份驗證的Squid 伺服器設定 ……………………… 162
10.2.5 Squid 反向代理伺服器的設定 … 163
10.2.6 正向代理伺服器的客戶端設定 … 163
10.3 Squid 安全工具的使用 ……… 164
10.3.1 SquidClamav ……………… 164
10.3.2 SquidGuard ………………… 167
10.4 Squid 代理伺服器的日誌 …… 168
10.4.1 Squid 日誌格式 …………… 168
10.4.2 分析access.log 日誌檔案 … 169
10.4.3 使用Linux 命令 …………… 169
10.4.4 使用專業軟體分析 ………… 169
10.4.5 Squid 日誌清理 …………… 172
10.5 代理伺服器客戶端設定 …… 172
10.5.1 Linux 客戶端設定 ………… 172
10.5.2 Windows 客戶端設定 ……… 173
第11 章 安裝配置MariaDB 資料庫 … 174
11.1 資料庫理論基礎 …………… 174
11.1.1 數據存儲方式 ……………… 174
11.1.2 資料庫泛型 ………………… 175
11.1.3 資料庫在開發中的作用 …… 176
11.1.4 常見的資料庫 ……………… 176
11.1.5 為什麼要使用MariaDB 資料庫 ………………………… 177
11.2 MariaDB 伺服器的安裝與配置 ………………………… 178
11.2.1 安裝與測試MariaDB 伺服器 … 178
11.2.2 管理伺服器 ………………… 179
11.2.3 MariaDB 伺服器的用戶管理 … 186
11.2.4 創建、查詢、使用與刪除資料庫 ………………………… 187
11.2.5 使用phpMyAdmin 管理MariaDB …………………… 189
11.3 MySQL 伺服器數據備份、恢復 ………………………… 191
11.3.1 使用MySQL 相關命令進行簡單的本地備份 …………… 191
11.3.2 使用phpMyBackupPro 備份恢復MariaDB 資料庫 ……… 192
11.4. MariaDB 套用技巧 ………… 195
11.4.1 MariaDB 忘記root 密碼 …… 195
11.4.2 將 MySQL 遷移到 MariaDB 上 …196
第12 章 安裝配置Linux 目錄服務 … 198
12.1 Linux 目錄服務簡介 ………… 198
12.2 OpenLDAP 伺服器配置 …… 199
12.2.1 OpenLDAP 配置檔案 ……… 199
12.2.2 OpenLDAP 伺服器架設流程實例 ………………………… 201
12.3 OpenLDAP 客戶端安裝 …… 206
12.3.1 OpenLDAP 客戶端配置檔案 … 206
12.3.2 OpenLDAP 客戶端架設流程實例 ………………………… 207
12.4 管理Openldap ……………… 209
12.4.1 使用OpenLDAP 常用命令 … 209
12.4.2 使用phpLDAPadmin 管理OpenLDAP 伺服器 ………… 215
12.4.3 配置OpenLDAP 使用TLS通信 ………………………… 216
第13 章 安裝配置Apache 伺服器 … 218
13.1 Web 伺服器軟體Apache 簡介 …218
13.1.1 Apache 的工作原理 ………… 218
13.1.2 Apache 伺服器的特點 ……… 218
13.2 安裝及配置Apache 伺服器 … 219
13.2.1 安裝 ………………………… 219
13.2.2 啟動Apache 伺服器並且測試 … 220
13.2.3 目前運行的Apache 伺服器的相關信息 ………………… 221
13.2.4 配置用戶的個人Web 空間 … 228
13.2.5 配置基於域名虛擬主機 …… 229
13.3 Apache 伺服器的訪問控制、認證和授權 ………………… 230
13.3.1 Apache 伺服器的訪問控制 … 230
13.3.2 Apache 伺服器的認證和授權 … 231
13.4 為Apache 伺服器配置WebDAV ……………………… 236
13.4.1 WebDAV 簡介 ……………… 236
13.4.2 在Apache 2.x 系列伺服器中設定WebDAV ……………… 236
13.4.3 通過WebDAV 客戶端軟體訪問Apache 伺服器 ……… 238
13.5 Selinux 和防火牆設定 ……… 239
13.5.1 Selinux 設定 ………………… 239
13.5.2 防火牆設定 ………………… 239
13.6 多種開發環境語言在Linux下的整合 …………………… 240
13.6.1 在Apache 伺服器上運行CGI ………………………… 240
13.6.2 在Apache 伺服器上運行PHP ………………………… 241
13.6.3 在Apache 上運行Ruby …… 244
13.6.4 在Apache 上運行Python … 245
13.7 Apache 伺服器的進階配置 … 247
13.7.1 Apache 伺服器的實時監控 … 247
13.7.2 Apache 伺服器的日誌分析 … 248
13.7.3 使用awstats分析Apache日誌 …249
13.8 使用SSL 可以提高Apache 伺服器的安全性能 ………………… 251
13.9 Apache 伺服器的故障排除 … 253
13.9.1 檢查配置檔案的錯誤 ……… 253
13.9.2 使用錯誤日誌 ……………… 254
13.9.3 檢查Apache 伺服器模組問題 …256
13.9.4 解決Apache 伺服器故障 … 257
13.10 為Apache 伺服器配置常用模組 ………………………… 258
13.10.1 限速模組mod_ratelimit…… 258
13.10.2 mod_perl 模組 …………… 259
13.10.3 mod_wsgi 模組 …………… 261
13.10.4 mod_evasive 模組 ………… 262
第14 章 Linux 電子郵件伺服器Postfix安裝及配置 ………………… 264
14.1 Linux 電子郵件伺服器Postfix安裝及配置 ………………… 264
14.1.1 作業系統 …………………… 264
14.1.2 郵件傳輸代理(MTA) …… 264
14.1.3 郵件分發代理(MDA) …… 265
14.1.4 郵件用戶代理(MUA) …… 265
14.1.5 電子郵件伺服器協定及其相關命令 …………………… 265
14.2 電子郵件伺服器的工作原理 …269
14.2.1 電子郵件的傳送接收流程 … 269
14.2.2 電子郵件地址的組成 ……… 269
14.2.3 電子郵件系統和DNS 的聯繫 …270
14.3 安裝及配置Postfix ………………271
14.3.1 Postfix 的安裝 ……………… 271
14.3.2 Postfix 的配置檔案介紹 …… 271
14.3.3 Postfix 配置實例 …………… 276
14.3.4 Dovecot 的安裝與設定 …… 277
14.4 安全配置 ………………………278
14.4.1 安裝病毒過濾系統 ………… 278
14.4.2 日誌分析 …………………… 280
14.4.3 防火牆和SELinux 設定 …… 283
第15 章 安裝配置 Linux FTP 伺服器 … 284
15.1 FTP 的工作原理 …………… 284
15.1.1 FTP 簡介 …………………… 284
15.1.2 FTP 的工作原理 …………… 285
15.1.3 FTP 的典型訊息和子命令 … 286
15.1.4 Linux 伺服器的主要FTP 軟體 …288
15.2 配置vsftpd 伺服器 ………… 288
15.2.1 快速構建vsftpd 伺服器 …… 288
15.2.2 vsftpd 伺服器的檔案結構 … 288
15.2.3 vsftpd 的配置檔案 ………… 289
15.3 使用客戶端工具 …………… 296
15.3.1 命令行 ……………………… 296
15.3.2 圖形界面 …………………… 297
第16 章 構建Linux VPN 網路 ………… 301
16.1 VPN 概述 …………………… 301
16.1.1 VPN 定義 …………………… 301
16.1.2 VPN 功能 …………………… 302
16.1.3 Linux 下的主要VPN 技術 … 302
16.2 PPTP VPN 安裝及配置 …………305
16.2.1 PPTP 及Poptop 簡介 ……… 305
16.2.2 PPP 簡介 …………………… 306
16.2.3 在Linux 下安裝及配置 PPTP伺服器 ……………………… 307
16.3 OpenVPN 安裝及配置 ……… 311
16.3.1 OpenVPN 簡介……………… 311
16.3.2 OpenVPN 伺服器安裝及配置 …312
16.3.3 Windows 客戶端設定 ……… 315
16.3.4 智慧型手機客戶端配置 ……… 316
第17 章 新一代服務管理系統Systemd …318
17.1 Systemd 簡介 ………………… 318
17.1.1 Systemd 的簡介和特點 …… 318
17.1.2 Systemd 日誌服務簡介 …… 319
17.1.3 Systemd 中的Unit 概念 …… 320
17.2 Systemd 的使用 ……………… 323
17.2.1 Unit 檔案的編寫 …………… 323
17.2.2 創建自己的Systemd 服務 … 326
17.3 系統管理員需要掌握的命令 …326
17.3.1 sysvinit 和systemd 的命令對比 ………………………… 327
17.3.2 學習使用systemctl 命令 …… 328
17.3.3 套用實例 …………………… 329
17.3.4 其他設定 …………………… 337
17.4 舊版本遺留的服務工具 …… 339
17.4.1 chkconfig …………………… 340
17.4.2 ntsysv ……………………… 341
17.4.3 Xinetd ……………………… 342
17.4.4 TCP Wrappers ……………… 346