私はPHPサイトを実行するためにApacheを使用してphp-fpmに接続するcentos 6サーバーを持っています。私は/home/user1のようなWebサイトのルートディレクトリとしてユーザーのホームディレクトリを使用します。一方、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がグループになるようにします。
私の質問は、apache:apacheの代わりにディレクトリユーザー所有者(user1:user1)を使用してファイルを生成するようにphp-fpmを設定できることです。
答え1
ApacheでsuPHPモジュールを使用して、PHPスクリプトを実行するためのユーザー権限を指定できます。この記事を読むことができます http://blog.secaserver.com/2012/02/linux-install-configure-apache-suphp/
答え2
www.conf の代わりに pool.d ディレクトリに site.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と通信できるように、ソケットの場所と権限も一貫していることを確認してください。