Web网站的全套软件解决方案
—基于Turbo Linux系统
随着计算机技术的发展,Internet技术越来越深入人心,并广泛应用于我们生活工作的方方面面,伴随着人类跨入的新世纪,全世界都开始面临着新的商业模式的冲击,这种新的商业模式就是世人瞩目的电子商务,在这场商业革命中,IT 系统和Internet 逐渐成为所有核心业务的基础,网站发挥着重要的作用。在这种环境下,现代企业需要一种平台,一种可以适应企业规模快速发展,业务不断扩展的可扩展性的平台,一种安全可靠,性能稳定,应用丰富,成本较低,能够提供门户网站全套解决方案的平台。
Linux 发布商拓林思(Turbolinux)公司以提供高性能的Linux解决方案、Linux服务技术和Linux集群技术著称。Turbolinux操作系统所提供的强大的网络功能,可以轻松构架ISP/ICP互联网网站,其标准部件包括:Web服务器、Mail服务器、FTP服务器和DNS服务器,扩展部件包括:BBS虚拟社区系统、Chat网络聊天系统、Webmail免费邮件系统,完全满足ISP/ICP的需求。
方案说明
1.系统结构图
(1)操作系统平台采用Turbolinux Server 和 Turbolinux Workstation,以此为软件基础构筑网络,经过配置后可以提供多种 Internet 服务。与其他操作系统相比,Linux 有着技术和价格上的优势。由于 Linux是一个类UNIX的操作系统,它具有UNIX 系统所具有的开放、高可靠、高稳定、高性能和高可伸缩性的特点,同时作为一个自由软件的操作系统,Linux是一个开放源码的操作系统,系统中没有人为设置的任何后门,所以更容易构造一个安全的系统,比其他操作系统更利于防止黑客的攻击。
(2)系统将提供 Web、E-mail、FTP和DNS、Proxy和防火墙等多种服务,硬件平台采用高容量,低成本的PC Server来构筑一个高性能/价格比的完整系统。
2.系统功能说明
(1) WWW服务器
做为 ISP/ICP 向最终用户提供的一个重要应用,系统必须使用一个高速、稳定、功能强大的 WWW 服务器产品。
Turbolinux包括 Apache WWW服务器 (http://www.apache.org)。Apache 是互联网上(http://www.netcraft.co.uk/survey/) 第一品牌的网页服务器,在Internet市场上有近 70% 的站点使用 Apache 服务器,或由其衍生出来的产品。Apache 服务器的主要特性如下:
·允许根据客户主机名或IP地址限制访问;
·允许用户认证来限制某些文档的访问;
·支持CGI脚本,如Perl、PHP3、MySQL;
支持用户Web目录,Apache允许主机上的用户使用特定的目录存放用户自己的主页,可以通过如下URL地址来访问,如用户zhang:http://hostname/~zhang;
·支持HTTP/1.1虚拟主机,即通过在一个机器上使用不同的主机名来提供多个HTTP服务,Apache支持包括:基于IP、基于名字和基于Port三种类型;
·支持动态共享对象,Apache的模块可以在运行时动态加载,这意味着这些模块可以被装如服务器进程空间,从而减少系统的内存开销;
·支持Windows NT/95,NetWare 5.x;
·支持可靠的日志文件;
·支持Proxy服务;
·支持SSL,SSI;
·统一的配置文件,所有配置均可放在httpd.conf文件中;
·支持Netscape SHA1密码加密类型;
·当负载增加时,服务器会快速生成子进程来处理,从而提高系统响应能力。
由此可以看出,Apache 服务器有着优秀的品质,其采用了模组化设计,运行稳定,性能优异。通过使用适当的硬件和对配置进行设定,它可以支持到最高的负荷:Yahoo、 Altavista、GeoCities、Hotmail 等巨型网站都是采用 Apache 服务器的客户指定规格,制作出来的版本。用户也可在Apache中加入 SSL (开启安全交易) 功能。由于Apache的实现是模块化的,因此很容易增加新的特性。同时,它还支持Proxy服务、虚拟主机、用户Web目录等功能。
(2)电子邮件服务器
电子邮件系统是Internet上使用最频繁的服务,是ISP/ICP的非常重要的组成部分,具相关统计,Internet使用者在网上大约有三分之二的时间用于收发电子邮件。所以对于 ISP/ICP 来讲,能否给用户提供一个高效可靠、功能丰富的电子邮件服务,能否成功地建立和提供电子邮件系统是决定整个系统服务成败的关键。Sendmail和Sendmail Pro是UNIX/Linux平台上,电子邮件服务程序的非官方标准。它具有稳定与可扩充的特性,经过适当的设定再配合必要的硬件,它能够承受大多数使用者的负荷,而不会有任何闪失。
Turbolinux采用Sendmail软件构造电子邮件系统
目前,在Turbolinux之上存在多种大容量邮件系统解决方案,这些方案多数可以支持分布式处理,具有一定的扩展能力,支持基于Web的读取、发送和管理和配置,可以支持百万级用户数。现将解决方案提供如下:
方案A WE 大容量电子邮件系统
WE系统以满足大中规模ISP/ICP及集团电子邮件的业务需求为设计目标,通过独特的分布式模块化体系结构,实现对百万级用户的高可靠性支持。它的系统体系结构如图2所示。
WE系统有很强的可扩展性,它可以按不同的方法进行扩容,如:垂直扩容、水平扩容、独立的服务扩展等。
WE按多线程方法设计,保证所有的服务高效可靠地运行。WE系统的系统结构遵循完全分布式设计,通过系统自身的负载平衡服务(Banlance Server),使得系统负载在内部多台邮件服务器(Mail Server)之间实现对用户透明的平衡。WE系统提供基于Web的系统性能监视器,系统管理员可以在任何地点监视系统的运行情况,从而可以针对系统发生的情况以最快的动作处理。WE具备下列基本功能:
·POP3;
·IMAP4;
·SMTP 认证;
·用户名长度可以支持到20位(包括“.”,“_”);
·Web Based E-mail System;
·在线用户登记;
·支持Nicknames和aliases;
·单一邮箱大小的空间限制;
·用户自定义邮件过滤规则;
·个人地址本;
·自定义文件夹;
·在线密码修改与恢复;
·远程POP收邮件功能;
·自动转发功能;
·个人资料的修改;
·多域名服务能力;
·用户使用空间表示功能;
·远程系统性能监视器;
·远程用户管理(增、删、改、挂起)。
WE系统可以通过定制实现不同程度的功能支持。系统管理员可以使用标准的Sendmail宏语言对系统进行几乎任意邮件功能的定制,例如:信件的拒绝处理规则,系统的级过滤规则等等。WE系统的用户可以通过WE Web Based E-mail System独立完成一些管理工作。最有特点的是系统提供容量分析工具,用于跟踪和预警容量需求并可以根据分析结果进行系统滚动升级。WE系统的安全性构造得非常出色,用户密码在用户不可直接访问的服务器上,以密文方式存放在关系型数据库中;系统提供预防SPAM,SPOOFING和DENIAL-OF-SERVICE攻击的手段并提供包括域名、IP、子网的黑名单;从黑名单中的地址发来的信件将被锁住。WE系统的伸缩性,扩展性和集成性非常好,能与现有系统进行集成也容易地和其他扩展功能集成(例如:语音邮件、传真、寻呼等)。
方案B For-mail大容量电子邮件系统
For-mail是专为免费电子邮件服务商、大型企业集团设计的电子邮件系统。其特点如下:
·超大规模,能适应百万级用户;
·高速度,满足大量用户的同时访问;
·高可靠性,提供一天24小时,一年365天的不间断服务;
·易于管理,为维护人员提供完全基于浏览器的日常管理和监测工具,支持远程管理;
·可扩展性,系统采用全对称的多机分布式处理结构设计,用户可在用户数、信息流量增加的时候,在不间断服务的同时,通过增加计算机的数量,动态扩展系统,满足用户需求;
·标准性,支持E-mail的标准协议;
·开放性,用户可在该系统上扩展Mailing list等功能;
·高性能价格比,突破了邮件系统依赖于昂贵硬件设备的限制,系统适应高端服务器和低端服务器,提供高性能的大容量邮件服务;
·Web Mail的功能,用户只需要一个浏览器,便能完成所有邮件的操作,该功能既方便了用户,又为服务商提供了一个可聚集大量用户和访问量的商业运作载体,
·支持基于Windows CE设备(如掌上型电脑HPC)的邮件收发和Web浏览。
For-mail邮件系统的结构是分布式的,体系结构如图3所示。
For-mail分布式系统是可以将软件的不同模块,分别运行在不同的机器上来共同完成整个电子邮件系统的功能。每一种模块还可以再拆分在不同的服务器上运行,实现负载动态均衡,因此系统可以根据需要和用户的使用模式进行定制。For-mail系统各软件模块都采用多进程/多线程体系结构,这在多处理器体系中,通过在不同的处理器上执行每一个线程,而获得真正的并行性。在分布式的体系机构中,服务器与数据服务器间频繁有大量的数据交换,为提高系统效率,在两者之间设置高速缓存,所以性能卓越。
方案 C AIMailCenter大容量电子邮件系统
AIMailCenter系统( 简称AIMC)是定位在数百万用户级的,是一个集多种先进技术的硬件和软件统一的解决方案。在整个设计的过程当 Asiainfo 始终坚持采用最新技术和建立电信级服务的原则,吸取国内外大容量电子邮件系统在设计和开发方面的经验和技术,采用了国际最新的Messaging技术,硬件系统部分完全体现了LAN和Storage技术的最新发展和趋势;AIMailCenter严格遵守Internet的开放标准和通信协议,具有大容量、伸缩性强、安全、易于管理和支持Web界面等功能,通过同服务器、存储系统和网络系统的结合,可以为用户提供支持高达百万级邮箱的电子邮件服务。
Turbolinux+AIMailCenter V2.1已经被著名视聆通门户站点“www.21cn.com”所采用,目标为支持百万级免费电子邮箱,并可以随用户数的增加而简便扩展。
AIMailCenter能把硬件平台的处理能力充分发挥出来,而且软件本身针对大规模应用、大容量的用户数据采用了许多的性能优化技术。AIMAailCenter也充分考虑了系统扩展的功能和具体应用的特点,体现出软件技术的最新发展。
方案 D MailStudio 2000
MailStudio2000一个基于Web的邮件服务器,其设计的目标是提供一种方便使用的邮件系统,可以从任何系统或平台,任何设备上随时随地、方便地使用这种邮件服务器。MailStudio 2000 可以提供杰出的性能、稳定性、可靠性、可扩展性和安全性。对于用户来讲不需其他设置,初学者亦可轻易使用。系统完全支持MIME 1.0(Multipurpose Internet Mail Extension) 。支持HTML,Dynamic HTML 等多媒体邮件。完全支持QP,BASE64,ISO2022KR 编码、解码,因此可以支持中文、英文、韩文、日文等多国语言。MailStudio 能够自动检查、治疗电子邮件附件档案中的病毒。可支持收发用声音传送的信息。
(3)FTP服务器
FTP文件传输协议。它是Internet 上提供的常用服务之一。FTP实际上Internet 上的文件传递工具。网络上的用户可以通过 FTP 功能登录到远程计算机,从其它计算系统中下载需要的文件,也可以将自己的文件上传到网络上。用FTP 登录到服务器的方式有两种:一种是以该系统的正式用户登录,另一种是以匿名(Anonymous)用户登录。后者不需要账号和密码就可以登录到远程计算机上获取大量免费信息。
虽然在ISP/ICP 的解决方案中FTP不是一个必须的功能,但随着Internet的发展,越来越多的用户需要从网络上下载感兴趣的文件和资料。目前ISP/ICP都承诺要提供全方位服务的,越来越多的ISP/ICP提供网络下载服务,其内容五花八门,从软件、资料、游戏到图片、音乐和影视资料,为广大用户提供了丰富的下载资源。所以建立一个安全有效,高性能的FTP服务器也就成为ISP/ICP所必须考虑的一个问题。
(4)域名服务器
由于人们往往记不住Internet上众多节点的IP地址,所以通常使用域名对 Internet网络进行访问。DNS服务器的功能,就是将网域名称转换成IP地址。单独一台 DNS 服务器,并不知道世界上所有的IP地址; 可是它可以向其他服务器询问自己所不知道的地址。DNS 服务器将所询问的 IP 地址回应给使用者,如果解析失败就向客户机报告所询问的名称在数据表中找不到。Internet发展到今天,DNS 已经成为不可缺少的一个重要组成部分。ISP必须通过建立多个域名服务器来完成对越来越多的节点的域名解析。通常必须建立所控制的域的主域名服务器,作为授权的域名服务器。如果为你的网络只建立了一个主域名服务器,你可能会遇到两个问题:
·当主域名服务器因为某种原因而不能工作时,网上的任何客户机都不可能解析机器名和IP地址。这通常会导致客户机域名操作的失败;
·如果只有一个域名服务器,它可能会成为网上客户机解析机器名和IP地址的瓶颈。
这两个问题的一个解决方案就是建立辅助域名服务器。虽然一个域只可以有一个主域名服务器,但是却可以有多个辅助域名服务器。这些辅助域名服务器可以在主域名服务器停止工作时处理网上客户机的查询,减轻主域名服务器的一些负载。
Turbolinux Server 是一个非常有效的构筑域名服务器的平台,使用两台服务器就可以构筑一个完整的域名服务体系。在 Turbolinux 系统中,网域名称查询服务是由一个名为 named 的程序来完成的。它是因特网软件联盟 (Internet Software Consortium) 所提供 BIND 套装程序的一部分。Turbolinux 缺省内置 BIND 8.2 。
BIND 是DNS 协议的一种实现,它对域名系统的主要成分提供了一个开放的可重新分发参考条目的实现,其中包括:
·一个域名系统服务器(named);
·一个域名系统解析器库;
·用来检验DNS 服务器是否正常工作的工具 。
在 Internet 上,绝大多数的域名服务机器都使用了BIND DNS Server,它可以提供强大的和稳定的结构,在这种结构之上可以构建一个组织的域名体系结构。BIND 所包含的解析器库为域名和 Internet 地址的转换提供标准的 API 并可以与请求名字服务的应用连接在一起。
(5)代理服务器
Proxy (代理) 这个词汇的意义就是“代替某些人做某些事”。在网络的用语中,代理服务器就是一部可以代替许多用户端做事情的电脑。HTTP proxy 就是一部专门接收别台机器 (机器 A) 所发出网页要求的机器。代理服务器会取得这份网页,并将结果传回机器 A。代理服务器可以将这份网页,存到快取内存 Cache) 中,如果其他机器所要求的网页,在快取内存中正好有一份复本,则只会将该复本传回。这使得网络频宽资源能够有效运用,而且降低了网页回复的时间。副作用就是用户端机器无法直接连线到外面世界的网络,而这个副作用却成为内部网络保密的方法。一个设定完善的代理服务器,就像是一部功能优良的防火墙。
在 Turbolinux 上存在有数种代理服务器。一个普遍的解决方案就是 Apache 的 Proxy 模组。另一个更完整与稳定的 HTTP proxy 工具程序就是 Squid。
(6)防火墙(Firewall)
从根本意义上讲,绝对安全的计算机是不存在的,绝对安全的网络也是不可能的,只要使用就或多或少地存在着安全问题,只是程度不同而已,如果企业内部的局域网被外部计算机存取,将会使竞争中的企业处于不利地位。所以我们必须使用一种称为防火墙式的系统进行安全防范。
防火墙是在计算机上设立的防止一个内部网络与网络与公共网络直接访问的一种机制,充当防火墙的计算机几可以直接访问被保护的网络,也可以直接访问Internet,而被保护的网络是不能直接访问Internet的,同时Internet不能直接访问被保护网络,这就有效的保护了企业内部的私有资源不被外部计算机访问。Linux系统可以使用三种方式的防火墙:
·应用代理网关;
·电路层网关;
·IP过滤网关。
应用代理网关允许内部网络上的客户通过防火墙非直接的访问Internet,它根据客户的请求,代替客户与目的地进行连接。应用代理网关可以对应用协议进行控制,而且可以在应用水平上进行记录。实际上我们是使用标准的代理服务器进行反向代理操作来实现这种类型的防火墙。Turbolinux使用Squid为代理服务器并可以利用它构造一层防火墙。
IPchain是IP过滤防火墙,IPchains系统使用非常简单有效,Linux系统核心可以直接支持,IPchinas可满足一般用户的要求对IP封包进行检查,对协议进行检测,实现Intranet内部计算机安全地透明访问外部Internet资源。IPchain的实现机制是这样的,一个IP包过滤防火墙在IP包水平上工作,根据它所受到的每个包中的源地址,目的地址和包类型等信息控制包的流动。一般使用包过滤防火墙可以保护整个局域网,这种防火墙比较安全,但缺少足够的记录信息,它可以阻止外部网络访问内部专有系统,但不能记录谁访问了公开的系统,以及谁从内部网络访问Internet。
实现包过滤的策略一般有两种:在第一种方式下,首先允许所有的包,然后在禁止有危险的包通过防火墙;第二种方式则相反,首先禁止所有的包,然后再根据所需要的服务允许特定的包通过防火墙。
相比较而言,第二种方式更能保证网络的安全性。但对于第二种方式,要求使用者知道Server/Client交互的基本原理和特定服务所对应的具体端口。
(7)后台数据中心及双机备份解决方案
对于大型 ISP/ICP 来说,多种服务都是建立在数据库基础之上的,大型WWW服务器和邮件服务器都必须通过与数据库的连接来提供更强大的服务,也便于提供高级信息内容管理解决方案,利于实现最有效的信息存储、管理和分享。通过使用数据库可以集中地存储、管理和使用信息内容、把数据整合到几个服务器上以便于及时地发布,同时也可以减少信息技术费用,减低复杂性。
选择一个好的操作系统平台和数据库平台是ISP/ICP 能够提供高质量服务的关键。
Turbolinux TDS Server 是面向建立数据库应用而开发的高性能网络操作系统平台,其设计的目标是提供一个高性能、高稳定性的操作系统平台。系统针对数据库平台进行了全面的优化,对核心系统进行了专门的定制开发,所有核心参数的设置都是基于运行数据库系统而进行考虑,使其与Turbolinux Server 6.0无缝地连接在一起,充分发挥其优越的性能。与数据库联系密切的共享内存和异步I/O 专门进行了调整,在此平台之上建立数据库的应用可以得到超乎寻常的性能。TDS 全面捆绑了 Oracle 的数据库产品 Oracle 8i,使数据库的安装不再成为困难,用户可以在进行操作系统安装时就可以同时进行数据库的安装,用户只需选择是否安装数据库就可以完成复杂的数据库安装工作,减少现场工程师的技术支持费用。整个操作系统和数据库捆绑在一起的费用非常低,而高性能的配置能提升整个系统的性能。
数据库服务器是 ISP/ICP 最关键的系统之一,为了保证数据库服务的可用性和安全性,建议采用双机容错备份的方案。采用双机容错是要达到两个目的,一是保证数据永不丢失;二是保证系统的高可用性,使系统不停止工作。下面我们将介绍采用基于 Turbolinux 的TurboHA 双机容错解决方案
TurboHA 通过装在两个服务器中的双机热备份系统软件,使系统具有在线容错的能力,即当处于工作状态的服务器无法正常工作时,通过双机系统容错软件,使处于守候监护状态的另一台服务器迅速接管不正常服务器上的业务程序及数据资料,使得网络用户的业务交易正常运行,保证交易数据的完整一致性及交易业务的高可靠性。
用户可通过高速SCSI信道将两台Linux主机共同连接到数组柜,主机即可在此信道上相互检测到对方的“当机”或“硬件错误”。当侦测到任何一种硬件错误或当机时,TurboHA立即执行自动切换功能。在极短时间内数据转交到另一台主机,由它执行网络对数据的各种处理。确认切换后,故障恢复的过程就开始了,用户很快即会回到正常操作。
(8)数据备份解决方案
在ISP/ICP 的系统中,用户和系统的数据是最关键的信息,所以必须对系统进行安全可靠的备份和恢复关键性数据,因为无论系统的可用性有多高、安全性有多好,都达不到100% 的程度。对数据进行周期性的备份有利于软硬件系统的升级及对灾难性的恢复。
Turbolinux Server 6.0采用UNIX系统中著名的专业备份软件BRU。使用BRU可以方便地完成各种备份和恢复工作,以防止由于灾难引起的意外事故以及磁盘损坏引起数据丢失。
(9)认证、授权、记账、计费及流量监控系统
认证、授权、记账(统称为3A 服务器)及计费和流量监控系统是 ISP 的最关键的系统之一,所以要求系统必须稳定运行、安全性高。一个好的认证和计费系统必须能够高性能、高效率、高可靠地执行,计费要求准确,操作和系统维护简单。
我们建议采用For-Monitor系统,该系统是一套实用、廉价的拨号、计费及流量监控系统。它集用户管理、认证、计费和流量监控于一身,完全支持RADIUS协议的认证机制,其基于浏览器的界面简单、明了,易于操作。For-Monitor系统运行平稳、可以支持多机容错、可根据用户的需求进行定制、计费准确、操作简单,速度快,价格便宜,是ISP和企业管理网络的最佳选择。该系统已经成功应用于天津经济技术开发区信息港、中国工商银行等实例,获得了广泛的好评。