【问题标题】:apache - 403 forbidden阿帕奇 - 403 禁止
【发布时间】:2012-11-30 12:14:52
【问题描述】:

所以我正在尝试将我的文件上传到我的 Ubuntu 服务器上的本地 apache。我安装了 apache2,现在一直被 403 禁止。

我一直在寻找一些答案,以了解为什么到目前为止在 stackoverflow 和其他地方,它没有产生任何结果。

/etc/apache2 中的文件是:apache2.conf(这个很大)、evvars、magic、ports.conf 和 httpd.conf(这个是空的,里面什么都没有)。

一旦我解决了这个问题,有点离题,但我可以改变它,而不是输入本地 ip 地址或本地主机,这样我就可以输入类似 mysite.local/index.php 的内容?

【问题讨论】:

  • 添加你的error.log的最后10行
  • 它说日期,然后是错误,然后是客户端 (13) 权限被拒绝:访问“*dir*/file.php”被拒绝。它说的一样,除了“文件不存在”一遍又一遍地重复。
  • apache 用户所在的用户是一个变量,如 ${APACHE_RUN_USER} 和 ls -l 表示目录上的 linuxuser:linuxuser。它说只有 drwx 后跟很多破折号(对不起,它在另一个虚拟机上,无法复制。目录中的所有文件/文件夹都有相同的 linuxuser:linuxuser。
  • 它说 www-data,我现在将尝试将所有权更改为该用户。好的,所以目录的所有者是 www-data:linuxuser 但我仍然无法从我的主计算机访问它。 (403)
  • @rekire 您对可能出现的问题有任何想法吗?

标签: apache2


【解决方案1】:

如果我猜对了,您尝试访问的目录可以通过网络访问。

您需要一个<Directory> 指令,它允许 apache 访问该目录:

<Directory /your/path>
  Order Deny,Allow
  Deny from All
</Directory> 

httpd.conf 为空是正常的。它已被弃用,因此您不应使用它。

如果您使用 linux,还请检查您的 apache 用户是否可以访问该目录:
用户通常在/etc/apache2/envvars 文件中的export APACHE_RUN_USER=www-data 行中定义。因此,如果 apache 在用户 www-data 下运行,则用户 www-data 应该可以访问该目录,或者最好直接拥有该目录/文件。

【讨论】:

    【解决方案2】:

    在将静态文件夹上传到 apache 文件夹后,我遇到了同样的问题。但是有些文件无法在浏览器中访问,出现403错误。

    检查并修复@rekire提到的文件权限和httpd.conf文件后,问题仍然存在。

    最后,我阅读了http://www.petefreitag.com/item/793.cfm 的帖子并做了以下操作:

    chcon -R --reference=/var/www /path/to/webroot

    然后问题就解决了。

    我使用的是 CentOS 服务器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      • 2011-02-25
      相关资源
      最近更新 更多