安装失败:无法创建目录-CentOS 7

时间:2018-05-06 作者:Kyle Martin

我花了6个多小时试图完成5分钟的安装。我已经在Google上搜索了一次又一次,但还没有找到任何能解决我问题的方法,所以希望这里有人能帮我。

我安装了Wordpress(使用these instructions). 安装按预期进行。然而,我现在无法安装或卸载任何插件或主题。我的服务器没有FTP(我打算保持这种方式),所以我使用define(\'FS_METHOD\',\'direct\'); 在里面functions.php.

我在CentOS 7上使用Nginx,所以我设置/usr/share/nginx/html (递归)到nginx:nginx. 该目录是Wordpress安装的位置。我还将我的目录设置为chmod 755 和文件到chmod 644, 每一个我能在网上找到的知名资源。据我所知,根据我在网上找到的信息,这些东西应该可以让它发挥作用,但问题仍然存在。

我需要做什么来修复文件权限?

我知道我可能会被标记为重复,但我向你保证,我已经尝试了在谷歌和本网站上找到的所有合理想法。仅供记录:

Chmod 777对一切都不起作用-R 在chown和chmod命令中,是的,我已多次重新启动服务器

1 个回复
最合适的回答,由SO网友:Kyle Martin 整理而成

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.

结束

相关推荐

Nginx+WordPress子域多个,核心在子目录中

我安装了WordPressthat works perfectly on a Apache server. 我目前正在改变我的托管公司(新的一家提供NGinx)和我的开发堆栈(转移到vvv)。Here is how the install is set-up:它是一个Wordpress子域多站点安装,核心在一个子文件夹(/wp-app/)中,wp内容在另一个子文件夹(/wp-app-content/)中,当然还有我的索引。php,wp配置。php和。根文件夹中的htaccess以及这两个文件夹。Here