本文向各位介绍的是作者在联想主持开发的第一个Linux 方案级产品---满意OA中的主要核心部分─基于B/S结构的Unix/Linux服务器远程配置工具的设计与实现。以下我们简称其为"配置工具"。
第一部分 前言
一、项目背景介绍:
满意OA构筑在功能强大、高效的Linux操作系统之上。管理员可以从任意客户机通过IE浏览器连接到满意OA服务器上,对网络服务进行简单高效地配置和管理,包括共享上网代理服务(Proxy)、域名解析(DNS)、文件共享(Samba)、动态主机配置(Dhcp)、邮件 (Qmail)等服务。
共享上网模块-----通过配置工具可以把一台Linux 服务器配置成为企业内部局域网的共享上网代理服务器,并实现按需拨号和自动断线等功能,在使用方便和节省费用的前提下极大地满足了企业对Internet的需要。在此可以对Internet接入进行设置,包括指定拨号设备、电话号码、代理缓存等参数。用户还可以设置服务器的工作组来实现文件共享。
访问控制模块-----通过配置工具管理的Linux服务器不仅可以方便地连到Internet,使用户随时从互联网中获取信息,还可以对信息进行管理和访问控制,使内部网中的计算机用户不能访问某些被禁止的网站,限定用户对特定站点访问的方式有域名和IP地址两种。
DNS设置模块-----配置工具可以提供对DNS服务的管理功能,通过IE登陆管理界面可以方便的设置内部网中服务器的域名解析规则,便于使用者对内部网中服务器的访问。
远程控制模块-----系统管理员可以在任意客户端上控制服务器端的内部网络(Web),动态主机地址分配(Dhcp),文件共享(Samba),代理接入(Squid),邮件(Qmail)等服务的开启和关闭。当该项服务出现问题时,配置工具还提供了服务修理功能。
主从服务器设置模块-----配置工具不仅能够作为局域网中的主服务器提供系统设计的全部功能,还可以作为从服务器,提供电子邮件和内部网(intranet)功能,从而实现与企业原有局域网的无缝连接。
第二部分 总体架构设计方案
一、研发目的:
众所周知,Linux的出现已经很长时间了,但为什么一直无法得到大规模的普及呢?作者认为主要是由于用户界面不够友好等诸多原因造成的,尤其是在高端领域,熟悉Unix/Linux服务器配置与管理的人才较之Windows系统要少之又少,培养一个Unix/Linux的系统管理员要比培养一个Windows系统的管理员的代价大得多,对于一般的企业来说养上10几个Unix/Linux的管理员是无法想象的开支。
降低Unix/Linux服务器管理的成本已经成为广大使用者的共识,开发一套使用并且好用的配置工具已经成为Unix/Linux打开服务器市场的必由之路。
二、"界面理论":
作者认为,Windows界面友好是因为他采用了窗口化的界面进行操作,而Unix/Linux则是通过字符界面进行管理,两者相比,其复杂程度当然不言而喻。我一直在思考如何解决这个问题,后来终于有了答案,那就是走B/S结构的路来打破微软的"友好界面"。
仔细想来,所谓的"界面"应该有三种:"字符界面"、"窗口界面"和"网页界面",作者认为这三种界面的友好程度是依次提高的,也就是说Windows所采用的"窗口界面"虽然比Unix/Linux所采用的"字符界面"要好看得多,但是如果我们采用"网页界面"开发一个配置管理工具的话,那么其友好性就不言自明了。
再之,Linux作为服务器的操作系统,其高效性和稳定性在业内是公认的,而其对硬件资源的消耗却比微软的Windows要少的多,并且完全免费,所欠缺的就是配置和管理比较复杂,但是如果我们能够根据上边的"界面理论"设计一个基于Web界面的配置工具,那么Linux将在服务器领域无敌于Windows。
三、原型设计:
说了这么多,我们先来开发一个小型的原型,让大家有一个实际的体会。
我们要开发一个配置工具,让他能够进行配置管理局域网,管理服务器各项服务的开启/关闭,及Internet共享接入的连接,主从服务器转换控制等操作,方便企业内部网络管理员的工作。
共享上网拨号设置
设置共享上网代理服务器Internet接入的拨号参数。
a.点击页面上部的主菜单中的 管理中心 。
b.点击左侧页面的菜单条 服务器管理 。
c.点击 服务器管理 下"共享上网"图标,或直接点击右侧页面中 共享上网 按钮,进入共享上网接入拨号器设置页面。
d.在共享上网接入拨号器设置页面中设置接入参数。满意OA支持的拨号设备为常用的单通道ISDN、双通道ISDN、MODEM,在"共享上网设备选择"下拉菜单中选择所使用设备。在"端口"下拉菜单中选择拨号设备使用的通讯端口。点击 确 定 按钮确认拨号设备和端口的设置,点击 清 除 按钮清除设置。在文本输入框中输入"ISP电话号码"、"用户名"、"密码"、"空闲时间"。参数含义如下:
电话--ISP提供给用户的拨入电话号码。
用户名--------用户在ISP注册的使用帐号。
密码----------用户在ISP注册帐号对应的密码。
空闲时间------无人访问Internet的时间到达空闲时间后,拨号器自动断开以节省开支。时间单位:秒。如果输入0,则没有自动掉线功能(空闲时间为无穷)。
拨号器设置页面
e.设置完拨号参数后,点击"空闲时间"后的 确 定 按钮,确认设置。
接入共享上网代理服务参数设置
a.点击页面上部的主菜单中的 管理中心 。
b.点击 服务器管理 下"共享上网"图标。
c.点击右侧主页面中的 代理服务 按钮。
d.在代理服务参数设置页面中设置接入服务器的"代理服务器端口"、"内存Cache容量"、 "硬盘Cache容量"、"Cache更新周期"。
代理服务器端口----在满意OA服务器中设置代理服务器端口
内存Cache容量----在满意OA服务器内存中设置存储Internet页面的缓冲区,单位:MB
硬盘Cache容量----在满意OA服务器硬盘中用于存储Internet页面的空间,单位:MB
Cache更新周期-----设置缓冲区存储Internet页面的时间,单位:天
代理服务参数设置页面
e.点击 确 定 按钮确认设置,点击 取 消 按钮取消设置。
文件共享设置
此项设置可以使其他计算机通过Windows网上邻居访问满意OA服务器中的共享文件夹。
a.点击页面上部的主菜单中的 管理中心 。
b.点击 服务器管理 下的"共享上网"图标。
c.点击右侧主页面中的 文件共享 按钮,进入文件共享设置页面。
d.在文件共享设置页面中输入 "文件共享服务器名称"、"服务器所属的工作组"。
e.点击 确 定 按钮确认设置。或点击 取 消 按钮取消设置。
服务器名称----设置提供文件共享服务的满意OA服务器在网络邻 居中显示的主机名,建议使用字母。
服务器所属工作组------指定提供文件共享服务的满意OA服务器所在的工作组名称。
满意OA系统缺省设置了一个目录作为共享文件夹。管理员设置好文件共享后,用户在自己的计算机中打开网上邻居,点击文件共享服务器即可看到共享文件夹。所有用户对该文件夹都有读写权限。
文件共享设置页面
设置Internet访问控制站点
此操作可以实现禁止对某些Internet站点的访问。
a.点击页面上部的主菜单中的 管理中心 。
b.点击 服务器管理 下"访问控制"图标,进入访问控制设置页面。
c.在访问控制页面中添加控制站点。访问控制站点可用以下两种方式添加:
URL方式,即:要进行访问控制的站点的URL,如"www.xxx.com.cn",然后点击 添 加 按钮提交。
IP地址方式,即:要进行访问控制的站点的IP,如"111.111.111.111",然后点击 添 加 按钮提交。
访问控制设置页面
取消Internet访问控制站点的设置
a.点击页面上部的主菜单中的 管理中心 。
b.点击 服务器管理 下"访问控制"图标,进入访问控制设置页面。
c.取消站点控制:
URL方式:在已经进行访问控制的站点的URL列表中选取要取消控制的URL地址,点击 删除 按钮。
IP地址方式:在已经进行访问控制的站点的IP列表中选取要取消控制的IP地址,点击 删除 按钮。
添加DNS设置
满意OA可以提供域名解析服务(DNS),当其作为DNS服务器时,通过此项设置可以使公司内部计算机的IP地址和URL地址相对应,便于用户使用。
a.点击页面上部的主菜单中的 管理中心 。
b.点击 服务器管理 下"DNS设置"图标,进入DNS设置页面。
DNS设置页面
c.在DNS设置页面上点击 添加 按钮,进入"添加DNS设置"页面,输入"主页名称"、"URL地址"、"IP地址"。
名称---对进行域名解析的计算机的描述。
URL地址---进行域名解析的计算机的URL。
IP地址---进行域名解析的计算机的IP。
DNS添加页面
d.点击 确 定 按钮确认添加,点击 取 消 按钮取消添加。
删除DNS设置
a.点击页面上部的主菜单中的 管理中心 。
b.点击 服务器管理 下"DNS设置"图标,显示DNS设置页面。
c.在DNS列表中选取要删除的条目。
d.点击 删 除 按钮。
服务的远程控制
系统管理员通过此模块可以在任意客户端上控制满意OA服务器的拨号服务、内部网络(Web), 动态主机配置(Dhcp),文件共享(Samba),接入代理(Squid),邮件(Qmail)服务。
a.点击页面上部的主菜单中的 管理中心 。
b.点击 服务器管理 下"远程控制"图标,右侧显示远程控制页面。
c.在下拉列表中选择要控制的服务,服务类型如下:
拨号服务----使满意OA服务器能够拨号接入Internet。如果停止此项服务,则整个办公网络无法与Internet进行连接。
Web服务-----内部网络服务,如果停止此项服务,用户则无法登录满意OA系统。
Dhcp服务----动态主机配置服务,可以动态的给分布在局域网中的计算机分 配IP地址。当满意OA作为从服务器使用时,应停止此项服务。
Samba服务---文件共享服务,如果停止此项服务,用户无法访问满意OA服务器中的共享文件夹。
Squid服务---上网代理服务,使满意OA服务器作为局域网中的上网代理服务器。如果停止此项服务,则局域网中的其他计算机无法通过满意OA服务器访问互联网。
Qmail服务---邮件服务,如果停止此项服务,用户则无法使用满意OA的邮件系统。
d.点击其后的 重新启动 按钮,重新启动该服务。
远程控制页面
服务的启动/关闭控制
系统管理员在任意客户端都可以对满意OA服务器进行重新启动和关机控制。
a.点击页面上部的主菜单中的 管理中心
b.点击 服务器管理 下"远程控制"图标,右侧显示远程控制页面。
c.点击"服务器控制"后的 重新启动 按钮重新启动服务器;点击 关 机 按钮关闭服务器。
主从服务器设置
如果用户局域网中已有服务器,满意OA可以作为从服务器使用,实现满意OA服务器与原有网络的无缝连接。
设置满意OA服务器为从服务器
此操作是在满意OA服务器作为主服务器的网络中,把满意OA服务器转变为从服务器。满意OA服务器作为从服务器使用就不再提供DHCP服务。
a.点击页面上部的主菜单中的 管理中心
b.点击 服务器管理 下"主从服务器设置"图标。
c.右侧主页面显示主服务器的属性:
服务器IP地址---- 满意OA服务器使用的IP
子网掩码--------- 满意OA服务器的子网掩码
网关------------- 满意OA服务器所在网段的网关
主机名----------- 满意OA服务器的主机名
d.点击 变为从服务器 按钮把满意OA服务器转变为从服务器,然后进入从服务器属性设置页面。
e.设置满意OA服务器作为从服务器工作的属性
服务器IP地址---- 满意OA服务器使用的IP
子网掩码--------- 满意OA服务器的子网掩码
网关------------- 满意OA服务器所在网段的网关
主机名----------- 满意OA服务器的主机名
f.点击 确 定 按钮确认属性设置并把满意OA服务器变为从服务器;点击 取消 按钮取消上述属性设置及转换为从服务器的操作。
把作为从服务器的满意OA服务器转变为主服务器
此操作为删除已有网络中原有主服务器后,把满意OA服务器转变为主服务器,行使主服务器功能的操作。
a.点击页面上部的主菜单中的 管理中心
b.点击 服务器管理 下"主从服务器设置"图标。
c.点击 恢复为主服务器 按钮,把满意OA服务器变为主服务器。
四、架构设计:
1.逻辑架构图:
2.技术架构:
配置工具采用的一个三层架构的开发思路,即页面层、程序层和文件层。技术实现上采用JavaScript+HTML+Perl+文本文件的开发方式,下边我来解释一下为什么采用此套开发思路:
首先,配置工具是提供给管理员使用的,在一个企业内部管理员肯定是少数,许多情况下就是一个人,所以对配置工具的操作不会出现并发的情况,所以采用CGI的模式足够了,没有必要采用JSP等等,这样可以大大缩短开发时间和测试时间。
其次,配置工具的最底层是一套配置文件,这些配置文件都是作者经过丰富的Linux服务器管理经验的总结,并且按照目录打成了包,用户可以直接打开然后重新启动服务器,就是一台配置好了的服务器了。
最后,所有的程序都是对做好的配置文件进行配置,当然也可以对普通的Linux配置文件进行配置,我们已经把他做的通用化了。
以下,我来逐一向大家介绍三层结构中每层的设计思路:
页面层:实质上是一个小型网站,开发上采用JavaScript+HTML,界面风格模仿OICQ的滚动窗口,充分利用屏幕空间,突出视觉效果。
程序层:实质上是网站的CGI程序,开发上采用Perl语言,每个程序被模块化得非常好,保证每个程序只实现单一的功能,确保程序比较简短,执行效率高。
文件层:实质上是一套服务器的配置文件,文本格式,从设计上保证每个程序只能打开一个文件进行操作,全部配置文件按照Linux的某项服务进行打包,比如Web服务。
第三部分 代码与实现
限于篇幅,我们在这个部分列出本系统实现的部分重要代码和设计思路:
主要模块的详细设计
页面逻辑设计
主要CGI程序设计
主要Perl程序设计
主要的配置文件
第四部分 总结
看过全文之后,大家不难发现,配置工具的开发思路比较特殊,它不是以Linux的某项服务为着眼点,而是从人们所熟悉的某项功能入手进行开发,完全达到了"以客户为导向"的研发思路。从而,真正达到了降低Linux使用难度的目的。
由于配置工具的开发尚属第一个版本,主要是搭架子,功能点还比较有限,但是作者艰辛其思路是正确的、实用的,以后作者将沿着这条路线继续走下去,为大家贡献更多更好的产品和服务。
以上各个部分主要向读者讲解了我是如何设计并实现配置工具的,大家看过之后如果有什么建议和意见请E-mail给我:thjthj@263.net,我们将根据大家的意见改进配置工具的功能和性能。
参考资料
《RedHat服务器配置与管理大全》 汤海京著 清华大学出版社出版
这是一本全面阐述如何运用RedHat Linux配置和管理服务器的教材类书籍,其写作风格深入浅出,理论与实践紧密结合。本书推荐读者采用的操作系统是时下最流行的RedHat 6.2,其稳定性和高效性已经被业界所公认。
汤海京,联想集团有限