设置Silex Bootstrap时出现Apache错误:无法检查htaccess文件

时间:2012-12-17 20:18:30

标签: apache .htaccess

我正在尝试使用Silex Bootstrap建立一个网站。 我把它放在我的文件夹中与其他Web项目一起,并在Apache配置中更改了DocumentRoot。

<Directory /folder/to/silex_projects/web>
     Options Indexes FollowSymLinks MultiViews
     AllowOverride All
     Order allow,deny
      allow from all
</Directory>

但是我无法打开框架的索引页面,Apache给出了:

  

[2012年12月17日星期一21:10:52] [暴击] [客户端127.0.0.1](13)权限被拒绝:/ folder / to / slax_project / web / .htaccess pcfg_openfile:无法检查htaccess文件,确保它是可读的

我用chmod a+r -R chmod了整个项目文件夹。同一文件夹中的其他项目与.htaccess文件一起正常工作。

.htaccess文件确实存在。

4 个答案:

答案 0 :(得分:30)

chmod 755 -R /silex_project/解决了我的问题。我仍然不知道为什么Apache需要写权限才能工作。

答案 1 :(得分:19)

这可能是因为运行Apache的用户对目录没有eXecute权限。还需要读取其中的文件。 chmod a+rx /folder/to/silex_projects可能已经解决了您的错误。

你的chmod 755 -R并没有通过提供写访问来解决这个问题,但是因为这恰好也会添加eXecute。

答案 2 :(得分:2)

除了发布的其他答案之外,在这种情况下除了可以咬你之外的其他东西是SELinux(如果它已启用),如果你正在更改从分发“默认”位置访问文件的任何内容。

修复是为目录/文件的selinux添加适当的策略,或者如果你不想运行selinux安全性,则禁用它。

答案 3 :(得分:1)

我也有这个错误并且发现这个好的参考(13)Permission denied: /home/username/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

查看域名时,如果看到“禁止访问”错误,请检查您的apache日志: 在/ var /日志/的httpd / error_log中 /var/log/httpd/domains/domain.com.error.log

并看到错误:

[crit] [client 1.2.3.4] (13)Permission denied: /home/username/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

这意味着apache对您的/ home / username目录没有读取权限。

原因可能是权限相关,配置相关或所有权相关。

Apache以用户“apache”运行,因此该用户或组的目录必须为+ x。

1)从DirectAdmin 1.38.0开始,我们实现了secure_acccess_group功能,该功能将/ home / user(对于Users)设置为chmod 750和chown username:access。 apache用户将位于“访问”组中。要确认这一点,请键入以下内容:

[root@server]# grep ^access: /etc/group
access:x:506:apache,nobody,mail,majordomo,daemon

你应该得到类似于显示的输出。

如果您获得一个空白的用户列表,则访问组存在,但为空。要正确填充组(在RedHat / CentOS / Debian系统上),请键入:

usermod -G access apache
usermod -G access nobody
usermod -G access mail
usermod -G access majordomo
usermod -G access daemon

在FreeBSD系统上,创建组的命令是:

pw groupadd -n access -M apache,nobody,mail,majordomo,daemon

但这意味着该组尚不存在。在FreeBSD上没有看到这种情况,因此很可能不需要。