Apache'您无权访问此服务器上的xx'

时间:2013-03-11 01:43:27

标签: ubuntu apache2

我正在使用ubuntu 12.04和apache(两者都是新的),我想添加一个新的虚拟目录,所以我修改了文件/etc/apache2/sites-available/default,添加了以下内容:

Alias /docs/ "/home/kk/workspace/javascript/maplib/"
<Directory "/home/kk/workspace/javascript/maplib/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
</Directory>

然后我在浏览器中打开网址http://localhost/docs/,我收到以下消息:

You don't have permission to access /docs/ on this server.

然后我认为它可能是由文件/文件夹权限引起的。所以我通过以下方式将read渗透添加到所有用户:

sudo chmod a+r /home/kk/workspace/javascript/maplib/

然后我跑

ls -ld ~/workspace/javascript/maplib/ 

我得到了这个:

drwxr--r-- 14 kk kk 4096 Mar 11 08:36 /home/kk/workspace/javascript/maplib/

正如您所看到的,每个用户都有read访问该目录的权限,但没有任何更改(我也收到了403消息)。

然后我尝试找到/var/www的许可,然后我得到:

drwxr-xr-x 2 root root 4096 Mar  8 15:33 /var/www

它似乎只是将execute权限添加到该文件夹​​,但我认为这不是问题。

那是怎么回事?


顺便说一下,为什么apache会用两个不同的网址识别/docs/docs/?由于我会404获得localhost/docs

1 个答案:

答案 0 :(得分:2)

在Apache安装中,使用etc / apache2 / envars控制访问,并在etc / apache2 / apache2.conf中实现

在/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 

您希望Web服务器访问的目录需要位于运行Web服务器的组中。我会说检查组权限并在必要时修复它们。如果您已正确返回这些设置并发布Apache访问日志。