Ubuntu 12.10 Forbidden - 你没有权限访问/在这台服务器

Ubuntu 12.10 Forbidden - 你没有权限访问/在这台服务器

问题描述:

我想配置我的本地服务器,就像我总是做但不工作一样,说我没有任何借口,但如果我给对www文件夹的相同权限保持不变,如果我指向这个文件夹www,如果它工作我不明白?Ubuntu 12.10 Forbidden - 你没有权限访问/在这台服务器

如果我不这样说:它的工作原理

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

drwxr-xr-x 2 root root  4096 nov 6 15:27 www 

,但如果我这样做:不起作用

DocumentRoot /home/diego/web_server 
<Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
</Directory> 
<Directory /home/diego/web_server> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
</Directory> 


drwxr-xr-x 2 root root 4096 mar 4 15:40 web_server 

我做错了吗?

+0

'/ home/diego'有什么权限? apache能列出那个目录吗? – Wrikken 2013-03-04 22:52:16

在Ubuntu 12.10的Apache中,你应该在/ etc/apache2/envars中有一个envars文件。用户:组web服务器按照envars中的设置运行。如果您更改了文档,您需要适当地在该新的文档根目录上设置权限。机会是在你的环境中你的Apache2安装作为www-data:www-data运行。如果是这样,您需要为新的docroot和将写入该dir结构的任何用户设置权限。

在/etc/apache2/apache2.conf中,您会在文件中间找到以下几行。

#These need to be set in /etc/apache2/envars 
    User ${APACHE_RUN_USER} 
    Group ${APACHE_RUN_GROUP} 

在/ etc/apache2的/ envars你会发现

export APACHE_RUN_USER=www-data 
export APACHE_RUN_GROUP=www-data 

您可以分配不同的用户:集团envars或指定的WWW的数据目录的权限。

这与之前在httpd.conf中完成的方式不同。

+0

我不明白,因为它应该设置呢?执行一个干净的安装,但我没有这个问题,除非这个目录,看看机器,没有它,我可以做一些不使用它,如在其他机器? – user987055 2013-03-04 23:47:40

+0

我很抱歉,但我不明白你的评论。我的回答是基于你的OP和你的Vhost配置。我相信你有权限问题,因为你在/ home/diego/web_server上的非标准文档。这些目录权限设置不正确。由于您尝试使用您的主目录,请尝试将您的用户添加到www-data组并重新登录。 – apesa 2013-03-04 23:55:51

+0

它工作,我改变出口APACHE_RUN_USER = diego出口APACHE_RUN_GROUP = diego,和chown diego:diego web_server/-R和/etc/init.d/apache2 restart – user987055 2013-03-05 00:01:35