Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

在Linux上搭建WEB服务器:虚拟主机、SSL、管理

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  在本文的下篇这一部分里,我们将进一步探讨Apache服务器的配置使用——实际上IBM HTTP Server也只是对Apache服务器改良而成,所以基本的配置使用也是一致的。

六、虚拟主机的设置

  Apache支持两种类型的虚拟主机,基于IP地址的虚拟主机和基于名称的虚拟主机。不管是选择哪种类型的虚拟主机,先决条件是要配置正确的域名服务(DNS)。基于IP的虚拟主机配置要求每个虚拟主机都有唯一的IP地址;而基于名称的虚拟主机使用CNAME记录建立(在顶级域名一样的情况下)或者另外一个域名服务中的A记录(在顶级域名不一样的情况下)。

  可以以两种方式配置Apache,以便支持多主机(主服务器和虚拟服务器):

  · 运行多个守护进程,每个主机具有一个单独的httpd守护进程。

  · 运行单个守护进程支持所有的虚拟主机和主服务器主机。

  第二种方法被广泛的采用,并在大多数情况下是首选方案。因此,本节只讨论这一种方法。

  Apache在httpd.conf文件中使用特殊的容器来处理所有与虚拟主机有关的设置。一个最小的虚拟主机设置可能如下所示:



DocumentRoot /home/httpd/www.company1.com
ServerName www.company1.com

  中的指令条目将重载或者补充(由命令本身的性质而定)主服务器中给定的设置,并只适应该虚拟主机。主服务器可以不提供任何WWW服务,所有的服务请求都由虚拟主机来处理。当然,你还可以设定你侦听的IP地址的端口,格式为:

  设置实现基于IP地址的虚拟主机服务

  ◆实现前提

  这种方式需要在系统中设置IP别名,也就是在一台机器的网卡上绑定多个IP地址去为多个虚拟主机服务。而且要使用这项功能还要确定在你的LINUX内核中必须支持IP别名的设置,否则你还必须重新编译内核。

  ◆配置步骤

  假设,我们用来实现虚拟主机服务的机器,首先已经为自己提供了WEB服务,现在将为另一个域名www.xxx.com提供虚拟主机服务。

  规划IP地址:为虚拟主机申请新的IP地址。(假设本机IP地址为211.100.6.48),我们为新的虚拟主机申请的IP地址为211.100.6.49。

  ◆让ISP作好相应的域名解析工作。

  ◆为网卡设置IP别名:

/sbin/ifconfig eth0:0 211.100.6.49 netmask 255.255.255.0

  ◆重新设置“/etc/httpd/conf/httpd.conf”,在文件中加入:



ServerAdmin webmaster@xxx.com
DocumentRoot /home/httpd/xxxroot
ServerName www.xxx.com
ErrorLog /var/log/httpd/xxxroot/error.log

  ◆建立相应的文档发布目录。(注意,如果需要的话,可能有修改目录和文件属性的操作,以便提供ftp权限和log文件能被服务器写入出错信息)


mkdir /home/httpd/xxxroot
touch /var/log/httpd/xxxroot/error.log

  ◆将相应的主页内容存放在相应的目录中即可。

  这种方式,每增加一个虚拟主机,就必须增加一个IP地址。而由于IP地址空间已经十分紧张,所以通常情况下是无法取得这么多的IP地址的。从某种意义上说,这也是一种IP地址浪费。同时,你也需要为新的IP地址付费,提高了WEB服务的成本,所以这种方式已经极少采用了。

  设置实现基于名字的虚拟主机服务

  设置基于名字的虚拟主机服务同样非常的简单。它不需要更多的IP地址,无须什么特殊的软硬件支持。现代的浏览器大都支持这种虚拟主机的实现方法。当然,这也就是指一些早期的客户端浏览器也许不支持这种虚拟主机的实现方法。

  配置基于名字的虚拟主机服务需要修改配置文件:“/etc/httpd/conf/httpd.conf”,在这个配置文件中增加以下内容:


NameVirtualHost 211.100.6.48

DocumentRoot /home/httpd/xxxroot
ServerName www.xxx.com



DocumentRoot /home/httpd/yyyroot
ServerName www.yyy.com

  也就是在基于IP地址的配置基础上增加一句:NameVirtualHost 211.100.6.48而已。在本例中,为了体现只需要增加一次,所以特别地设置了两个虚拟主机服务。

  最后也是建立相应的目录,将主页内容放到相应的目录中去就可以了。

  在确认已经建立需要的所有目录和文件后,你还需要重启Apache服务器使设置生效。

七、使用SSL构建安全的WEB服务器

  Web上的电子商务正在以超乎想象的速度发展。许多公司正在建立电子商务WEB站点,以便在internet上开展业务。电子商务站点的一个先决条件是具有安全事务处理能力,这一能力由安全套接字层(SSL,Secure Sockets Layer)提供。不幸的是,由于美国在加密算法出口上的强制法律限制,apache并不包含SSL支持。但是,有许多针对apache的第三方SSL软件。下面这个比较也许能够帮助你选择所需要的软件。

bj

  另外,还有一个叫OpenSSL第三方软件,是一个合作的项目,其目标是开发一个健壮的、商业等级的、完整的开放源代码的工具包,用强大的加密算法来实现安全的socket层(SSL)和传输层的安全性(TLS,Transport Layer Security)。由于这个合作项目的时间还不算长,在文档上和mod_ssl模块还有一些差距,相信不久以后应该会有改观。它是免费软件中除了mod_ssl以外的又一个选择,它的具体资料请查阅本站解决方案的有关内容或者《GNU/Linux高级网络应用服务指南》(机械工业出版社出版 LinuxAid网站编著 2001年1月)。我们主要讲解mod_ssl模块的使用——也许仅仅是因为mod_ssl组织声称全球已经有一百万家以上的站点正在使用它来构建安全的站点:)。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:在Linux上搭建WEB服务器:JSP   下一篇:Apache1.3.20在Windows下的使用

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号