当前位置: 首页>>技术教程>>正文


升级到Ubuntu 13.10后,laravel项目的Apache出现403错误

, ,

问题描述

我已升级到Ubuntu 13.10。首先,在更新后运行apache时,文件丢失/损坏,因此我只是re-installed apache。我备份了虚拟主机文件。

尝试从浏览器访问我的Laravel项目时,出现403错误。我已经多次更改了根文件夹的权限,但是仍然被禁止。我不认为这是Laravel问题,因为我已经在13.04上修复了该问题,并且我使用的是相同的文件。

这是我的000-default.conf文件,位于/sites-enabled和/sites-available中。自安装以来,我的apache2.conf文件未更改。

<VirtualHost *:80>
    DocumentRoot /home/brennan/development/MasonACM/public

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /home/brennan/development/MasonACM/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined
</VirtualHost>

还应该注意,我的.htaccess文件不丢失,而且自该站点在13.04上运行以来未更改,这也应该很重要。

更新:

我现在可以使用apache的主机设置,但是现在浏览器正在显示index.php的实际代码,这意味着apache由于某种原因未使用php。我刚刚检查了php是否已安装,那么为什么Apache无法识别它?

最佳思路

Apache2可能也已升级到版本2.4,并且需要注意一些事项。

首先,您现在有Apache 2.4.x +吗?通过运行检查:

$ apache2 -v

如果是这样,您的虚拟主机需要进行一些调整:

第一:+/-选项:

一些Options参数需要+/-语法。 Read more here。在某些指令上混用+/-时,这可能尤其重要(请阅读上一个链接以了解更多信息)。

更改:

Options Indexes FollowSymLinks MultiViews

至:

Options +Indexes +FollowSymLinks +MultiViews

第二:允许/拒绝

Apache现在通过mod_authz_host进行访问控制

更改:

Order allow,deny
Allow from all

至:

Require all granted

有关upgrading from Apache 2.2 to 2.4的更多信息,请点击这里。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8197.html,未经允许,请勿转载。