Apache2 在 Ubuntu 14.04 上更改本地主机目录

Apache2 在 Ubuntu 14.04 上更改本地主机目录

全新安装 Ubuntu 后,我尝试更改localhostApache2 (2.4.7) 的目录。一如既往,这并不简单,而且现在还不起作用。

以下是我目前所做的:

$sudo apt-get install apache2

然后在 /etc/apache2/apache2.conf 中:

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

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

<Directory /home/louisro/Documents/www>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Require all granted
</Directory>

在/etc/apache2/sites-enabled/000-default.conf中:

#DocumentRoot /var/www/html
DocumentRoot /home/louisro/Documents/www

在/etc/apache2/sites-available/000-default.conf中:

#DocumentRoot /var/www/html
DocumentRoot /home/louisro/Documents/www

然后

$ sudo chmod go+r /home/louisro/Documents/www
$ sudo chown -R louisro:www-data /home/louisro/Documents/www

当我尝试通过浏览器访问本地主机时,我得到:

Forbidden

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

Apache/2.4.7 (Ubuntu) Server at localhost Port 80

日志显示:

$ cat /var/log/apache2/error.log
[Fri Jan 22 09:13:38.792577 2016] [core:error] [pid 12934:tid 140432965080832] (13)Permission denied: [client ::1:56772] AH00035: access to / denied (filesystem path '/home/louisro/Documents') because search permissions are missing on a component of the path

答案1

以下是解决问题的方法:

$ sudo chmod 745 /home/louisro/Documents ;
sudo chmod 745 /home/louisro ;
sudo chmod 745 /home

答案2

尝试改为apache2.conf

<Directory />
        Options FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>
<IfModule mod_userdir.c>
    UserDir enable louisro
    UserDir public_html
</IfModule>
<Directory /home/*/Documents/www>    
    Options +Indexes +Includes +FollowSymLinks +ExecCGI
    AllowOverride All   
    Require all granted
</Directory>

命令:

$ sudo chmod 755 /home/louisro/Documents/www
$ sudo chown -R louisro /home/louisro/Documents/www

.htaccess如果存在则删除并创建index.txt文件然后尝试访问http://localhost/index.txt

答案3

你缺少一个关键步骤。在修改默认的 DocumentRoot 后000-default.conf。要使它生效,你应该启用000-default.conf并重新启动 apache2。

sudo a2ensite 000-default.conf
sudo service apache2 restart

答案4

我解决的是:

首先,我授予了目录 root 的权限。在我的例子中,这个目录是:

/home/paulo/Documentos/服务器

我运行以下命令:

$ sudo chmod 777 -R /home/paulo/Documentos/SERVER

之后,我使用以下命令编辑了文件 apache2.conf:

$ sudo nano /etc/apache2/apache2.conf

在 apache.conf 中我更改了以下几行:

然后我编辑了 /etc/apache2/sites-available/000-default.conf 和 /etc/apache2/sites-enabled/000-default.conf 中的 000-default.conf 文件。我更改了以下几行:

DocumentRoot /var/www/html to DocumentRoot /home/paulo/Documentos/SERVER

最后,我使用以下命令重新启动了 apache:

sudo systemctl restart apache2

我真的希望这能在你的机器上运行;

相关内容