注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

有情况

学会慢生活,拥有平常心……

 
 
 

日志

 
 

Ubuntu下更改 Apache DocumentRoot到用户目录,出现 403 错误  

2011-10-23 11:32:44|  分类: 网站相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Ubuntu下更改 Apache DocumentRoot到用户目录,出现 403 错误

403 Forbidden
Forbidden
You don’t have permission to access / on this server

多数情况下,这个消息的出现多数是由于DocumentRoot 的相关配置错误

# 这一部分定义网站或虚拟主机的根目录
DocumentRoot /var/www

# 这个一部分给出前面定义根目录的访问权限和所有特性,因此,两部分的变更是同步的

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

我将 DocumnetRoot 定义的目录更改为 /home/user/public_html(假定用户名为user),<Directory…部分也作出相应的更改,按照以往的经验,这样就已 经可以了。但是在Ubuntu Server10.04上遭遇了403 Forbidden。按我的想法<Directory…部分就是赋予访问网站的用户访问/home/user/public_html目录的权限, 这又是哪里的权限限制了?由于想不到别的可能性,所以“Google it”。

综合搜索结果最有力的说法是赋予 /home/user/public_html Apache 运行用户 www-data 的组权限:

$sudo chown user:www-data /home/user/public_html

然而故障依旧,查阅了很多英文论坛的帖子,多数是这个说法,我有点无助了。最后决度自己仔细分析,由于仍然可以肯定是目录访问权限的问题,是不是 Ubuntu给了 /var/www 特定的权限,或者是给 /home/user 目录设定了特殊的权限。于是我尝试将 DocumentRoot 定义到 /usr/www 来测试是否给了 /var/www 特定的权限,没有收到403错误,因此排除,然后才想到查阅 /home/user 的权限

ls -ld /home/user

反馈的权限是700,原来新装Ubuntu 除了 root 用户外,第一个默认用户 user 被设为私有用户,其他用户(包括Apahe的运行用户 www-data )没有进入 /home/user 的权限,即使我将/home/user/public_html赋予给 www-data 组,也会收到 403。

我想到的解决办法有二:

一是赋予其他用户进入 /home/user 目录的权限
sudo chmod a+x /home/user

二是新建一个普通用户(不属于 admin 组),专门用于存放虚拟主机的文档,通过adduser新建的用户默认 home 目录的权限为 755 ,自然不会出现上述问题。

因为默认安装的用户 user 在admin组,可以使用 sudo 命令,开放目录保护提高了风险,而新增的普通用户不存在这个问题,因此个人考虑第二种方法更加实用。不知道你们有没有更适当的办法。

  评论这张
 
阅读(660)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016