为什么我不能让Apache2从/ var / www以外的目录提供站点服务?

布鲁斯·惠顿

我有一个在VirtualBox环境中运行的Ubuntu 12.04服务器。我在Windows系统上设置了一个共享文件夹,并且在我将PHP从5.3.x更新到5.5.12之前,它一直运行良好。我使用了新的php源,因为apt-get似乎没有让我升级到5.3.x以上。在此过程中,它还升级了apache2。我最初忽略的一个区别是,vhost配置文件不再是默认文件或mysite。现在默认为000-default.conf。并且apache2.conf仅设置为加载带有以.conf结尾的配置文件的站点。

问题不是我遇到了任何禁止的错误,而是apache忽略了任何指令,告诉它在/ var / www位置以外的地方使用文档根目录。我与VirtualBox的共享目录是/ media / sf_sandbox /-这是Ubuntu目录。我禁用了默认站点000-default.conf并启用了另外两个站点。现在,sandbox.dev使用var / www目录中的文件,而不是共享目录中的文件。它忽略sandbox.conf文件中的指令。

我读到某个地方,默认情况下,Apache仅会提供/ var / www目录中的文件,而且我可能必须将其他目录列入白名单。它没有说怎么做。apache2.conf文件确实具有从sites-available目录中加载* .conf文件的指令。不幸的是,它只是忽略了告诉其根目录在我的站点上的指令。将PHP从5.3.x升级到5.5.12后也发生了这种情况,PHP也从apache2升级了。

如何将其他目录列入白名单并告诉apache从指定位置提供文件?

贾科莫1968

首先,这确实属于Server Fault就是说,你问这个:

如何将其他目录列入白名单并告诉apache从指定位置提供文件?

没有Apache的“白名单”之类的东西。它可以从系统上的任何位置提供内容。即使您有一套,DocumentRoot也可以随时使用AliasApache是​​灵活的。

因此,您似乎要面对的是配置问题。而已。没什么。只要找到配置文件并根据需要进行调整,一切都应该很好。

意思是,当您运行此命令清单时,您看到什么sites-available

ls -la /etc/apache2/sites-available

与以下命令对比sites-enabled

ls -la /etc/apache2/sites-enabled

的内容sites-available是实际的配置文件。中的项目sites-enabled只是指向中文件的符号链接sites-available所以当你这样说:

现在默认为000-default.conf。

您可能会感到困惑。因为000-default.confinsites-enabled只是一个指向其中的符号链接defaultsites-available所以Apache实际上是从中读取配置的。例如,sites-available我所在的Ubuntu 12.04服务器上的内容是:

ls -la /etc/apache2/sites-available

-rw-r--r-- 1 root root  913 Apr 15 16:15 default
-rw-r--r-- 1 root root 7469 Feb 14  2012 default-ssl

然后sites-enabled是:

ls -la /etc/apache2/sites-enabled

lrwxrwxrwx 1 root root   26 Jan 11  2013 000-default -> ../sites-available/default

请注意,基本上000-default只是一个符号链接../sites-available/default/etc/apache2/sites-available/default

过去,您需要提供更多详细信息或查看配置的位置。您甚至可以尝试运行此命令来查看您的活动Apache服务器当前正在管理哪些虚拟主机:

须藤apachectl

编辑:好像原来的海报没有000-defaultsites-enabled这样可以通过新的符号链接来解决,如下所示:

sudo ln -s /etc/apache2/sites-available/default /etc/apache2/sites-enabled/000-default

然后使用a重新启动Apache,sudo service apache2 restart然后重试。希望这是问题所在。并注意,将作为符号链接default进入000-default,其原因是要重命名sites-enabled以确保这是加载的第一个配置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么 Apache2 不能在 /var/www/html/ 之外寻找 PHP 文件?

来自分类Dev

为什么将apache2 www目录移至/ var / www / html?

来自分类Dev

我需要“ / var / www”,但是Apache2尝试使用空的“ / var / www / html”

来自分类Dev

如何让 Apache 服务器指向 /var/www/html 目录

来自分类Dev

我的/ var / www目录已满

来自分类Dev

/var/www/ 多个网站中的 Apache2 权限

来自分类Dev

当主域位于/ var / www中时,Apache2读取主文件夹目录

来自分类Dev

