首页 > 解决方案 > RHEL7 上的 Web 服务器权限

问题描述

前提:我对如何在基于 LAMP 堆栈和 tomcat 的 Ubuntu 上安装和部署 Web 应用程序有足够的了解。现在我正在尝试使用 RedHat7,但我遇到了一些问题。

我在 RHEL7 服务器上的 /var/www/html/ 目录下有一个 Web 应用程序。我可以访问有登录表单的索引页面。此登录调用执行 db 调用的 php 页面。在这种情况下,我的 /var/log/httpd/app1_error.log 文件中有一个错误:

PHP 致命错误:未捕获的 PDOException:SQLSTATE[HY000]:一般错误:8 次尝试在 /var/www/html/[omiss]loginPortal.php:82 中写入只读数据库\n堆栈跟踪:\n#0 /var/www /html/[omiss]/loginPortal.php(82): PDO->exec('DELETE FROM use...')\n#1 {main}\n 抛出 /var/www/html/[omiss]/ loginPortal.php 在第 82 行,引用:

似乎php页面对数据库没有足够的权限。数据库是一个 sqllite3 数据库。我知道在 REHL7 中我没有 www-data 用户组,而是使用 apache 用户和组,所以我的 web 目录有 apache 组,我给予 777 权限(我知道它不安全,我只是在尝试找出问题)。尽管获得了 777 许可,但我仍然遇到同样的问题。有人有提示吗?

如果有帮助,这是我的 ls -lZ 命令输出

drwxrwxrwx。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 myApp

所以我认为 httpd_sys_content_t 是正确的 SELinux 上下文

标签: phpapacherhelrhel7

解决方案


我终于得到了对我有用的解决方案:基本上

setenforce Permissive

参考:stackoverflow 上的 Apache 权限

谢谢大家


推荐阅读