Lau*_*Dem 5 linux apache-http-server permissions ubuntu
我使用的是 Ubuntu 14.04,并且 Apache 配置有问题:
我创建了一个符号/var/www/html链接/home/me/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>
Run Code Online (Sandbox Code Playgroud)
我把它改成了<Directory /var/www/html>,但没有结果。
我尝试使用此命令添加me用户,但这也没有帮助www-data groupsudo usermod -a -G groupName userName
我错过了什么?
编辑:我将组更改/home/me/myWebDirectory为具有 rx 权限的 www-data,但也没有成功......
正如我所说,我很清楚我遇到了阅读权限问题,因为这也sudo -u www-data ls /home/me/myWebDirectory给我返回了权限被拒绝的信息(这意味着 www-data 无权查看其中的内容)。
但我需要你的回答中的某些观点更清楚:
另外,您应该使用 url“localhost/html”而不是“localhost/myWebDirectory”。
实际上我已经制作了如下符号链接:
cd /var/www/html ln -s /home/user/me/myWebDirectory myWebDirectory所以我认为访问localhost/myWebDirectory是正确的地址,不是吗?
chown -R www-data:www-data /var/www/html
/var/www/html,为什么我应该更改它的所有者(像许多其他守护进程一样,默认为根)。/localhost/testfile.html工作正常(理解测试文件位于/var/www/html)/localhost/phpmyadmin也可以工作,即使它是一个符号链接/usr/share(而我试图有一个符号链接/home/user......)chmod +r /var/www/html # 给目录添加读权限
chmod +r /var/www/html/* # add read permission to files in dir
Run Code Online (Sandbox Code Playgroud)
注意:
我知道还有另一种方法可以做到这一点,同时激活 apache mod_userdir,这可能就是我接下来要做的。但首先我想了解如何使这个“简单”的解决方案发挥作用......
该问题的存在是因为缺少读取权限。执行:
# chmod +r /var/www/html # add read permission to dir
# chmod +r /var/www/html/* # add read persmission to files in dir
# chown -R www-data:www-data /var/www/html
Run Code Online (Sandbox Code Playgroud)
另外,您的房子使用 url“localhost/html”而不是“localhost/myWebDirectory”。