【问题标题】:docker PHP-APACHE "You don't have permission to access / on this server”docker PHP-APACHE “您无权访问此服务器上的 / ”
【发布时间】:2016-10-18 05:23:12
【问题描述】:

我正在使用 apache 和 php 的官方 docker 镜像:https://hub.docker.com/_/php/(5.6-apache 标签)

我正在像这样启动容器:

docker run -d -p 80:80 --name apache-php56 -v "/home/myUser/www":/var/www/html php:5.6-apache

当然,我所有的代码都在“/home/myUser/www”中

当我在一个有索引的目录中时,似乎 apache 很好地显示了页面。但是,如果我在没有索引的目录中,apache 会告诉我我没有访问权限。 当没有带有“名称上次修改大小描述”的索引时,我希望 apache 向我显示“经典”视图,并且我可以浏览直到找到索引。

我很确定这是默认 apache2.conf 中的一个简单配置,它禁止我,但我不知道是哪个。

提前致谢。

【问题讨论】:

  • 我想这接近问题所在。在我的 apache2.conf 中有: DirectoryIndex disabled AND DirectoryIndex index.php index.html。我删除了禁用的 DirectoryIndex,但我仍然被禁止:(
  • 您需要在进行更改后重新启动 apache2 进程,因为您似乎没有将自己的配置添加到容器中,但这可能会停止容器。理想情况下,您希望复制包含更改的文件,然后将配置文件作为卷安装在更新配置的正确位置,以便使用它而不是默认值。
  • 这就是我所做的。修改文件后,我重新启动了 apache(它重新启动了容器)。我再次启动它,检查 apache2.conf(该行不再存在)但它仍然不起作用。

标签: php apache docker


【解决方案1】:

在使用 docker 时,我的 symfony 项目遇到了同样的问题。问题是 web 文件夹中缺少 .htaccess 文件。 你可以自己创建一个,或者如果你使用 symfony,你可以用 composer 安装 symfony/apache-pack。 可以在symfony documentation for web server

中找到一个示例 .htaccess

【讨论】:

    猜你喜欢
    • 2015-10-07
    • 2017-05-14
    • 1970-01-01
    • 2019-02-16
    • 2017-05-11
    • 2013-06-30
    • 2019-02-22
    相关资源
    最近更新 更多