我已将我的 更改DocumentRoot
为/home/user/www
。为了实现这一点,我刚刚更改了 处的 路径的 2 个出现位置/etc/apache2/sites-available/default
。 的权限/home/user/www
为 0774。我已将 www-data 用户添加到我的用户组, 的所有者/home/user/www
是我自己的用户和组 ( user:user
)。
问题是 Apache 无法写入此目录。只有我将 www-data 设置为所有者时它才可以写入,但如果我这样做,我就无法写入该目录。
答案1
我已将 www-data 用户添加到我的用户组,并且的所有者
/home/user/www
是我自己的用户和组(user:user
)。
这样,您就授予了自己编辑 Apache 文件的权限。
你需要做的恰恰相反:赋予 Apache 编辑文件的权限:
sudo adduser www-data $USER
这样,您就可以/home/user/www
拥有$USER:$USER
:您将能够编辑文件,Apache 将能够编辑它们。
但这可能还不够。你说:
的权限
/home/user/www
是0774。
很好,但是:您首先必须确保/
、/home
和的模式位/home/user
正确。但这还不够:即使 Apache 可以访问/home/user/www
,您也需要确保它也可以访问目录内容。
如果你想进行实验并看看哪里出了问题,请尝试:
sudo -u www-data ls /home/user/www
sudo -u www-data cat /home/user/www/some-file
sudo -u www-data touch /home/user/www/some-file