当前位置 主页 > 服务器问题 > Linux/apache问题 >

    如何配置apache虚拟主机的实例小结(2)

    栏目:Linux/apache问题 时间:2019-10-09 19:50


    </HTML> 

    实验步骤:

    1. 找到apache/conf/httpd.conf, 将其中的

    ServerAdmin
    ServerName
    DocumentRoot
    注释掉。

    2. 在httpd.conf中,找到行

     Include "conf/extra/httpd-vhosts.conf"
    如被注释则解注。该文件记载了虚拟主机的参数。[以前虚拟主机参数是直接填写在httpd.conf中的,为了更好地组织文件,将其分离出去,类似于某些编程语言一样。因此httpd.conf中include它,即相当于把它的内容填在了httpd.conf中。]

    3. 这个httpd-vhosts.conf文件格式基本如下 -

    复制代码 代码如下:
    #blah-blah
    NameVirtualHost *:80
    #blah-blah
    #blah-blah
    <VirtualHost *:80>
        ServerAdmin XXXXXXXX
        DocumentRoot "XXXXXXXX"
        ServerName XXXXXXX
        ServerAlias XXXXXX
        ErrorLog "logs/XXXXXX-error.log"
        CustomLog "logs/XXXXXXX-error.log" combined  
    </VirtualHost>

    需要修改的,就是<VirtualHost>中的参数了。这个可以参见apache官方文档。根据实验域名,可以增加两个<VirtualHost>:

    复制代码 代码如下:
    <VirtualHost *:80>
        ServerAdmin adm@test1.net
        DocumentRoot "C:/xampp/htdocs1/test1.net"
        ServerName test1.net
        ServerAlias www.test1.net
        ErrorLog "logs/test1-error.log"
        CustomLog "logs/test1-access.log" combined

        <Directory "C:/xampp/htdocs1/test1.net">
        order allow,deny
        allow from all
        </Directory>   
    </VirtualHost>
    <VirtualHost *:80>
        ServerAdmin adm@test2.net
        DocumentRoot "C:/xampp/htdocs1/test2.net"
        ServerName test2.net
        ServerAlias www.test2.net
        ErrorLog "logs/test1-error.log"
        CustomLog "logs/test1-access.log" combined

        <Directory "C:/xampp/htdocs1/test2.net">
        order allow,deny
        allow from all
        </Directory>   
    </VirtualHost>

    注意,如果不在各VirtualHost中定义Directory的可访问性,你将遇到的是Access Forbidden!就连原来的localhost也是。

    4. 由于之前注释掉了httpd.conf中的ServerName, DocumentRoot等,为了仍然能以localhost访问原XAMPP欢迎页,就在增加一个VirtualHost,如下 -

    复制代码 代码如下:
    <VirtualHost *:80>
        ServerAdmin adm@localhost
        DocumentRoot "C:/xampp/htdocs"
        ServerName localhost

        ErrorLog "logs/localhost-error.log"
        CustomLog "logs/localhost-access.log" combined

        <Directory "C:/xampp/htdocs">
        order allow,deny
        allow from all
        </Directory>