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

Bre*_*ing 25 apache ubuntu laravel

我升级到Ubuntu 13.10.最初在更新后运行apache时,有丢失/损坏的文件,所以我只是重新安装了apache.我备份了vhost文件.

尝试从浏览器访问我的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>
Run Code Online (Sandbox Code Playgroud)

同样重要的是要注意我的.htaccess文件没有丢失,并且自从该站点在13.04上工作以来没有被更改.

更新:

我现在有apache的主机设置工作,但现在浏览器显示index.php的实际代码,这意味着apache由于某种原因没有使用php.我刚刚检查过php是否安装了,为什么apache不会认出来呢?

fid*_*per 53

Apache2可能也已升级到版本2.4,有几点需要注意.

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

$ apache2 -v
Run Code Online (Sandbox Code Playgroud)

如果是这样,你的vhost需要一些调整:

第一:+/-选项:

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

更改:

Options Indexes FollowSymLinks MultiViews
Run Code Online (Sandbox Code Playgroud)

至:

Options +Indexes +FollowSymLinks +MultiViews
Run Code Online (Sandbox Code Playgroud)

第二:允许/拒绝

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

更改:

Order allow,deny
Allow from all
Run Code Online (Sandbox Code Playgroud)

至:

Require all granted
Run Code Online (Sandbox Code Playgroud)

有关从Apache 2.2升级到2.4的更多信息.