VPSをセットアップし、必要なものをすべてインストールしただけで、問題なく動作します。問題は、私がそれを自動的にアップデートして、私がftpなしでプラグインをインストールできるようにしたいということです。これは私の設定です:
chgrp -R
)を "wordpress"に変更しました。私はまた新しいファイルが "wordpress"グループに属するようにフォルダに "chmod g + s"を実行しました。上記のすべてではまだ新しいプラグイン(そしておそらくテーマやアップデート)をインストールすることはできませんが、ファイルの所有者を "wordpress"に変更すればすべて問題ありません。 "ユーザー"にファイルを所有させることは不可能なので、sftpでファイルをアップロードする場合、chown
は必要ありません。
TL; DR
nginx/php-fpmを実行しているグループと同じグループに属し、それでもプラグインをインストールできるユーザーがWordPressファイルを所有することは可能ですか?
編集:
詳しい情報:
先頭のnginx.confにはuser wordpress wordpress
が含まれ、pool.d/www.conf
にはuser = ilyesnl
group = ilyesnl
の2行が含まれます。また、両方のプロセスがユーザーwordpress
によって実行されていることも確認しました。
WordPressは、それが作成したファイルの ファイル所有者 が getmyuid によって返される値と同一であることを明確にチェックします。
つまり、WordPressファイル自体の所有者とは異なる所有者を使用してファイルを作成しても、「直接」モードは使用されません。
同じグループでは不十分です。 WordPressが書き込むファイルは、WordPressファイル自体と同じ所有権を持っている必要があります。そうしないと、FTP許可などの他の方法を試みることになります。 PHPプロセスは、実際にWordPressファイルを所有しているのと同じユーザーとして実行されている必要があります。
したがって、PHPが "wordpress"として実行されていても、ファイルが "user"によって所有されている場合は、代わりにFTPのものが使用されます。
これに対するテストはget_filesystem_method()
関数です。