私は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/