如何在apache2中创建多个文档根目录

时间:2011-04-25 07:34:54

标签: apache2 document root

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

感谢和问候,

巴拉

2 个答案:

答案 0 :(得分:8)

您可以在myvirtualhost文件夹中创建新文件(例如sites-available),然后在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)。

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

答案 1 :(得分:1)

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

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

然后取消注释第二行:

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

转到位于conf foler中的“额外”文件夹。您将看到名为“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>

但这是一个非常简化的解决方案,请在虚拟主机上阅读更多内容,但它应该指向正确的方向