SELinux是问题所在。由于没有更好的术语,它的强制执行是覆盖文件权限并阻止Wordpress写入任何文件。
为了解决这个问题,我做了以下工作:
Check if SELinux is enabled:
# getenforce
如果响应为“强制”,则启用SELinux,这可能是您的问题。
为了更好的衡量,让我们继续ensure that the file permissions are correct:
# cd /path/to/wordpress/
# find . -type d -exec chmod 755 {} \\;
# find . -type f -exec chmod 644 {} \\;
在这些命令中,我们导航到存储Wordpress的目录,然后根据Wordpress设置文件权限
File Permissions help article.
在我们继续之前,我们需要lock down all SELinux enforcement for the entire Wordpress directory. 这确保我们没有任何杂散漏洞:
# chcon -t httpd_sys_content_t /path/to/wordpress/ -R
接下来,我们需要
set SELinux to allow the appropriate write access:
# cd /path/to/wordpress/
# chcon -t httpd_sys_rw_content_t wp-config.php
# chcon -t httpd_sys_rw_content_t wp-content -R
注意,我们允许写访问(
rw
) 对于wp配置文件和wp内容目录,以递归方式执行。
完成所有这些步骤后,重新启动Nginx并在浏览器中访问Wordpress。您现在应该能够成功地安装/删除插件和主题。
Note: DO NOT DISABLE SELINUX ALTOGETHER. Only modify the enforcement as listed above. Disabling SELinux is a major security vulnerability.