(特价书)鸟哥的Linux私房菜——服务器架设篇(第三版)(畅销书第三次改版升级;适用于各种主流Linux版本)
- 定价:¥108.00
- 校园优惠价:¥51.84 (48折) (马上了解)
- 评分:




(已有19条评价)
- 促销活动:
- 此商品暂时缺货(可留下联系方式,到货将第一时间通知您)
-
如果您急需团购,可点击“团购急调”按钮将此书加入购物车,由客服人员为您协调调货!
>> 查看详细说明
信息提示
关闭
如果您急需团购,可点击“团购急调”按钮将此书加入购物车,由我们的客服人员为您协调调货!
- 团购订单标准如下:
- 单品满30册可选择团购服务。
- 提交团购订单后,服务人员会主动和您联系,并根据您的会员等级、购买数量、金额、时间、配送要求等情况和您协商,以促成最终的成交。
- 有关团体购书的任何问题请随时联系:(010)63970506
基本信息
- 作者:
鸟哥
- 出版社:机械工业出版社
- ISBN:9787111384991
- 上架时间:2012-9-21
- 出版日期:2012 年6月
- 开本:16开
- 页码:804
- 版次:1-1
所属分类:
计算机 > 操作系统 > Linux
编辑推荐
鸟哥在本书中教您:
如何架设一个安全的网站
如何维护与管理您的服务器
如何有效地对您的服务器系统进行安全加固
如何在局域网与Internet中部署您的服务器
内容简介
书籍 计算机书籍
您已有Linux基础,想要进一步学习服务器架设?还想了解如何维护与管理您的服务器?《鸟哥的Linux私房菜——服务器架设篇(第三版)》是您最佳的选择。
目前有关Linux架站的书籍大多只教导读者如何架设服务器,很少针对服务器的维护与管理,以及发生问题时的应对策略加以说明,以至于一旦服务器遭受攻击,眼见的就是一场手忙脚乱。因此,作者先从系统基础以及网络基础讲起,再谈到网络攻击与防火墙防护主机后,才进入服务器的架设。本书共分为四篇:第一篇,服务器搭建前的进修专区,主要介绍架设服务器之前必须具备的基本知识,看完这一篇,不论您的Linux是以何种方式进行Internet连接,都将不成问题;第二篇,主机的简易安全防护措施,这一篇鸟哥将告诉您如何保护您的主机,以及如何养成良好的操作习惯,使您的主机能够百毒不侵,安然渡过一次次的考验;第三篇,局域网内常见服务器的搭建,介绍内部网络经常使用的远程连接服务(SSH、VNC、XRDP),网络参数设置服务(DHCP、NTP),网络磁盘服务(Samba、NFS、iSCSI),以及代理服务器等服务。其中SSH密钥系统,对于异地备份更是相当有帮助,您绝对不能错过;第四篇,常见因特网服务器的搭建,介绍DNS、WWW、FTP及Mail Server等常见的服务。
作译者
鸟哥 “台湾成功大学”环境工程系博士,在就读期间由于研究需要,接触到Linux操作系统,又因实验室交接传承的需要而搭建了“鸟哥的Linux私房菜”网站(俗称鸟站),因个人喜好碎碎念(琐碎重复)的特质,因此,鸟站文章风格就此成形。曾任台湾多家知名Linux教育中心讲师,目前于台湾昆山科技大学资讯传播系教授Linux相关课程。专长是Linux操作系统、网站规划与维护、网络安全,兴趣是写作与阅读,研究方向是网络整合应用。
目录
《鸟哥的Linux私房菜——服务器架设篇(第三版)》
作者序
第一篇 服务器搭建前的进修专区
第1章 搭建服务器前的准备工作 2
1.1 Linux 的功能 3
1.1.1 用 Linux 搭建服务器需要的能力 3
1.1.2 搭建服务器难不难呢 4
1.2 搭建服务器的基本流程 5
1.2.1 网络服务器成功连接的分析 5
1.2.2 一个常见的服务器设置案例分析 8
1.2.3 系统安全与备份处理 25
1.3 自我评估是否已经具备服务器搭建的能力 27
第2章 网络的基本概念 29
2.1 网络 30
2.1.1 什么是网络 30
2.1.2 计算机网络组成组件 32
2.1.3 计算机网络的范围 33
2.1.4 计算机网络协议:OSI 七层协议 34
2.1.5 计算机网络协议:TCP/IP 37
2.2 TCP/IP 的网络接口层的相关协议 39
2.2.1 广域网使用的设备 39
2.2.2 局域网使用的设备——以太网 40
2.2.3 以太网络的传输协议:CSMA/CD 42
2.2.4 MAC 的封装格式 44
2.2.5 MTU(最大传输单位) 46
2.2.6 集线器、交换器与相关机制 47
2.3 TCP/IP 的网络层相关数据包与数据 49
2.3.1 IP 数据包的封装 49
2.3.2 IP 地址的组成与分级 52
2.3.3 IP 的种类与取得方式 55
2.3.4 Netmask、子网与 CIDR(Classless Interdomain Routing) 57
2.3.5 路由概念 61
2.3.6 观察主机路由:Route 64
2.3.7 IP 与 MAC:网络接口层的 ARP 与 RARP 协议 65
2.3.8 ICMP 协议 66
2.4 TCP/IP 的传输层相关数据包与数据 67
2.4.1 面向连接的可靠的 TCP 协议 67
2.4.2 TCP 的三次握手 72
2.4.3 无连接的 UDP 协议 73
2.4.4 网络防火墙与 OSI 七层协议 74
2.5 连上 Internet 前的准备事项 75
2.5.1 IP地址、主机名与DNS系统 75
2.5.2 连上 Internet 的必要网络参数 76
2.6 重点回顾 77
2.7 参考数据与延伸阅读 78
第3章 局域网架构简介 79
3.1 局域网的连接 80
3.1.1 局域网的布线规划 80
3.1.2 网络设备选购建议 84
3.2 本书使用的内部连接网络参数与通信协议 88
3.2.1 网络联机参数与通信协议 88
3.2.2 Windows 个人计算机网络配置范例 90
第4章 连接 Internet 93
4.1 Linux 连接 Internet 前的注意事项 94
4.1.1 Linux 的网卡 94
4.1.2 编译网卡驱动程序(Option) 96
4.1.3 Linux 网络相关配置文件 98
4.2 连接 Internet 的设置方法 100
4.2.1 手动配置固定 IP 参数 100
4.2.2 自动取得 IP 参数(DHCP 方法,适用 Cable Modem、IP 路由器的环境) 105
4.2.3 ADSL 拨号上网(适用 ADSL 拨号以及光纤接入) 106
4.3 无线网络——以笔记本电脑为例 111
4.3.1 无线网络所需要的硬件:AP、无线网卡 111
4.3.2 关于 AP 的设置:网络安全方面 113
4.3.3 利用无线网卡开始连接 115
4.4 常见问题说明 118
4.4.1 内部网络使用某些服务(如 FTP、POP3)所遇到的连接延迟问题 118
4.4.2 域名无法解析的问题 120
4.4.3 默认网关的问题 120
4.5 重点回顾 121
4.6 参考数据与延伸阅读 121
第5章 Linux 中常用的网络命令 122
5.1 设置网络参数的命令 123
5.1.1 手动/自动配置IP 参数与启动/关闭网络接口:ifconfig、ifup、ifdown 123
5.1.2 修改路由:route 126
5.1.3 网络参数综合命令:ip 128
5.1.4 无线网络:iwlist, iwconfig 134
5.1.5 DHCP客户端命令:dhclient 134
5.2 网络排错与查看命令 134
5.2.1 两台主机的两点沟通:ping 134
5.2.2 两主机间各节点分析:traceroute 137
5.2.3 查看本机的网络连接与后门:netstat 138
5.2.4 检测主机名与 IP 的对应:host、nslookup 141
5.3 远程连接命令与即时通信软件 143
5.3.1 终端机与 BBS 连接:telnet 143
5.3.2 FTP 连接软件:ftp、lftp 144
5.3.3 图形接口的即时通信软件:Pidgin(gaim 的延伸) 147
5.4 文字接口网页浏览 150
5.4.1 文字浏览器:links 150
5.4.2 文字接口下载器:wget 152
5.5 数据包捕获功能 153
5.5.1 文字接口数据包捕获器:tcpdump 153
5.5.2 图形接口数据包捕获器:wireshark 157
5.5.3 任意启动 TCP/UDP 数据包的端口连接:nc、netcat 159
5.6 重点回顾 160
5.7 参考数据与延伸阅读 161
第6章 Linux 网络排错 162
6.1 无法连接网络的原因分析 163
6.1.1 硬件问题:网线、网络设备、网络布线等 163
6.1.2 软件问题:IP 参数设置、路由设置、服务器与防火墙设置等 165
6.1.3 问题的处理 165
6.2 处理流程 166
6.2.1 步骤1:网卡工作确认 166
6.2.2 步骤2:局域网内各项连接设备检测 167
6.2.3 步骤3:取得正确的 IP 参数 168
6.2.4 步骤4:确认路由表的规则 169
6.2.5 步骤5:主机名与 IP 查询的 DNS 错误 170
6.2.6 步骤6:Linux 的 NAT 服务器或 IP 路由器出问题 171
6.2.7 步骤7:Internet 的问题 171
6.2.8 步骤8:服务器的问题 171
6.3 参考数据与延伸阅读 172
第二篇 主机的简易安全防护措施
第7章 网络安全与主机基本防护:限制端口、网络升级与SELinux 174
7.1 网络数据包连接进入主机的流程 175
7.1.1 数据包进入主机的流程 175
7.1.2 常见的攻击手法与相关保护 177
7.1.3 主机能执行的保护操作:软件更新、减少网络服务、 启动 SELinux 182
7.2 网络自动升级软件 184
7.2.1 如何进行软件升级 184
7.2.2 CentOS 的 yum 软件更新、镜像站点使用的原理 186
7.2.3 yum 的功能:安装软件组、全系统更新 187
7.2.4 挑选特定的镜像站点:修改 yum 配置文件与清除 yum 缓存 193
7.3 限制连接端口(Port) 196
7.3.1 什么是Port 197
7.3.2 端口的查看:netstat、nmap 198
7.3.3 端口与服务的启动/关闭及开机时状态设定 201
7.3.4 安全性考虑——关闭网络服务端口 205
7.4 SELinux 管理原则 206
7.4.1 SELinux 的工作模式 206
7.4.2 SELinux 的启动、关闭与查看 210
7.4.3 SELinux Type 的修改 212
7.4.4 SELinux 策略内的规则布尔值修订 214
7.4.5 SELinux 日志文件记录所需的服务 217
7.5 被攻击后的主机修复工作 221
7.5.1 网管人员应具备的技能 221
7.5.2 主机受攻击后恢复的工作流程 223
7.6 重点回顾 225
7.7 参考数据与延伸阅读 225
第8章 路由的概念与路由器设置 226
8.1 路由 227
8.1.1 路由表产生的类型 227
8.1.2 一个网卡绑多个 IP:IP Alias 的测试用途 229
8.1.3 重复路由的问题 230
8.2 路由器配置 231
8.2.1 什么是路由器与 IP 路由器 231
8.2.2 何时需要路由器 233
8.2.3 静态路由的路由器 234
8.3 动态路由器架设 239
8.4 特殊状况——路由器两边界面是同一个IP网段:ARP Proxy 245
8.5 重点回顾 249
8.6 参考数据与延伸阅读 250
第9章 防火墙与 NAT 服务器 251
9.1 认识防火墙 252
9.1.1 关于本章的一些提醒事项 252
9.1.2 为何需要防火墙 253
9.1.3 Linux 系统上防火墙的主要类别 253
9.1.4 防火墙的一般网络布线示意 255
9.1.5 防火墙的使用限制 258
9.2 TCP Wrappers 259
9.2.1 哪些服务有支持 259
9.2.2 /etc/hosts.{allowdeny} 的设置方式 261
9.3 Linux 的数据包过滤软件:iptables 262
9.3.1 不同 Linux 内核版本的防火墙软件 262
9.3.2 数据包进入流程:规则顺序的重要性 263
9.3.3 iptables 的表格(table)与链(chain) 264
9.3.4 本机的 iptables 语法 267
9.3.5 IPv4 的内核管理功能:/proc/sys/net/ipv4/* 278
9.4 设置单机防火墙的一个实例 281
9.4.1 规则草拟 281
9.4.2 实际设置 282
9.5 NAT 服务器的设置 286
9.5.1 什么是 NAT? SNAT? DNAT? 287
9.5.2 最简单的 NAT 服务器:IP 分享功能 290
9.5.3 iptables 的额外内核模块功能 292
9.5.4 在防火墙后端的网络服务器上做DNAT 设置 292
9.6 重点回顾 293
9.7 参考数据与延伸阅读 294
第10章 申请合法的主机名 295
10.1 为何需要主机名 296
10.1.1 主机名的由来 296
10.1.2 重点在合法授权 297
10.1.3 申请静态还是动态 DNS 主机名 298
10.2 注册一个合法的主机名 299
10.2.1 静态 DNS 主机名注册(以 Hinet 为例) 299
10.2.2 动态 DNS 主机名注册(以 no-ip 为例) 301
10.3 重点回顾 306
10.4 参考数据与延伸阅读 307
第三篇 局域网内常见服务器的搭建
第11章 远程连接服务器 SSH / XDMCP / VNC /XRDP 310
11.1 远程连接服务器 311
11.1.1 什么是远程连接服务器 311
11.1.2 有哪些可供登录的类型 312
11.2 文字接口连接服务器: SSH 服务器 313
11.2.1 连接加密技术简介 314
11.2.2 启动 SSH 服务 317
11.2.3 SSH 客户端连接程序——Linux 用户 317
11.2.4 SSH 客户端连接程序——Windows 用户 324
11.2.5 SSHD 服务器详细配置 328
11.2.6 制作不用密码可立即登录的SSH用户 332
11.2.7 简易安全设置 335
11.3 最原始图形接口:XDMCP服务的启用 337
11.3.1 X Window 的 Server/Client 架构与各组件 338
11.3.2 设定 GDM 的 XDMCP 服务 341
11.3.3 用户系统为 Linux 的登录方式 343
11.3.4 用户系统为 Windows 的登录方式: Xming 345
11.4 华丽的图形接口:VNC 服务器 348
11.4.1 默认的 VNC 服务器 348
11.4.2 VNC 的客户端连接软件 350
11.4.3 VNC 搭配本机的 XDMCP 画面 352
11.4.4 开机就启动 VNC Server 的方法 354
11.4.5 同步的 VNC :可以通过图示同步教学 354
11.5 仿真的远程桌面系统:XRDP 服务器 355
11.6 SSH 服务器的高级应用 357
11.6.1 在非标准端口启动 SSH(非 Port 22) 357
11.6.2 以 rsync 进行同步镜像备份 359
11.6.3 通过SSH通道加密原本无加密的服务 362
11.6.4 以SSH通道配合 X Server 传递图形界面 363
11.7 重点回顾 367
11.8 参考数据与延伸阅读 368
第12章 网络参数管理者:DHCP服务器 369
12.1 DHCP 的工作原理 370
12.1.1 DHCP 服务器的用途 370
12.1.2 DHCP 协议的工作方式 371
12.1.3 何时需要架设 DHCP 服务器 375
12.2 DHCP 服务器端的配置 376
12.2.1 所需软件与文件结构 376
12.2.2 主要配置文件 /etc/dhcp/dhcpd.conf 的语法 377
12.2.3 一个局域网的 DHCP 服务器设置案例 379
12.2.4 DHCP 服务器的启动与观察 380
12.2.5 内部主机的 IP 对应 382
12.3 DHCP 客户端的设置 382
12.3.1 客户端是 Linux 382
12.3.2 客户端是 Windows 384
12.4 DHCP 服务器端的高级查看与使用 387
12.4.1 检查租约文件 387
12.4.2 让大量 PC 都具有固定 IP 的脚本 387
12.4.3 使用 ether-wake 实现远程自动开机(remote boot) 388
12.4.4 DHCP 与 DNS 的关系 389
12.5 重点回顾 390
12.6 参考数据与延伸阅读 391
第13章 文件服务器之一:NFS 服务器 392
13.1 NFS的由来与功能 393
13.1.1 什么是 NFS(Network File System) 393
13.1.2 什么是 RPC(Remote Procedure Call) 394
13.1.3 NFS 启动的 RPC daemons 395
13.1.4 NFS 的文件访问权限 396
13.2 NFS Server 端的配置 397
13.2.1 所需要的软件 398
13.2.2 NFS 的软件结构 398
13.2.3 /etc/exports 配置文件的语法与参数 399
13.2.4 启动 NFS 404
13.2.5 NFS 的连接查看 406
13.2.6 NFS 的安全性 408
13.3 NFS 客户端的设置 410
13.3.1 手动挂载 NFS 服务器共享的资源 410
13.3.2 客户端可处理的挂载参数与开机挂载 411
13.3.3 无法挂载的原因分析 414
13.3.4 自动挂载 autofs 的使用 415
13.4 案例演练 418
13.5 重点回顾 420
13.6 参考数据与延伸阅读 420
第14章 账号管理:NIS 服务器 421
14.1 NIS 的由来与功能 422
14.1.1 NIS 的主要功能:管理账号信息 422
14.1.2 NIS 的工作流程:通过 RPC 服务 423
14.2 NIS Server 端的设置 425
14.2.1 所需要的软件 425
14.2.2 NIS 服务器相关的配置文件 425
14.2.3 一个实际操作案例 426
14.2.4 NIS Server 的设置与启动 426
14.2.5 防火墙设置 431
14.3 NIS Client 端的设置 431
14.3.1 NIS Client 所需的软件与软件结构 432
14.3.2 NIS Client 的设置与启动 432
14.3.3 NIS Client 端的验证:yptest、ypwhich、ypcat 435
14.3.4 用户参数修改:yppasswd、ypchfn、ypchsh 437
14.4 NIS 搭配 NFS 的设置在群集计算机上的应用 438
14.5 重点回顾 441
14.6 参考数据与延伸阅读 442
第15章 时间服务器:NTP 服务器 443
15.1 关于时区与网络校时的通信协议 444
15.1.1 什么是时区?全球有多少时区?GMT 在哪个时区? 444
15.1.2 什么是夏令时(Daylight Saving Time) 446
15.1.3 Coordinated Universal Time(UTC)与系统时间的误差 447
15.1.4 NTP 通信协议 447
15.1.5 NTP 服务器的层次概念 448
15.2 NTP 服务器的安装与设置 449
15.2.1 所需软件与软件结构 449
15.2.2 主要配置文件 ntp.conf 的处理 451
15.2.3 NTP 的启动与观察 453
15.2.4 安全性设置 455
15.3 客户端的时间更新方式 455
15.3.1 Linux 手动校时工作:date、hwclock 455
15.3.2 Linux 的网络校时 456
15.3.3 Windows 的网络校时 457
15.4 重点回顾 459
15.5 参考数据与延伸阅读 459
第16章 文件服务器之二:SAMBA 服务器 460
16.1 什么是 SAMBA 461
16.1.1 SAMBA 的发展历史与名称的由来 461
16.1.2 SAMBA 常见的应用 462
16.1.3 SAMBA 使用的 NetBIOS 通信协议 463
16.1.4 SAMBA 使用的 daemons 464
16.1.5 连接模式的介绍(Peer/Peer、Domain model) 465
16.2 SAMBA 服务器的基础设置 467
16.2.1 SAMBA所需软件及其软件结构 467
16.2.2 基础的网上邻居共享流程与 smb.conf 的常用设置项目 469
16.2.3 不需密码的共享(security = share,纯测试) 474
16.2.4 需账号密码才可登录的共享(security = user) 479
16.2.5 设置成为打印机服务器(CUPS 系统) 486
16.2.6 安全性的议题与管理 496
16.2.7 主机安装时的规划与中文扇区挂载 499
16.3 SAMBA客户端软件功能 500
16.3.1 Windows 系统的使用 501
16.3.2 Linux 系统的使用 505
16.4 以 PDC 服务器提供账号管理 509
16.4.1 让 SAMBA 管理网络用户的一个实际案例 509
16.4.2 PDC 服务器的搭建 511
16.4.3 Wimdows XP pro. 的客户端 515
16.4.4 Windows 7 的客户端 519
16.4.5 PDC 问题的克服 520
16.5 服务器简单维护与管理 521
16.5.1 服务器相关问题克服 521
16.5.2 让用户修改SAMBA密码同时同步更新 /etc/shadow 密码 522
16.5.3 利用 ACL 配合单一用户时的管理 523
16.6 重点回顾 524
16.7 参考数据与延伸阅读 524
第17章 局域网控制者:Proxy 服务器 526
17.1 什么是代理服务器 527
17.1.1 什么是代理服务器 527
17.1.2 代理服务器的工作流程 528
17.1.3 上层代理服务器 529
17.1.4 代理服务器与 NAT 服务器的差异 531
17.1.5 搭建代理服务器的用途与优缺点 531
17.2 Proxy 服务器的配置基础 533
17.2.1 Proxy 所需的 squid 软件及其软件结构 533
17.2.2 CentOS 默认的 squid 设置 534
17.2.3 管理信任来源(如局域网)与目标(如恶意网站):acl 与 http_access 的使用 539
17.2.4 其他额外的功能项目 542
17.2.5 安全性设置:防火墙、SELinux 与黑名单文件 544
17.3 客户端的使用与测试 545
17.3.1 浏览器的设置:Firefox & IE 545
17.3.2 测试Proxy 失败的画面 548
17.4 服务器的其他应用设定 549
17.4.1 上层 Proxy 与获取数据分流的设定 549
17.4.2 Proxy 服务放在 NAT 服务器上:透明代理(Transparent Proxy) 551
17.4.3 Proxy 的认证设置 553
17.4.4 末端日志分析:SARG 555
17.5 重点回顾 557
17.6 参考数据与延伸阅读 558
第18章 网络驱动器设备:iSCSI 服务器 559
18.1 网络文件系统还是网络驱动器 560
18.1.1 NAS 与 SAN 560
18.1.2 iSCSI接口 561
18.1.3 各组件相关性 562
18.2 iSCSI target 的设置 564
18.2.1 所需软件与软件结构 564
18.2.2 iSCSI target 的实际设置 565
18.3 iSCSI initiator 的设置 570
18.3.1 所需软件与软件结构 570
18.3.2 iSCSI initiator 的实际设置 570
18.3.3 一个测试范例 574
18.4 重点回顾 576
18.5 参考数据与延伸阅读 577
第四篇 常见因特网服务器的搭建
第19章 主机名控制者:DNS 服务器 580
19.1 什么是 DNS 581
19.1.1 用网络主机名取得 IP 的历史渊源 581
19.1.2 DNS 的主机名对应 IP 的查询流程 584
19.1.3 合法 DNS 的关键:申请区域查询授权 590
19.1.4 主机名交由 ISP 代管还是自己设置 DNS 服务器 591
19.1.5 DNS 数据库的记录:正解、反解、Zone 的意义 592
19.1.6 DNS 数据库的类型:hint、Master/Slave 架构 594
19.2 Client 端的设置 596
19.2.1 相关配置文件 596
19.2.2 DNS 的正、反解查询命令:host、nslookup、dig 597
19.2.3 查询域管理者相关信息:whois 602
19.3 DNS 服务器的软件、种类与Caching only DNS服务器设置 604
19.3.1 搭建 DNS 所需要的软件 604
19.3.2 BIND 的默认路径设置与 chroot 604
19.3.3 单纯的 cache-only DNS 服务器与 forwarding 功能 605
19.4 DNS 服务器的详细设置 611
19.4.1 正解文件记录的数据(Resource Record,RR) 612
19.4.2 反解文件记录的 RR 数据 616
19.4.3 步骤一:DNS 的环境规划 617
19.4.4 步骤二:主配置文件 /etc/named.conf 的设置 618
19.4.5 步骤三:最上层 . (root) 数据库文件的设置 620
19.4.6 步骤四:正解数据库文件的设置 620
19.4.7 步骤五:反解数据库文件的设置 622
19.4.8 步骤六:DNS 的启动、查看与防火墙 623
19.4.9 步骤七:测试与数据库更新 624
19.5 协同工作的 DNS:Slave DNS 及子域授权设定 626
19.5.1 master DNS 权限的开放 626
19.5.2 Slave DNS 的设置与数据库权限问题 628
19.5.3 配置子域 DNS 服务器:子域授权课题 630
19.5.4 依不同接口给予不同的 DNS 主机名:view 功能的应用 632
19.6 DNS 服务器的高级设定 635
19.6.1 架设一个合法授权的 DNS 服务器 635
19.6.2 LAME Server 的问题 637
19.6.3 利用 RNDC 命令管理 DNS 服务器 638
19.6.4 搭建动态 DNS 服务器:让你成为 ISP 642
19.7 重点回顾 645
19.8 参考数据与延伸阅读 646
第20章 WWW 服务器 647
20.1 WWW的简史、资源以及服务器软件 648
20.1.1 WWW 的简史、HTML 与标准制订(W3C) 648
20.1.2 WWW 服务器与浏览器所提供的资源定位(URL) 651
20.1.3 WWW 服务器的类型:系统、平台、数据库与程序(LAMP) 653
20.1.4 https:加密的网页数据(SSL)及第三方证书机构 655
20.1.5 客户端常见的浏览器 656
20.2 WWW(LAMP)服务器基本配置 657
20.2.1 LAMP 所需软件与其结构 657
20.2.2 Apache 的基本设定 660
20.2.3 PHP 的默认参数修改 668
20.2.4 启动 WWW 服务与测试 PHP 模块 670
20.2.5 MySQL 的基本设定 672
20.2.6 防火墙设置与 SELinux规则的放行 676
20.2.7 开始网页设计及安装架站软件,如 phpBB3 677
20.3 Apache 服务器的高级设定 678
20.3.1 启动用户的个人网站(权限是重点) 678
20.3.2 启动某个目录的 CGI(perl)程序执行权限 680
20.3.3 找不到网页时的显示信息通知 681
20.3.4 浏览权限的设定操作(Order、Limit) 683
20.3.5 服务器状态说明网页 686
20.3.6 .htaccess 与认证网页设定 687
20.3.7 虚拟主机的设定(重要!) 691
20.4 日志文件分析以及 PHP 强化模块 694
20.4.1 PHP 强化模块(eaccelerator)与 Apache 简易性能测试 694
20.4.2 syslog 与 logrotate 697
20.4.3 日志文件分析软件:webalizer 698
20.4.4 日志文件分析软件:awstats 700
20.5 建立连接加密网站(https)及防整站下载脚本 702
20.5.1 SSL 所需软件与证书文件及默认的 https 702
20.5.2 拥有自制证书的https 704
20.5.3 将加密首页与非加密首页分离 706
20.5.4 防整站下载软件 707
20.6 重点回顾 708
20.7 参考数据与延伸阅读 709
第21章 文件服务器之三:FTP 服务器 710
21.1 FTP 的数据传输原理 711
21.1.1 FTP 功能简介 711
21.1.2 FTP 的工作流程与使用到的端口 712
21.1.3 客户端选择被动式连接模式 714
21.1.4 FTP 的安全性问题与替代方案 716
21.1.5 开放什么身份的用户登录 716
21.2 vsftpd 服务器基础设置 718
21.2.1 为何使用 vsftpd 718
21.2.2 所需要的软件以及软件结构 719
21.2.3 vsftpd.conf 配置值说明 721
21.2.4 vsftpd 启动的模式 726
21.2.5 CentOS 的 vsftpd 默认值 727
21.2.6 针对实体账号的设定 729
21.2.7 仅有匿名登录的相关设置 734
21.2.8 防火墙设置 738
21.2.9 常见问题与解决之道 739
21.3 客户端的图形接口 FTP 连接软件 740
21.3.1 Filezilla 740
21.3.2 通过浏览器取得 FTP 连接 744
21.4 让 vsftpd 增加 SSL 的加密功能 744
21.5 重点回顾 747
21.6 参考数据与延伸阅读 748
第22章 邮件服务器:Postfix 749
22.1 邮件服务器的功能与工作原理 750
22.1.1 电子邮件的功能与问题 750
22.1.2 Mail server 与 DNS 之间的关系 751
22.1.3 邮件传输所需要的组件(MTA、MUA、MDA)以及相关协议 754
22.1.4 用户收信时服务器端所提供的相关协议: MRA 757
22.1.5 Relay 与认证机制的重要性 759
22.1.6 电子邮件的数据内容 760
22.2 MTA 服务器:Postfix基础设定 761
22.2.1 Postfix 的开发 761
22.2.2 所需要的软件与软件结构 762
22.2.3 一个邮件服务器的设定案例 764
22.2.4 让 Postfix 可监听 Internet 来收发邮件 764
22.2.5 邮件发送流程与收信、Relay 等重要概念 767
22.2.6 设定邮件主机权限与过滤机制:/etc/postfix/access 770
22.2.7 设定邮件别名: /etc/aliases、~/.forward 770
22.2.8 查看邮件队列信息:postqueue、mailq 773
22.2.9 防火墙设置 775
22.3 MRA 服务器:dovecot 设定 775
22.3.1 基础的 POP3/IMAP 设定 775
22.3.2 加密的 POP3s/IMAPs 设定 776
22.3.3 防火墙设置 777
22.4 MUA 软件:客户端的收发邮件软件 777
22.4.1 Linux mail 778
22.4.2 Linux mutt 781
22.4.3 好用的跨平台(Windows/Linux X)软件:Thunderbird 784
22.5 邮件服务器的高级设定 788
22.5.1 邮件过滤一:用 postgrey 进行非正规Mail server 的垃圾邮件过滤 788
22.5.2 邮件过滤二:关于黑名单的过滤机制 792
22.5.3 邮件过滤三:基础的邮件过滤机制 793
22.5.4 非信任来源的 Relay:开放 SMTP 身份认证 795
22.5.5 非固定 IP 邮件服务器的福音:relayhost 799
22.5.6 其他设置小技巧 800
22.6 重点回顾 803
22.7 参考数据与延伸阅读 804
序言
关于本书
服务器的架设并不容易,除了需要了解每个服务器的工作原理与目的之外,还需要熟悉网络以及系统管理的基础操作等。虽然目前有很多的书籍以及参考范例在教大家如何架设一个可用的服务器,但这些范例却没有就服务器的维护与管理,还有发生问题时应该如何处理的流程做详细解释。因此,架设服务器是很容易的,不过,被攻击也是很常见的事,所以,这本书就从操作系统基础以及网络基础讲起,再谈到网络攻击以及防火墙防护主机后,最后才切入搭建服务器的相关内容。
这本书是以CentOS 6为范例来介绍的,这个版本的Linux有很多与以前不一样的服务配置,常常会让人找不到以往熟悉的配置文件位置。笔者使用SELinux默认启动的模式来进行服务器的配置,加入SELinux后,整个服务器的配置就显得有些难度了。此外,以前没有使用过的NetworkManager服务也来凑热闹,所以总是会让人搞到脑子混乱,笔者光是重复测试之前的版本与此版本的区别,就花去不少时间呢!希望这样的测试结果,能够帮大家简化自行探索的过程,早点搭建好您自己的服务器。
这次第三版的改版幅度不算太大,主要是将前面几章网络安全的部分内容进行整合,加入了在第二版被删掉的代理服务器章节,删减了邮件服务器的高级内容(说实在的,邮件服务器的架设真的可以不用学太多),并加入了相当重要的iSCSI这种磁盘提供者的仿真器,同时在VSFTPD中加入了SSL的加密支持,并且将服务器的应用范围进行了区分(如内部网络或因特网),以方便用户了解所需服务常用于哪些应用上。这些分类都是笔者近期在学校进行专题分析研究时经过观察后所做的改动,希望能够对读者有些帮助。
谁适合这本书
这本书既然是深入讨论服务器搭建的规划、流程、技巧与维护等工作,那么比较基础的Linux操作与相关的Shell语法,在这本书里就不可能谈论得很多,毕竟,《鸟哥的Linux私房菜——基础学习篇》已经完成了,没有必要在这本书里重复提及,所以,当您尝试阅读这本书的时候,请注意,您最好已经具备了Linux操作系统的相关知识,以及BASHShell的相关技巧。还有,必须了解一些Unix-Like的工作流程,例如日志文件的产生与存储的位置、服务的启动与关闭方式、计划任务的使用方法以及其他相关的事项。也就是说,如果您从未接触过Linux,那么建议您由《鸟哥的Linux私房菜——基础学习篇》开始Linux的探索历程,否则,这本书对您而言,可能会比较难以理解。
另外,很多时候本书会提到一些简单的概念而不是僵化的流程,尤其是每个人对于站点的要求都不相同,也就是说,每个人的站点其实都是带有个人风格的,因此僵化的流程并没有太大的意义,只要能够依据这些简单的概念来进行站点的架设就可以了。鸟哥认为,您的主机设置应该不会有太大的问题。怕的是什么呢?没有碰过Linux,去0想直接参考服务器搭建的程序来完成站点架设的朋友,这些朋友最容易忽略后续的维护与管理工作,这也容易造成站点不稳定或者是造成被网络黑客(Cracker)入侵的主要原因。
这本书的主要目的是引导用户进入Linux强大的网络功能世界,书内的范例都是鸟哥自己实际测试过没有问题才写出来的。不过,毕竟每个人的网络环境与操作习惯不同,因此,鸟哥不敢说书内的范例一定可以在您的系统上操作成功,然而,书内会提到一些基本概念,只要理解这些基本概念,并且对于Linux的操作熟悉,相信您一定可以利用书中的范例来开发出适合您自己的服务器设置。不过,对于没有碰过Linux的朋友,还是建议从头学起,至于为什么一定要从头学起,本书在第?章内会仔细进行说明喔。
章节安排
本书在章节的规划上面,主要分为四篇,第一篇——服务器搭建前的进修专区,第二篇——主机的简易安全防护措施,第三篇——局域网内常见服务器的搭建,第四篇——常见因特网服务器的搭建,前两篇的所有内容都是很基础的网络概念与实际网络配置,包括很重要的网络自我检测以及防火墙设置等,与您的服务器能不能工作关系很大,所以,您在开始服务器的架设之前,请务必将前面两篇共10章先阅读一遍。
在第一篇——服务器搭建前的进修专区当中,我们会介绍简单的网络基础,包含硬件的选择与布线、在Linux中连上Internet的方法,以及在Linux发生无法连接Internet的问题时简易的查验方法。看完这一篇之后,您的Linux不论以何种方式来进行Internet的连接,都应该不成问题了,而且,乌哥希望看完这一篇之后,您可以了解Linux的网络问题,并自行解决。
在第二篇——主机的简易安全防护措施当中,我们会介绍在Linux的强大网络功能下可能会发生的网络入侵问题。了解了这些问题之后,当然就需要来解决它哆!所以,我们会针对TCP/IP、Port、软件漏洞的修补与防火墙等来进行说明。那么该如何做好Linux主机的防护呢?“没有永远安全的主机”是正确的言论,所以,即使您的主机只是一个小小的站点,也千万不能忽略这个防火墙的作用。
在第三篇——局域网内常见服务器的搭建当中,我们会介绍内部网络经常使用的远程连接服务(SSH、VNC、XRDP)、网络参数配置服务(DHCP,NTP)、网络驱动器服务(Samba、NFS、iSCSl)以及代理服务器等服务。这些章节虽然跳着看是没有问题的,但鸟哥建议第11章的连接服务器要花些时间瞧瞧,尤其是SSH的密钥系统对于异地备份是有很大帮助的!
在第四篇——常见因特网服务器的搭建当中,我们会介绍DNS、WWW、FTP及Mail Server等常见的服务。因特网上面需要使用好记的主机名来连接,因此,DNS服务器相当重要!在这一版的DNS中加入了View的简单概念,适用于局域网内的主机联网,可以参考看看。
本书的章节仍然是由浅入深来进行编排的,因此,还是希望读者可以由前往后慢慢阅读,不要着急翻到后面去抄看一些架设流程。
书摘
第一篇
服务器搭建前的进修专区
搭建服务器需要很强的Linux基础概念以及基础网络知识,否则的话,当网络断断续续的时候,您永远也不会知道是哪里出了问题!而当某个服务器软件出问题的时候,您永远也不晓得是发生了什么事情!老人常说“对症下药才有效”,随便吃药是不可能“无病强身”的!因此,对于网络服务器来说最重要的基础文件权限、程序的启动关闭与管理、Bash shell的操作与script、用户账号的管理等,您都必须要具备最基础的认知才行,否则,服务器真的不好碰。
在这一篇当中,鸟哥会介绍一下搭建服务器之前你必须要具备的基本概念,以及重要的网络基础,当然,一大堆的网络命令是需要熟悉的。这些网络命令不是要你背下来,而是希望在你需要的时候可以很快速地查阅到,并了解如何使用。无论如何,请您务必在搭建服务器前要读过“Linux 基础篇”及“网络基础篇”的文章,否则很难与他人沟通讨论!这部分内容鸟哥放在最前面,希望大家务必学习!
第1章 搭建服务器前的准备工作
很多朋友因为自身或所服务单位的需求,总会遇到搭建各种网络服务器的问题,这个时候大多数的前辈都会推荐他们使用Linux作为搭建服务器的操作系统。但因为这些朋友很多都没有受过 Linux 操作系统使用方面的训练,因此总觉得反正都是操作系统,所以Linux应该也跟Windows差不多,那么就硬着头皮使用图形界面去配置众多的服务器,也有可能参考网络上的一些文章,通过文字界面进行配置,也能够很轻松地做好服务器的搭建。问题是,这样的一台服务器其实是很容易被绑架的。而且,如果网络不通,你如何自行将问题克服(trouble shooting)?难道出问题只能无语问苍天?所以,除非你只是暂时需要搭建网络服务器,可以请朋友或其他信息公司帮忙,如果你本身就是信息方面的服务提供商,那鸟哥建议你在进行服务器正式部署之前,看一看这篇,试试看,你到底是否具备了配置网络服务器的基本技能。
……