配置网站中常有使用将多个域名指向同一IP,并期待HTTP服务器对使用不同域名的访问返回不同结果的情况。正好现在要给ZT配置一个博客,我想使用zt.xuchen.wang域名而不是xuchen.wang/zt,就要用到常用HTTP服务器(Apache,Nginx)都会提供的虚拟主机功能,配置过程记录如下。
环境
Debian Jessie 8.10
XAMPP 5.5.19 (Apache 2.4.10)
理清XAMPP的配置文件存放形式
首先我们知道,单独安装的Apache2服务器,配置文件会存放在httpd.conf里,我使用的XAMPP将各个应用程序的配置文件整理组合了一下,使其存放更为清晰。XAMPP配置文件统一存放于/opt/lampp/etc/文件夹,我们可以查看一下
可以看到,这里包含了Apache的配置文件httpd.conf,有mysql的配置文件my.cnf,有php的配置文件php.ini。
我们使用vim打开httpd.conf,可以在文件结尾部分看到一堆注释掉的文本。
XAMPP将很多非必需功能的配置进行了打包转移,非常清晰的告诉我们如果想要使用Virtual Hosts功能,您可以去编辑etc/extra/httpd-vhost.conf,我们在这里Include了这个文件。
那我们先将Include这行头部的注释去掉,:wq保存好,就可以去/opt/lampp/etc/extra/目录寻找这个httpd-vhosts.conf文件了。
VHosts配置方法
用vim打开httpd-vhosts.conf文件,如图:
注释很详细的告诉了我们,我们如果要使用虚拟主机,需要至少配置两个VirtualHost条目,第一个为如果访问域名都不匹配返回的默认站点。ServerName用来指定域名,ServerAlias用来指定别名,如@.xuchen.wang和www.xuchen.wang都希望访问同一主机,需要一个使用ServerName一个使用ServerAlias。
我们按上述配置好,如图:
但是这还没有结束,配置过apache的用户应该知道,我们还需要给新的虚拟主机的物理目录赋予访问权限,反正httpd-vhosts.conf被include进httpd.conf了,我们将这段配置直接放在httpd-vhosts.conf最后:
DNS解析设置
配置完成后,在域名的DNS解析设置中,只需要将xuchen.wang与zt.xuchen.wang均以A记录形式指向我服务器的IP即可。
这样,整个配置就完成了,xuchen.wang和zt.xuchen.wang均可以跳转至自己想设置的界面了。
网友评论