Apache虚拟主机配置教程

    Apache虚拟主机配置的方法常见有两种方案:基于IP地址的虚拟主机服务器和基于域名的虚拟主机服务。基于IP地址的虚拟主机服务有一个不方便的地方就是每增加一个虚拟主机就得增加一个IP,因此在配置Apache虚拟主机的时候可以使用基于域名的虚拟主机服务。本文以Apache-2.2.22版本为例,下面的配置是在Windows下的基于域名的虚拟主机配置。

 

在本机上设置两个虚拟主机,站点域名假设为:www.test1.com和www.test2.com

1.找到httpd.conf配置文件,找到下面的配置代码:

# Virtual hosts

# Include conf/extra/httpd-vhosts.conf

改成:

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

找到下面三行:

ServerAdmin

ServerName

DocumentRoot

用#注释掉

#ServerAdmin

#ServerName

#DocumentRoot

 

2.再修改conf/extra/httpd-vhosts.conf配置文件:

<VirtualHost*:80>

ServerAdmin webmaster@a.abc.com

DocumentRoot "D:/Apache/docs/a.abc.com"

ServerName a.abc.com

ServerAlias www.a.abc.com

ErrorLog "logs/a.abc.com-error_log"

CustomLog "logs/a.abc.com-access_log" common

</VirtualHost>

<VirtualHost*:80>

ServerAdmin webmaster@b.abc.com

DocumentRoot " D:/Apache/docs/b.abc.com "

ServerName b.abc.com

ErrorLog "logs/ b.abc.com-error_log"

CustomLog "logs/ b.abc.com-access_log" common

</VirtualHost>

 

4.要添加虚拟主机只需要添加一个VirtualHost节点(这里以本地127.0.0.1测试)。

#

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>

ServerAdmin abc@xxx.com

DocumentRoot "D:/website/test1"

ServerName www.test1.com

ErrorLog "D:/website/logs/test1/error_log"

CustomLog "D:/website/logs/test1/access_log" common

</VirtualHost>

<VirtualHost 127.0.0.1>

ServerAdmin abc@xxx.com

DocumentRoot "D:/website/test2"

ServerName www.test2.com

ErrorLog "D:/website/logs/test2/error_log"

CustomLog "D:/website/logs/test2/access_log" common

</VirtualHost>

<Directory "D:/website/test1">

Options FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory>

<Directory "D:/website/test2>

Options Indexes

AllowOverride None

Order deny,allow

Allow from all

</Directory>

 

5.然后建立相应的目录。如下图所示:

Apache虚拟主机配置

  6.重启Apache,然后测试访问www.test1.com和www.test2.com。

 

至此,Apache虚拟主机配置完成。

7

发表回复