|
.虚拟主机
一台网页服务器默认只有一个网站,例如thiz.com域中的www主机,其网站地址http://www.thiz.com。任何此 ... 一台电脑上。
设定虚拟主机主要分为IP-based与name-based两种方式。IP-based是指将每个IP各自建立一个虚拟主机,而name-based则是以一个IP来建立数个虚拟主机,当然这两种方法是可以混用的,例如您有3个IP,则其中2个可用IP-based来建立虚拟主机,而第3个IP则用name-based来建立。由于IP-based的每个虚拟主机都需要一个IP,在目前IP相当短缺的情况下,一般建议使用name-based的方法来设定。
下面的例子中,我们要在IP为166.111.1.1的一台机器上,建立host1.thiz.com与host2.thiz.com两个虚拟主机。
(1)打开Apache服务器的配置文件httpd.conf,并在此文件中找到NameVirtualHost与VirtualHost这两个设定项目,然后参照下面的内容来设定:
NameVirtualHost 166.111.1.1
用name-based方式设定,去掉注释,加上虚拟主机的IP地址
设定第一个虚拟主机(加上IP):
<VirtualHost 166.111.1.1>
ServerAdmin liming@thiz.com
服务器管理者信箱
DocumentRoot /var/www/host1
虚拟主机的网站根目录(请管理者自行建立此目录)
ServerName host1.thiz.com
此虚拟主机的名称
ErrorLog logs/host1-error-log
指定发生错误时的记录文件,要存为/usr/local/httpd/logs/host1-error-log
</VirtualHost>
设定第二个虚拟主机:
<VirtualHost 166.111.1.1>
ServerAdmin liming@thiz.com
DocumentRoot /var/www/host2
ServerName host2.thiz.com
ErrorLog logs/host2-error-log
</VirtualHost>
重新启动Apache服务器。
(2)配置DNS
配置虚拟主机,必须启动DNS服务,关于DNS参见实习DNS的配置。
我们只需在DNS的正向解析文件named.host中增加两条别名记录,如:
host1 IN CNAME Apache即DNS服务器的域名或IP
host2 IN CNAME Apache即DNS服务器的域名或IP
然后重新启动DNS服务器。在客户端进行访问时,要配置成DNS服务的客户端。
至此虚拟主机就设置完了,您可以通过两个不同的网址访问Apache虚拟主机。
注:您可以结合站点登录控制和虚拟主机来实现个人站点的登录控制,比如liming.thiz.com站点,我可以设定只允许liming和baoshi两个用户访问,只需在登录控制和虚拟主机中都设置同一目录即可实现。
--李明 |
|