RHEL7 上的 Web 服务器权限
web server permission on RHEL7
前提:我对如何基于LAMP堆栈和tomcat在Ubuntu上安装和部署Web应用程序有足够的了解。现在我正在尝试使用 RedHat7,但遇到了一些问题。
我在 RHEL7 服务器的 /var/www/html/ 目录下有一个 Web 应用程序。我能够到达有登录表单的索引页面。此登录调用执行数据库调用的 php 页面。在这种情况下,我的 /var/log/httpd/app1_error.log 文件中有一个错误:
PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General
error: 8 attempt to write a readonly database in
/var/www/html/[omiss]loginPortal.php:82\nStack
trace:\n#0
/var/www/html/[omiss]/loginPortal.php(82):
PDO->exec('DELETE FROM use...')\n#1 {main}\n thrown in
/var/www/html/[omiss]/loginPortal.php on
line 82, referer:
似乎 php 页面对数据库没有足够的权限。数据库是一个sqllite3 db。我知道在 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 上下文
我终于得到了适合我的解决方案:基本上
setenforce Permissive
参考:Apache permission on Whosebug
谢谢大家
前提:我对如何基于LAMP堆栈和tomcat在Ubuntu上安装和部署Web应用程序有足够的了解。现在我正在尝试使用 RedHat7,但遇到了一些问题。
我在 RHEL7 服务器的 /var/www/html/ 目录下有一个 Web 应用程序。我能够到达有登录表单的索引页面。此登录调用执行数据库调用的 php 页面。在这种情况下,我的 /var/log/httpd/app1_error.log 文件中有一个错误:
PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /var/www/html/[omiss]loginPortal.php:82\nStack trace:\n#0 /var/www/html/[omiss]/loginPortal.php(82): PDO->exec('DELETE FROM use...')\n#1 {main}\n thrown in /var/www/html/[omiss]/loginPortal.php on line 82, referer:
似乎 php 页面对数据库没有足够的权限。数据库是一个sqllite3 db。我知道在 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 上下文
我终于得到了适合我的解决方案:基本上
setenforce Permissive
参考:Apache permission on Whosebug
谢谢大家