Apache2権限の問題

Apache2権限の問題

私はDocumentRootをに変更しました/home/user/www。これを達成するために、/etc/apache2/sites-available/defaultでパスの両方のエントリを変更しました。

/home/user/wwwの権限は0774です。 www-dataユーザーを私のユーザーグループに追加しました。その所有者/home/user/wwwは私のユーザーとグループ(ユーザー:ユーザー)です。

私はこれをしました:

sudo chmod -R 0774 www
sudo chown -R user:user www
sudo adduser www-data user

問題は、Apacheがディレクトリに書き込めないことです。 www-dataを所有者に設定した場合にのみ書き込みは可能ですが、そうするとそのディレクトリに書き込むことはできません。

権限をテストしました。

sudo -u www-data ls /home/user/www
sudo -u www-data cat /home/user/www/some-file

効果がある

しかし、私のWordPressではwwwファイルを削除または作成することはできません。どんなアイデアがありますか?

ベストアンサー1

所有者 www-data と www-data グループを使用して、www ディレクトリを /var/www に配置することをお勧めします。www-data グループにユーザーを追加

まず、Apache設定でDocumentRootなどを/var/wwwに戻します。

/ var / wwwディレクトリ(およびその中のすべてのサブディレクトリ)には、www-dataグループを使用してファイルとディレクトリを作成するようにgidを設定する必要があります。

次のコマンドはすべてrootとして実行するか、sudoを使用して実行する必要があります。

mkdir -p /var/www

/home/user/wwwに保存したいファイルがある場合は、今/var/wwwにアクセスしてください。

mv /home/user/www/* /var/www/

次に、/var/www ディレクトリの権限と所有権を変更します。

chown -R www-data:www-data /var/www
chmod -R 775 /var/www
find /var/www -type d -print0 | xargs -0r chmod g+s
adduser user www-data

次に、「ユーザー」がログイン(または実行newgrp www-data)したときに/ var / wwwに書き込み権限が必要です。

ところで、「ユーザー」がネットワークファイルを簡単に見つけることができるようにするには、ホームディレクトリにシンボリックリンクを作成します。

 ln -s /var/www/ /home/user/

おすすめ記事