很多刚接触Linux 的朋友常常会问的一句话就是:『我学Linux 就是为了架站,既然只是为了架站,为什么我还要学习Linux 的其它功能?
例如:例行性工作排程、BashShell 、干嘛去认识所有的登录文件等等,我又用不到!此外,既然有好用的Web 接口的 Server架设软件,可以简单的将网站架设起来,为什么我还要去学习vi 手动的去编辑一些设定文件?干嘛还需要去理解他的原理?』上面这些话对于刚刚学会架设网站的人来说,真是替他们道出了一个新手的心声啊!
不过,对于任何一个曾经有过架设公开网站的朋友来说,上面这些话,真的是会害死人~要知道,『架站容易维护难』啊!更深一层来说,『维护还好、除错更难啊!』架设一个网站有什么难的?即使您完全没有摸过 Linux,只要参考鸟哥的书籍或者是网站,而且一步一步照着做,包准您一个下午就可以架设完成五个以上的网站了!所以说,架站有什么难的?
但是,要晓得的是,这样的一个网站,多则三天,少则数小时,立刻就会被入侵了!此外,被入侵之后,或许可以藉由一些工具来帮您将root的密码救回来,可惜的是,这样的一个网站还是有被做为中继站的危险存在的!此外,如果您使用工具(例如 Webmin)却怎么也架设不起来某个网站时,要怎么解决?
如果您不懂该Server 的运作原理与Linux系统的除错讯息,那么难道只能无语问苍天?不要怀疑这种情况的可能性,参考一下BBS上面的留言就可以很清楚的知道这种情况的存在有越来越明显的趋势呢!所以说,架站之前还是有一些基本的技能需要学会的!而且这些技能是『一旦学会之后,真正是终身受用啊!』只要花一个学期(三~六个月)就能学会一辈子可以使用的技能,这个学习的投资报酬率真是太高了!所以,一开始的学习不要觉得苦,那真的是值得的喔!
如果有人问你:『Linux最强大的功能是什么』? 大概大家都会回答『是网络功能啊!』,接下来,如果对方再问:『所以学 Linux就是为了架站啰?』 呵呵!这个问题可就见仁见智啰!说穿了,Linux 其实就是一套非常稳定的操作系统,那么任何工作只要能在Linux 这个操作系统上面跑,那他就是Linux 可以达到的功能之一啰!所以Linux 的作用实在不止于网络服务器的架设吶。
举例来说,在Linux 上面开发跨平台的程序(program) 诸如大型的数值模式,由于Linux 的稳定与完善的资源分配功能,使得在Linux 上面开发出来的程序运作的又快又稳定。此外,诸如KDE, GNOME 等漂亮的图形接口,搭配诸如Open Office 等办公室软件,Linux立刻摇身一变而成为优秀的的办公室桌面计算机了(Desktop)。所以说,千万不要小看了Linux 的多样功能吶。
不过,不管怎么说,Linux 的强大网络功能确实是造成Linux 能够在服务器领域内占有一席之地的重要项目。既然如此,我们就好好的来探索一下 Linux的网络世界吧!首先, Linux到底可以达到哪些网络功能呢?这可就多着咯!不论是WWW, Mail, FTP, DNS, 或者是DHCP, NAT 与 Router等等,Linux系统都可以达到,而且,只要一部 Linux就能够达到上面所有的功能了!当然,那是在不考虑网络安全与效能的情况下,您可以使用一部Linux 主机来达到所有的网络功能。
『哇!Linux有那么多的功能啊!那么我可以轻轻松松的就架设好一部以Linux为操作系统的服务器吗?!』呵呵!很可惜,答案是『否』!您无法轻松的就完成一部『堪称完美』的服务器架设,而是必需要很用心,并且学习很多相关的概念与操作方法后,才能够架设好一部完美的服务器。什么!要很用心啊!使用Windows操作系统随随便便就可以架设好好几个服务器了,那么我干嘛要花时间去学习Linux 来架设服务器呢?唉!这真是伤脑筋吶!『谁说使用Windows 架设服务器就很简单』的?就鸟哥的感觉来说,架设 Windows服务器一点也不轻松。为什么呢?
1、授权模式
首先,在尚未进入服务器设定之前,您必需就『授权模式』进行深入的研究,因为,不同的使用者数量将会影响到您的服务器的『价格!』,光是这一点,就可能让鸟哥一个头两三个大了~因为,玩工程的,对于『价格』这东西,总是缺乏一点概念啊~
2、图形接口的设定比较好?
好了,经过了授权模式的洗礼之后,再来进入到服务器的设定方面,呵呵!这个部分可就容易的多了吧!没错,确实是按几下鼠标按钮就可以架设好一两个服务器了。不过『万一』该服务器架设完成后,并不符合您当初的要求时该怎么办?不会发生这样的事情吗?当然会发生啦!因为Windows为了达到所谓的『亲和性与便利性』,所以在您的设定过程中他会『很亲和的自动帮您加入某些参数』,不过可惜的是,这些参数并不见得适合每个人,所以有时候您必需要自行修改这些设定值。偏偏Windows服务器大部分的设定文件都是一些特殊格式,您无法使用简易的文本编辑器去修改~
3、除错的登录文件资料分析
再者更遗憾的是,如果服务器设定出了点小问题,总是无法达到您的要求,设定也都看过了,那么要如何除错呢?如果您没有网络的基本概念,以及Windows 相关的登录文件管理技巧,呵呵!即使Windows 在设定上做了很多的简化,我想,您依旧无法设定出适合您自己的服务器的啦!所以,不管是Windows 还是 Linux,要架设好一部堪称完美的服务器,『基本功课』还是得做的,这包括了:
1、该操作系统的简易操作,以及登录分析、账号管理、文本编辑器的使用等等的技巧;
2、网络的基本概念;
3、防火墙方面的相关知识等等。
而且,每一个项目里面所需要学习的技巧可多着呢!『什么?要学的东西那么多啊!』是啊!所以,不要以为信息管理人员整天闲闲没事干的吶,大家可是天天在出卖知识的,同时,还得天天应付随时可能会发生的各种漏洞与网络攻击手法呢!真不是人干的工作~~这么说的话,架站真的是挺难的喔!事实上,架站其实蛮简单的哩!咦!~怎么又说架站简单了?不是说架站难吗?呵呵!其实『架站很难』是由于朋友们学习的角度有点偏差的原因啦!还记得当初进入理工学院的时候,天天在念的东西是基础物理、基础化学、工程数学与流体力学等基础科目,这些科目花了我们一至两学期的时间,而且内容还很难吶~都是一大堆的理论背不完。怪了?我们进理工学院是为了求取更高深的知识,那么这些基础知识学了有什么用吶?呵呵!更高深的知识都是建构在这些基本科目的理论上面的,所以万一您基础的科目没有读好,那么专业科目里面提到的基本理论怎么可能听的懂?这样说应该就不难了解了吧!没错!认识操作系统与该操作系统的基本操作,还有那个重要的网络基础,就是我们在架站前的『基础科目』啦!所以说,在进入Linux的服务器世界之前,真的不能够略过网络基础的相关知识,同时,Linux 系统的基本技能也必需要能够理解吶!好了,或许您还是对于Linux 系统里面『什么是很重要的知识』不甚了解,果真如此的话,那么我们就举个简单的例子来说明一下啰!下面列出一般的架站流程,我们由架设服务器的流程当中,来看一看什么是重要的Linux 相关技能吧!
基本架站流程
虽然不同的Server提供的服务并不相同,而且每种服务的原理也不见得都一样,不过,每种服务器由规划、架设到后续的安全维护,其实整个流程是大同小异的。所以,下面我们就整个服务器的简易架设流程当中来分析一下,为什么了解操作系统的基础对于网站维护是相当重要的呢?
首先,先来分析一下,如果你要架设一个网站时,架设的基础流程是怎样的一回事。大致的流程有点像下面这样:
1、了解网络基础
既然要架设网站,如果对于网站最基本的网络基础知识无法具备的话,那么…..当然无法管理好网站啦!举个例子来说,不论何种操作系统,常常会使用到所谓的『网域』的概念,当您发现一个设定为192.168.1.0/255.255.255.0时,晓得那是什么鬼东西吗?如果不知道的话,呵呵!绝对无法设定好网站的啦!
2、了解架站的目的
想要架站,架什么站?架这个站后,要不要对Internet 开放?要不要提供什么服务给其它外面(指 Internet上的用户)的使用者?提供这些服务时,需不需要做限制(例如限制使用者可以使用的硬盘空间或网页、邮件的最大容量)?如果要做限制时,需要怎么样选购您的主机硬件?要进行这些规划时,都需要知道架站的目的呢。不过,如果架站只是为了『练功』而已,呵呵!那就不需要考虑太多了~
3、Linux
安装硬盘规划好了,不论您的网站规模有多大,只要是对Internet开放的网站,几乎一定都需要硬盘的啊!因为网站的资料需要有地方可以储存吶!那么您要如何选购硬盘?还有,硬盘应该进行怎样的分割(Partition)比较好?举个例子来说,如果您想要架设邮件主机,那么硬盘应该如何规划呢?给您猜~
4、了解欲架设的网站服务原理
这个与刚刚第一点有点类似,也是属于基本原理方面啦!举个例子来说,当您晓得了Mail Server的运作原理,自然就比较容易架设成功,此外,也比较容易进行除错!
5、服务的套件安装、漏洞修补、套件升级
好不容易决定了硬盘的规划,并且partition 与 Linux这个操作系统都安装好了,接下来自然就是安装我们所想要架设的服务器软件啦!例如:如果要架设Mail Server ,那么Sendmail 或者是Postfix 这两个邮件服务器软件就派上用场啦!咦!有两种邮件服务器软件啊?呵呵!当然不止~邮件软件可多的很呢!那我要选择哪一个邮件服务器软件?需要考虑安全性、架设的便利性、以及执行的效能与稳定性等等!呵呵!累了吧!
6、主机设定、启动、观察与除错
在完成了 Linux安装,并且将服务器软件安装好了之后,再来当然就是设定啰!这个部分就是我们常常看到的一些文件说的比较多的部分啦!在主机的设定当中,其实设定项目并不难,了不起都是照着文件设定就可以了!不过,由于每个人的主机环境不一样(例如安装的套件版本啦,Linux distribution 的不同啦,编译器的不同啦,这些都是主机环境的一环!),所以同样的一份设定在不同的机器上,嘿嘿,可能不会一定百分之百能执行的吶!这个时候,观察主机的登录文件与相关的讯息,并加以进行错误克服(debug)的动作可就相当的重要了呢!这也是大家常常会忽略的部分。
7、客户端设定、观察与除错
这部份也是需要的,因为有的服务器需要客户端也进行设定才行!例如邮件主机加上身份认证功能时,就需要在客户端上面设定好身份认证的确认啰!
8、安全性设定
网络安全是很重要的,问题是,要怎么样达到网络安全的相关设定呢?有哪些文件、套件、指令与数据可以查寻?
9、服务日志、登录文件与备份管理
呵呵!毕竟没有人敢说『我的网络是绝对安全的,我的硬件是绝对没有问题的!』既然如此的话,备份就成了重要的课题了!问题是,如何备份呢?使用什么指令来备份?使用什么媒体来备份?需不需要手动来备份?还是交给系统自行每日、每周自动备份?这都是挺重要的!整个服务器的架设流程大概就如同上面所提的几个步骤啰!