【问题标题】:How to create more than one document root in apache2如何在apache2中创建多个文档根
【发布时间】:2011-08-12 04:29:30
【问题描述】:

我想在apache2中创建一个虚拟主机,但是我希望它把源文件放在/var/www文件夹之外,即我需要在配置文件中包含另一个文档根目录,但是我通过编辑实现了它apache/sites-available/default 文件,但我知道它不是正确的实现方式,有人可以提出正确的实现方式吗?

感谢和问候,

巴拉

【问题讨论】:

    标签: apache2 document root


    【解决方案1】:

    您可以在sites-available 文件夹中创建一个新文件(例如myvirtualhost),然后在sites-enabled 中创建一个符号链接。文件和符号链接可以有任何名称。

    在新文件中创建一个新的虚拟主机定义:

    <VirtualHost *:80>
        DocumentRoot /path/to/your/webapplication
        ServerName abc.local
    </VirtualHost>
    

    如果您仅在本地部署应用程序以进行测试,则将服务器名称设置为 .local 域(例如 abc.local)就足够了,在这种情况下,您应该编辑 /etc/hosts 文件并添加一个新行,例如。

    127.0.0.1 abc.local
    

    如果您想让新的虚拟主机在互联网上可用,您需要确保您已向您的提供商注册了一个有效的 DNS 名称(例如 webapplication.mydomain.com)。

    基本上就是这样。但是,您可能希望在虚拟主机定义中添加一些指令来控制对资源的访问。

    【讨论】:

    • 天哪,为什么其他答案没有提到主机文件是个谜
    【解决方案2】:

    您可以转到您的 httpd.conf 文件(位于 conf 目录中的 apache 配置文件)。然后找到一行写着:

    # Virtual hosts
    #Include conf/extra/httpd-vhosts.conf
    

    然后像这样取消注释第二行:

    # Virtual hosts
    Include conf/extra/httpd-vhosts.conf
    

    转到同样位于 conf 文件夹中的“额外”文件夹。您将看到名为“httpd-vhosts.conf”的文件

    编辑虚拟主机示例中的文件:

    <VirtualHost *:80>
        ServerAdmin webmaster@dummy-host.localhost
        DocumentRoot "...full path to you new root folder for this site...."
        ServerName yourwebsite.com
        ServerAlias www.yourwebsite.com
        ErrorLog "logs/newpath.error.log"
        CustomLog "logs/newpath.access.log" common
    </VirtualHost>
    

    但这是非常简单的解决方案,请阅读更多关于虚拟主机的内容,但它应该为您指明正确的方向

    【讨论】:

      猜你喜欢
      • 2021-01-07
      • 1970-01-01
      • 2010-12-11
      • 2019-02-28
      • 2018-02-15
      • 1970-01-01
      • 2013-03-02
      • 2018-03-19
      相关资源
      最近更新 更多