实现Apache虚拟主机的两种方案

王朝system·作者佚名  2006-11-23
宽屏版  字体: |||超大  

简介:这里说的虚拟主机是指在一台机器上仅运行一个httpd后台程序

支持多个Apache服务器,如在公司财务部门有一台web服务器,名为

account.yourdomain.com,同时又想为sales部门建立网站,网站内容也

放在该机器上,通过sales.yourdomain.com访问,这就要用到虚拟主机

设置。

设置Apache虚拟主机通常有两种方案

一、基于IP的虚拟主机

这种方式需要在机器上设置IP别名,象上面的例子,在一台机器的

网卡上绑定多个IP地址去服务多个虚拟主机。

若该机器的IP地址为192.168.11.2(account.yourdomain.com),首先

你要设置IP别名(假设用192.168.11.4作为其别名IP)。加下面的行到

/etc/rc.d/rc.local,确保每次启动后自动运行。

#/sbin/ifconfig eth0:0 192.168.11.4 netmask 255.255.255.0 broadcast \

192.168.11.255 up

#/sbin/route add -host 192.168.11.4 eth0:0

然后你需要设置/etd/httpd/conf/httpd.conf文件:

《VirtualHost 192.168.11.4》*

ServerAdmin webmaster@yourdomain.com

DocumentRoot /home/httpd/sales.yourdomain.com

ServerName sales.yourdomain.com

ErrorLog /var/log/httpd/sales.yourdomain.com/error_log

TransferLog /var/log/httpd/sales.yourdomain.com/access_log

《/VirtualHost》

然后分别创建目录

/home/httpd/sales.yourdomain.com,

/var/log/httpd/sales.yourdomain.com

,放相应的网站内容到目录/home/httpd/sales.yourdomain.com下即可,并确保

你内部的DNS指定sales.yourdomain.com的A记录到IP地址192.168.11.4 。

注:这种基于IP的虚拟主机有一个缺点,就是你需要更多的IP地址去服务各自的

虚拟主机,如果你仅仅有一个IP地址,那么你将可以考虑用基于名字的虚拟主机

方案。

二、基于名字的虚拟主机:

它的优势就是不需要更多的IP地址,容易配置,不需要其它软硬件,现代的

浏览器大多都支持这种方式。与基于IP的虚拟主机一样,你需要编辑文件

/etc/httpd/conf/httpd.conf

NameVirtualHost 192.168.11.2

《VirtualHost 192.168.11.2》

ServerAdmin webmaster@yourdomain.com

DocumentRoot /home/httpd/sales.yourdomain.com

ServerName sales.yourdomain.com

ErrorLog /var/log/httpd/sales.yourdomain.com/error_log

TransferLog /var/log/httpd/sales.yourdomain.com/access_log

《/VirtualHost》

《VirtualHost 192.168.11.2》

ServerAdmin webmaster@yourdomain.com

DocumentRoot /home/httpd/hr.yourdomain.com

ServerName hr.yourdomain.com

ErrorLog /var/log/httpd/hr.yourdomain.com/error_log

TransferLog /var/log/hr.yourdomain.com/access_log

《/VirtualHost》

注: 你需要加NameVirtualHost 指示在最前面,下面依次为各个虚拟主机,

为了让它工作,你需要把sales.yourdomain.com, hr.yourdomain.com的DNS

都指向IP地址192.168.11.2

上面的两种都将工作,如果是在外部网段,在互联网上提供WWW服务,你可能

没有足够的真实IP地址来支持多个虚拟主机,便可用基于名字的虚拟主机方案,

若是在内部网段上,你有较多的内部保留IP地址,将没有太大的区别。

Jephe Wu

* 文中的"《 》",实际上是“<>”

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有