我正在使用 Ubuntu 14.04,并且遇到了 apache 配置问题:
我在/var/www/html
(Ubuntu 14.04 以来的 apache DocRoot)中创建了一个符号链接/home/me/myWebDirectory
cd /var/www/html
ln -s /home/me/myWebDirectory myWebDirectory
但localhost/myWebDirectory
呈现
403-权限被拒绝
事实上,sudo -u www-data ls /home/me/myWebDirectory
也会返回权限被拒绝
apache2.conf 有以下指令:
<Directory /var/www>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我把它改成了<Directory /var/www/html>
但没有结果。
我尝试使用以下命令添加me
用户www-data group
但也没有帮助:
sudo usermod -a -G www-data me
我错过什么了?
编辑:我将组更改/home/me/myWebDirectory
为具有 rx 权限的 www-data,但也没有成功......
注意1:我知道还有另一种方法可以做到这一点,同时激活 apache mod_userdir,这可能就是我接下来要做的事情。但首先我想了解如何使这个“简单”的解决方案发挥作用……
注意2:我也知道我可以创建一个 VirtualHost 等等,但是同样,我首先想了解为什么这个简单的(第一个和临时的)解决方案不起作用......
答案1
说到权限,我认为你搞反了。添加用户me
没有www-data
帮助,你应该将 Apache 的用户添加到me
用户组。
此外,如果您仅更改了 的组权限,而组无法访问 ,/home/me/myWebDirectory
则这是不够的。请确保同组的用户可以进入目录本身。/home/me
www-data
www-data
/home/me
如需更详细的方法,请查看POSIX ACL。
答案2
apache2 需要能够从目录路径的开头读取
sudo chgrp www-data /home/username
将组 www-data 添加到用户名
sudo useradd -g www-data username
并注销并登录...与我合作
如果仍然不起作用,请使用
sudo chgrp www-data /home/username
尝试注销并重新登录...应该可行