Apache错误(AH01276),无法提供目录/ var / www / project /:

来自分类Dev

Apache错误(AH01276),无法提供目录/ var / www / project /:

来自分类Dev

如何访问存储在apache服务器中var / www / html目录之外的音频文件?

来自分类Dev

为什么无法将网页保存到我的/ var / www目录中?

来自分类Dev

为什么我不能让netcat与我的Rails服务器对话?

来自分类Dev

Symlink / var / www目录

来自分类Dev

Symlink / var / www目录

来自分类Dev

缺少/ var / www目录

来自分类Dev

Apache如何找到/ var / www

来自分类Dev

在Apache的/ var / www下的子目录上启用CORS

来自分类Dev

为什么在这段代码中我不能让 indexOf() 等于 0 以外的任何值?

来自分类Dev

Ubuntu apache 中的 DocumentRoot 是 /var/www/html 那么为什么 apache2.conf 的一部分会说“<Directory /var/www/>”

来自分类Dev

启动apache2时出错“无法访问目录'/ var / log / apache2 /'的主要错误日志”

来自分类Dev

如何设置apache2的权限以允许用户在/ var / www /中创建或编辑文件

来自分类Dev

找不到/ var / www目录

来自分类Dev

为什么`rm -f!(/ var / www / wp)`在/ var / www中留下文件?

来自分类Dev

Apache无法访问/ var / www / html

来自分类Dev

为什么apache2服务器不工作,当我检查状态时,它显示以下内容!:(

来自分类Dev

为什么我的 Apache2 .htaccess 文件 CORS 标头导致 500 内部服务器错误?

来自分类Dev

/ var / www / html和网站文档根目录的我自己的主目录的权限问题

来自分类Dev

/ var / www / html和网站文档根目录的我自己的主目录的权限问题

来自分类Dev

为什么未在apache2 Web服务器中添加目录?

Related 相关文章

  1. 1

    为什么 Apache2 不能在 /var/www/html/ 之外寻找 PHP 文件?

  2. 2

    为什么将apache2 www目录移至/ var / www / html?

  3. 3

    我需要“ / var / www”,但是Apache2尝试使用空的“ / var / www / html”

  4. 4

    如何让 Apache 服务器指向 /var/www/html 目录

  5. 5

    我的/ var / www目录已满

  6. 6

    /var/www/ 多个网站中的 Apache2 权限

  7. 7

    当主域位于/ var / www中时,Apache2读取主文件夹目录

  8. 8

    Apache错误(AH01276),无法提供目录/ var / www / project /:

  9. 9

    Apache错误(AH01276),无法提供目录/ var / www / project /:

  10. 10

    如何访问存储在apache服务器中var / www / html目录之外的音频文件?

  11. 11

    为什么无法将网页保存到我的/ var / www目录中?

  12. 12

    为什么我不能让netcat与我的Rails服务器对话?

  13. 13

    Symlink / var / www目录

  14. 14

    Symlink / var / www目录

  15. 15

    缺少/ var / www目录

  16. 16

    Apache如何找到/ var / www

  17. 17

    在Apache的/ var / www下的子目录上启用CORS

  18. 18

    为什么在这段代码中我不能让 indexOf() 等于 0 以外的任何值?

  19. 19

    Ubuntu apache 中的 DocumentRoot 是 /var/www/html 那么为什么 apache2.conf 的一部分会说“<Directory /var/www/>”

  20. 20

    启动apache2时出错“无法访问目录'/ var / log / apache2 /'的主要错误日志”

  21. 21

    如何设置apache2的权限以允许用户在/ var / www /中创建或编辑文件

  22. 22

    找不到/ var / www目录

  23. 23

    为什么`rm -f!(/ var / www / wp)`在/ var / www中留下文件?

  24. 24

    Apache无法访问/ var / www / html

  25. 25

    为什么apache2服务器不工作,当我检查状态时,它显示以下内容!:(

  26. 26

    为什么我的 Apache2 .htaccess 文件 CORS 标头导致 500 内部服务器错误?

  27. 27

    / var / www / html和网站文档根目录的我自己的主目录的权限问题

  28. 28

    / var / www / html和网站文档根目录的我自己的主目录的权限问题

  29. 29

    为什么未在apache2 Web服务器中添加目录?

热门标签

归档