Apache Document Root添加了前导默认路径

时间:2014-06-18 21:23:44

标签: apache ubuntu

对于知道apache的人来说,这应该是一个非常简单的问题。

我有一台Ubuntu计算机,我用它作为我的服务器。我以前曾多次使用apache,但从未遇到过这个问题。

启用站点的文件夹中的my owncloud.conf文件如下所示:

1 <VirtualHost *:80>¬ 2 ServerName owncloud¬ 3 DocumentRoot "~/mybook/ownCloud"¬ 4 <Directory ~/mybook/ownCloud/>¬ 5 Options None¬ 6 Order deny,allow¬ 7 Allow from all¬ 8 </Directory>¬ 9 </VirtualHost>

但是在启用网站并重新启动apache之后,我收到了这个错误:

AH00112: Warning: DocumentRoot [/etc/apache2/~/mybook/ownCloud] does not exist

我一直在寻找,而且我似乎无法找到“/ etc / apache2 /”应该引导到站点配置文件的所有设置文档根目录的默认路径的位置。

有谁知道如何删除此默认设置?

1 个答案:

答案 0 :(得分:1)

忘记我对Mac的评论,你上面的内容是行不通的。如果您在Ubuntu上安装了Apache并接受了默认设置,则docroot是/ var / www,我假设您希望将/ mybook / ownCloud映射到docroot。这就是你应该这样做的原因,因为httpd将使用对真实docroot的组权限运行。这可以使用我下面的别名来完成。查看底部,但请注意我在映射任何内容之前在开头指定了正确的默认docroot。您可以更改docroot,但必须确保正确设置新目录结构的权限。

我将您的/ mybook / ownCloud /别名为ownCloud。另外,为了清楚起见,我还有其他指令从下面的网站启用代码中删除。

顺便说一下,我个人从未在像上面这样的Apache conf文件中使用过tildes,在启动过程中可能会让人感到困惑。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

  Alias /owncloud/ "/mybook/ownCloud"
    <Directory "/mybook/ownCloud">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

编辑: 还有其他方法可以配置VHost,但这基本上就是如何完成的。您不再在httpd.conf中设置服务器范围的docroot声明。 / etc / apache2 / path是服务器主页,并且在您的站点启用时没有docroot声明,它可能在httpd启动时默认为Server Home。