第一章、架设服务器前的准备工作 基本架设服务器流程
1.2 基本架设服务器流程
图 1.2-1、网络联机至服务器所需经过的各项环节
上图显示的是:首先,客户端到服务器的网络要能够通,等到客户端到达服务器后,会先由服务器的防火墙判断该联机能否放行, 等到放行之后才能使用到服务器软件的功能。而该功能又得要通过 SELinux 这个细部权限设定的项目后,才能够读取到文件系统。 但能不能读到文件系统又跟文件系统的权限 (rwx) 有关!上述的每个部分都要能够成功,否则就无法顺利读取数据。
所以,根据上面的流程我们大概可以将整个联机分为几个部分,包括:网络、服务器本身、内部防火墙软件设定、各项服务配置文件、细部权限的 SELinux 以及最终最重要的档案权限。
- 网络:了解网络基础知识与所需服务之通讯协议
- 基本的网络基础知识:包括以太网络硬件与协议、TCP/IP、网络联机所需参数等;
- 各网络服务所对应的通讯协议原理,以及各通讯协议所需对应的软件。
- 服务器本身:了解架网络服务器之目的以配合主机的安装规划
- 服务器本身:了解操作系统的基本操作
网络服务软件是需要建置在操作系统上面的,所以基本的操作系统操作就得要了解才行!包括软件如何安装与移除, 如何让系统进行例行的工作管理?如何依据服务器服务之目的规划文件系统?如何让文件系统具有未来扩充性 (LVM 之类)? 系统如何管理各项服务之启动?系统的开机流程为何?系统出错时,该如何进行快速复原等等! - 内部防火墙设定:管理系统的可分享资源
不管你的防火墙系统设定的再怎么严格,只要是你要开放的服务, 那防火墙对于该服务就没有保护的效果。 - 服务器软件设定:学习设定技巧与开机是否自动执行
- 软件如何安装、如何查询相关配置文件所在位置;
- 服务器软件如何设定?
- 服务器软件如何启动?如何设定自动开机启动?如何观察启动的埠口?
- 服务器软件激活失败如何除错?如何观察登录档?如何透过登录档进行除错?
- 透过客户端进行联机测试,如果失败该如何处理?联机失败的原因是服务器还是防火墙?
- 服务器的设定修改是否有建立日志?登录档是否有定期分析?
- 服务器所提供或分享的数据有无定期备份?如何定期自动备份或异地备份?
- 细部权限设定:包括 SELinux 与档案权限
- 网络环境:假设你的环境里面 (不管是家里还是宿舍) 共有五部计算机,这五部计算机需要串接在一起,且都可以对外联机;
- 对外网络:你的环境只有一个对外的联机方式,这里假设是台湾较流行的 ADSL 或 10M 的光纤这种透过电话线拨接的类型;
- 额外服务:你想要让这五部计算机都可以上网,而且其中还有一部可以做为网络驱动器机,提供同学或家人作为数据备份与分享之用;
- 服务器管理:由于你可能需要进行远程管理,因此你这部服务器得要开放联机机制,以让远程计算机可以联机到这部主机来进行维护;
- 防火墙管理:因为担心这部做为档案分享服务器的系统被攻击,因此你需要针对 IP 来源进行登入权力的控制;
- 账号管理:另外,由于同学的数据有隐密与共享之分,因此你还得要提供每个同学个别的账号, 且每个账号都有磁盘容量的使用限制;
- 后端分析:最后,由于担心系统出问题所以你得要让系统自动定期分析磁盘使用量、登录文件参数信息等等。
- 硬件规划
我们想要将五部计算机串接在一块,但是却又只有一个可以对外的联机,此时就得要购买集线器 (hub) 或者是交换器 (switch) 来串接所有的计算机了。网络线被称为 RJ-45 的网络线, 但网络线材竟然有等级之分。
- 联机规划
由于只有一条对外联机而已,因此通常我们就建议你可以用如下的方式来串接你的网络:
图 1.2-2、硬件的网络联机示意图
透过 IP 分享器,我们的五部计算机就都能够上网了。此时你得要注意,能否上网与 Internet 有关,Internet 就是那有名的 TCP/IP 通讯协议,而想要了解网络就得要知道啥是 OSI 七层协定。我们也知道能连上 Internet 与所谓的 IP 有关,那么我们内部这五部计算机所取得的 IP 能不能拿来架站?也就是说, IP 有没有不同种类? 如果 IP 分享器突然挂了,那你的这五部计算机能不能联机玩魔兽?这就考虑你的网络参数设定问题了!
- 网络基础
如果你的主机明明可以使用 ping 这个指令去接触远方的主机 (ping IP),但是就是无法使用 ping hostname 去接触远方的主机,请问,这个原因是什么? DNS 出问题了!
Server 端是在那五部计算机之中,而且 Server 必须要提供针对不同账号给予网络驱动器机,我们这边会提供网芳 (SAMBA) 这个服务,因为他可以在 Linux/Windows 之间通用之故。 且由于需要提供账号给使用者,以及想到未来的磁盘扩充情况,因此我们想要将 /home 独立出来,且使用 LVM 这个管理模式, 并搭配 Quota 机制来控制每个账号的磁盘使用量。
所以说,你得知道 Linux 目录下的 FHS (Filesystem Hierarchy Standard) 的规范,否则分割槽给到错误的目录,会造成无法开机!那为什么要将 /home 独立放入一个分割槽? 那是因为 quota 仅支持 filesystem 而不支持单一目录!
实作题-全新安装:
请到昆山科大 (http://ftp.ksu.edu.tw/FTP/CentOS/), 义守大学
(http://ftp.isu.edu.tw/pub/Linux/CentOS/)
或国家高速网络中心 (http://ftp.twaren.net/Linux/CentOS/ )
下载最新的 Linux 映像档来刻录 (2011/07 可下载最新版为 CentOS 6.0),并且依据上述的需求安装好你的 Linux 系统
(最重要的其实就是那个分割而已,其他的动作可以在安装完成后再说)。
答:
由于 Linux 的安装我们已经在基础篇内的第四章介绍过了,这里我们不再使用图形接口来说明,
仅使用文字说明来介绍你在每个项目应该处理的动作而已。此外,由读者们的响应发现,学习者经常只有一部主机,
因此,这里我们建议你使用 Virtualbox (http://www.virtualbox.org/) 来仿真出一部实体主机,以安装你的测试环境。并请注意,
这部主机将会使用在本书的各个章节测试中。
Virtualbox 的安装与设定请自行参考其官网上面的 Documentation 介绍,这里不再赘言。只是需要注意的是, 若 (1)需要架设网站来上网,建议网络使用桥接模式 (bridge) ,且网络卡类型使用 Intel 的桌面计算机类型即可。 (2)由于我们未来会教导 NAT 服务器,因此最好有两张网卡,一张使用 bridge 一张使用内网 (intnet) 较佳。 而 (3)磁盘配置建议使用 SATA 类型,且容量请给予 25GB 以上。 (4)内存至少该给予 512MB 以上,最好有 1GB 来测试。 其他的请参考官网文件,或者使用默认配置即可。当然啦,如果你有独立的实体机器来安装,那就更好了! 不需理会这一小段文字的说明喔。 默认配置如下:
|
既然我们这部主机得要提供不同账号来使用他们自己的网络驱动器,因此还需要建立账号啊,使用磁盘配额 (quota) 等等的。
例题-大量建置账号:
答: 你可以写一支脚本程序来进行上述的工作!