将 php-fpm 用户和组设置为网站所有者

将 php-fpm 用户和组设置为网站所有者

我有一个 centos 6 服务器,它使用 apache 连接 php-fpm 来运行 php 站点,我使用用户的主目录作为网站根目录,例如 /home/user1, 。另一方面,php-fpm www.conf,用户和组行我设置为apache。

因此,当 php 写入或创建文件(例如 /home/user1/var/log/file)时,它将使用 apache:apache 作为所有者。然后我需要在 /home/user1/var/log/“chmod -R ug+s ”运行命令。让 php 创建一个文件作为 apache:user1 而 user1 是组

所以我的问题是,可以设置 php-fpm 使用目录用户所有者(user1:user1)而不是 apache:apache 创建文件

答案1

您可以使用 Apache 中的 suPHP 模块来指定用户权限来运行 PHP 脚本。你可以看看这篇文章 http://blog.secaserver.com/2012/02/linux-install-configure-apache-suphp/

答案2

在 pool.d 目录中创建 site.conf 文件,而不是 www.conf。

然后您可以为每个站点设置一个用户:

user  = myuser
group = $user

你也可以做

site  = $pool
group = $pool 

如果您的用户名是site.example.com(对于 devops 来说很方便)。

但考虑到您可能需要

site  = $pool
group = httpd

或者

group = www-data

(在 Debian 上)如果您希望 apache 读取池创建的文件,例如图像上传,如果您使用最低权限。

确保您的套接字位置和权限也一致,以便 apache 可以与 php_fpm 通信。

相关内容