2

我正在尝试配置我的本地服务器,就像我一直做但不工作一样,说我没有借口,但如果我给 www 文件夹相同的权限,如果我指向这个文件夹 www if它的工作原理我不明白?

如果我这样做:它有效

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 

我做错了吗?

4

1 回答 1

2

在 Ubuntu 12.10 上的 Apache 中,您应该在 /etc/apache2/envars 中有一个 envars 文件。Web 服务器正在运行的用户:组在 envars 中设置。如果您更改 documentroot,则需要适当地设置该新文档根目录的权限。很可能在您的环境中,您的 Apache2 安装运行为 www-data:www-data。如果是这样,您需要对新的 docroot 以及将写入该目录结构的任何用户设置权限。

在 /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 中分配不同的 User:Group 或为 www-data 分配目录权限。

这与过去在 httpd.conf 中完成的方式不同。

于 2013-03-04T23:00:46.023 回答