さまざまなWebサイトを閲覧して、この問題に1週間悩まされていますが、これがうまくいかないようです。
Apache2がインストールされており、Wordpress Webサイトが/home/<user>/www
のユーザーのフォルダーにあります。
これでウェブサイトはすべて動作しますが、wordpress(Apacheのような)と同様に、ウェブインターフェイス(および書き込みアクセスを必要とするもの-設定の変更、メディアのアップロードなど)からプラグインをインストールすることはできません。それらのファイルへの書き込みアクセス権はありません。
/home/<user>/www
ディレクトリとその下のすべては、ユーザーとグループ<user>
に属します。
すでに複数のソリューションを試しましたが、次のような解決策はありませんでした。
/home<user>/www
の所有者をwww-data:www-data
に変更しています。申し分なく-正直なところ、私はそれを望んでいないので、この解決策を試しませんでした。サーバー上のすべてのユーザーに対してこれを行うと、ユーザーはすべてのフォルダーにアクセスできますが、他のユーザーではなくホームフォルダーにのみアクセスできるようにする必要があります。
www-data
をユーザーのグループに追加しています。これはうまくいくかもしれないと思ったが、どうやらうまくいかないようだ。 www-data
ユーザーは実際にユーザーのグループ(idコマンドで確認)に属しますが、まだ機能していないようです。
ユーザーのホームディレクトリにACLを設定します。それもし、www-data
rwxにホームディレクトリへのアクセス権を与えましたが、それでも助けにはなりませんでした。
興味がある場合は、/home/<user>/
ディレクトリとその下のすべてのファイル/ディレクトリに775のアクセス許可があります。
申し分なく、それで苦労し続けた後、私は最終的に私のために働く解決策に出くわした。
これが私がしたことです:/home/dummy
にあるホームフォルダでdummy
という新しいユーザーを作成したとしましょう/home/dummy/www
にある彼のWebプレゼンテーション専用のフォルダー。
Sudo chgrp -R www-data /home/dummy/www
を使用して、www
ディレクトリのグループとそのすべてのコンテンツをwww-data
(Webアクセス用のApacheのデフォルトユーザー)に変更します。Sudo chmod -R g+wrxs /home/dummy/www
を使用して、指定されたディレクトリとそのコンテンツに対するグループwww-data
の書き込み、読み取り、実行の許可を与えます。ここでのimportantの部分はs
部分です。これにより、グループ(www-data
)がsパラメーターでディレクトリ内に作成されたファイルの所有権を確実に引き継ぎます。ユーザーdummy
をグループに追加する必要はまったくありません。
将来、誰かが私と同じ問題に遭遇した場合に役立つことを願っています。
編集:いくつかの追加テストの後、これだけでは十分ではないようです。上記の2つの手順とは別に、wordpress構成ファイルにdefine('FS_METHOD', 'direct');
を追加して、wordpressのファイル操作方法を明示的に指示する必要もあります。
また、より厳密な権限設定については、DigitalOceanの buntuでLAMPを使用してWordPressをインストールする方法 ガイドのステップ5を参照してください。