Apache2 / Debian 9 的写入权限被拒绝

Write permission denied on Apache2 / Debian 9

我有一个 VPS 和 apache2 php-fpm 运行ning prestashop,它已经工作了很多年,但突然之间,prestashop 遇到了权限问题。

Apache 的用户和组设置为 "www-data" 与 www 文件夹中的所有文件和文件夹相同。所有权限都设置为 755 和 644,但 cache/smarty(必须将它们设置为 777,以便商店可以继续工作。)

我已经检查过这是一个权限问题,因为 prestashop 无法从后台重新生成 .htaccess 文件(除非我将其设置为 777)。

我不确定要检查什么或我能为您提供什么。欢迎任何帮助。谢谢大家的宝贵时间。

编辑

我一直在检查 "apache2" 的流程,所有流程都是由 www-data 运行 提供的。

Steadweb 告诉我检查 php-fpm,似乎就是这个问题。但我不确定在哪里更改它。

已在 Debian 9.7 上测试,编辑以下文件:

/etc/php/7.0/fpm/pool.d/www.conf

并找到以下内容,其中声明了 user / group。更新如下:

...
user = www-data
group = www-data

您需要重新启动 apache / php-fpm 进程

ressystemctl restart php7.0-fpm apache2

备注

  • 这是不好的做法,因为您正在为 php-fpm 开放权限。我会确保特定目录/文件具有写权限。
  • 将您的网站目录设置为您的用户的所有权 chown -R user:www-data /path/to/website
  • 使用以下命令为您的网站设置目录/文件的权限
cd /path/to/website
find -type d -exec chmod 750 {} \;
find -type f -exec chmod 644 {} \;
  • 然后,打开特定 个需要可写权限的文件/目录。