Apache 2.4、Fedora 22 上 Symfony2 的权限问题:app.php、app_dev.php、config.php 上的 500 响应

Permissions issue with Symfony2 on Apache 2.4, Fedora 22: 500 response on app.php, app_dev.php, config.php

我在本地机器上 运行 几个站点进行开发,并决定在我的下一个项目中使用 Symfony。

我在 /var/www/hfs 下创建了一个新的 symfony 项目;我已将所有权更改为 $USER,将权限更改为 755,并因此创建了一个虚拟主机:

<VirtualHost *:80>
    ServerName hfs.local
    ServerAlias www.hfs.local

    DocumentRoot /var/www/hfs/web

    <Directory /var/www/hfs/web>
        Require all granted

         <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ app.php [QSA,L]
        </IfModule>
    </Directory>

    ErrorLog /var/log/httpd/hfs_error.log
    CustomLog /var/log/httpd/hfs_access.log combined
</VirtualHost>

访问 hfs.local、/app.php、/app_dev.php 和 /config.php 所有 return 500 错误。对应的错误日志信息为:

[Sat Sep 12 18:55:54.871088 2015] [:error] [pid 7182] [client 127.0.0.1:35725] PHP Warning:  Unknown: failed to open stream: Permission denied in Unknown on line 0
[Sat Sep 12 18:55:54.871140 2015] [:error] [pid 7182] [client 127.0.0.1:35725] PHP Fatal error:  Unknown: Failed opening required '/var/www/hfs/web/app.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0

我已经仔细检查过,据我所知(相对较差,只在 LAMP 堆栈中真正工作了 ~4 个月)所有文件都应该可供 apache 用户访问。我什至在绝望中尝试了 777

-rwxrwxrwx. 1 tyler  tyler  1182 Jul 31 08:45 app_dev.php
-rwxrwxrwx. 1 tyler  tyler 10784 Jul 31 08:45 apple-touch-icon.png
-rwxrwxrwx. 1 tyler  tyler  1014 Sep 12 19:35 app.php
drwxrwxrwx. 2 tyler  tyler  4096 Sep 12 17:09 bundles
-rwxrwxrwx. 1 tyler  tyler  5746 Jul 31 08:47 config.php
-rwxrwxrwx. 1 tyler  tyler    82 Sep 12 18:03 .directory
-rwxrwxrwx. 1 tyler  tyler  6518 Jul 31 08:45 favicon.ico
-rwxrwxrwx. 1 tyler  tyler  3320 Jul 31 08:45 .htaccess
-rwxrwxrwx. 1 tyler  tyler   106 Jul 31 08:45 robots.txt

我 运行 其他三个单位 php 应用程序正常。此外,正因如此,我检查过 /usr/share/pear 确实是全局可读的。

不确定我在权限方面做错了什么,但我已经四次检查了 symfony 文档,尝试将目录的所有权更改为 apache 用户,并且,如果相关,在使用 AllowOverride All 时,我' m 告诉无法访问 .htaccess 文件——尽管具有全局读取权限。

非常感谢您的帮助,我已经花了几个小时进行研究,但没有找到任何帮助!感觉很菜鸟

编辑:就其价值而言,我在 Debian 安装上进行设置没有遇到任何问题,在其他方面是相同的。

作为特别是 Fedora 的新手,我还没有遇到过 SELinux。更多需要学习的东西:)

我有点天真地把命令塞进了我的shell,感觉成功的滋味是如此接近。它是这些命令的组合:

chcon -R -t httpd_sys_content_t hfs
chcon -R -t public_content_rw_t hfs/app/cache
chcon -R -t public_content_rw_t hfs/app/logs
setsebool -P allow_httpd_anon_write 1

Setting permissions in Fedora Apache/PHP

Apache 403 error, (13)Permission denied: access to / denied, Fedora 16

Permission issue in cache and logs folder in Symfony 2.0