我的设置

我的设置

我最近切换到 Linux,并尝试自己设置 LEMP,我已经管理了大部分内容,但是我现在遇到了无法修复的权限问题。本地 WordPress 站点无法上传任何文件。

我的设置

  • php-fpm 以我的用户身份运行
  • nginx 以 nginx 用户身份运行
  • 站点存储在/home//Websites/example.com

这仅用于本地开发。

/home/my-user drwxr-xr-x
/home/my-user/网站 drwxrwxr-x
/home/my-user/Websites/example.com drwxrwxr-x
/home/my-user/Wbsites/example.com/ wp-内容 drwxrwxr-x

全部归 my-user:my-user 所有

除了上传之外,该网站正在运行。


编辑:问题似乎来自 SELinux。仍然不确定要启用什么来修复上传问题。

答案1

该问题与文件系统权限无关,但似乎是 selinux 阻止了对上传文件夹的写入访问。

首先将selinux 设置为宽容模式。要执行此操作,请以 root 身份运行:

setenforce 0

然后通过运行以下 return 检查命令是否已正确应用Permissive

getenforce

现在应该可以将文件上传到本地上传文件夹。完成后,检查 selinux 日志中是否有错误。日志文件位于 /var/log/audit/audit.log。

您上传文件夹的安全上下文很可能是错误的。检查以下输出:

ls --context

您需要确保上传文件夹中具有正确的安全上下文。该文件夹应该具有httpd_sys_rw_content_t允许 Web 服务器写入该目录的上下文。

答案2

尝试将上传目录设置为777,然后上传文件。然后您将看到哪个用户正在创建文件。

当您看到这一点时,您可以将该目录更改为该用户并设置适当的权限。

在我的 LAMP 系统上,整个 wordpress 树归 www-data:www-data 所有。

设置完毕后,我还可以更新/安装 WordPress 插件。

相关内容