0

したがって、「デプロイ」ユーザーのボックスがあります。この deploy ユーザーはコード リポジトリを所有しており、wordpress はこのボックスで実行されています...

wordpress がプラグインのアップロードなどを行おうとすると、ユーザー「www-data」を使用して「wp-content/plugins」に書き込みます。どうやら、zip ファイルをアップロードし、アーカイブを解除してから、zip ファイルを削除しています。

wordpressがこれらのことを実行できないという問題に遭遇し続けました..コードリポジトリ全体が所有者とグループ「展開:展開」に設定されているため、明らかにwww-dataはこれにアクセスできません。

そこで、私の最初の試みは www-data を deploy グループに追加することでした。

usermod -a -G deploy www-data

このコマンドを発行した直後に、ボックスに ssh できなくなったことに気付きました.. 理由について完全に混乱しています. だから私はやった:

chmod -R go-w ~

そして、再びsshできます...「groups www-data」を実行すると、オプションの1つとして展開が示されました。 、そして彼らはそうしました...ダブルホーレイ、それは完全に機能するはずです!

しかし、いいえ... プラグインをアップロードしようとすると失敗します。

かなり面倒だったので、Apache の設定に入り、APACHE_RUN_USER と GROUP を「デプロイ」に変更しました。

問題は解決しました... 並べ替え。メインユーザーとしてApacheを実行するという考えを除けば、私はひどいと思います。

とにかく、この変更を行った後、プラグインのアップロードは成功し、次のようになりました。

drwxr-xr-x 8 deploy deploy 4096 Oct 22 21:28 wp-crm

つまり、このグループには書き込みアクセス権がありません。おそらくこれは、これが失敗した理由のヒントだと思いました...しかし、それが deploy で書き込みを行っているという事実は、実際にはヒントではないことを意味します... deploy の umask がどのように設定されているか..だと思います...

だから...私は解決策が何であるかについて迷っています...

wp-content グループを www-data にする必要がありますか?

それとも、ここで何か他のものを見逃していますか?

4

0 に答える 0