更改 apache2 默认站点目录时出错

更改 apache2 默认站点目录时出错

我的系统是 Ubuntu 14.04 64 位。

我安装了 apache&SQL&php,我想将默认站点目录从 更改为/var/www//home/smile/Documents/public_sites/所以我改了三个步骤:

步骤1:sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysite.conf 将 中的 DocumentRoot 更改mysite.conf为指向/home/smile/Documents/public_sites/html

步骤 2:更改 中的 Directory 指令/etc/apache2/apache2.conf,将其替换<Directory /var/www/><Directory /home/smile/Documents/public_sites/>

步骤 3 sudo a2dissite 000-default && sudo a2ensite mysitesudo service apache2 restart

但是,当我检查时http://localhost/,出现了以下错误:

Forbidden

You don't have permission to access / on this server.
Apache/2.4.7 (Ubuntu) Server at localhost Port 80

这是错误日志:

[Fri Nov 21 11:01:56.740805 2014] [core:error] [pid 18485] (13)Permission denied: [client 127.0.0.1:48186] AH00035: access to / denied (filesystem path '/home/smile/Documents/public_sites/') because search permissions are missing on a component of the path

这是我针对 mysite.conf 更改的部分:

#DocumentRoot /var/www/html
DocumentRoot /home/smile/Documents/public_sites/html

对于 apache2.conf:

<Directory />
    Options FollowSymLinks 
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<Directory /home/smile/Documents/public_sites/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

答案1

您需要在/etc/apache2/apache2.conf

找到如下内容的部分:

<Directory /usr/share/or_whatever >
Allow override none
Require all granted
</Directory>

其中granteddenied是此目录的显式权限。如果没有此指令,默认情况下将拒绝和non-standard之外的所有内容。/var/www/html/usr/share

您所做的其他一切似乎都是正确的,同时确保在修改这些配置更改后重新加载并重新启动 apache2(有时它们很顽固)

sudo service apache2 reload
sudo service apache2 restart

有点粗鲁,但为了确保万无一失,我只是想养成习惯。

祝你好运!

相关内容