web-dev-qa-db-fra.com

Erreur 403 sur Apache pour un projet Laravel, après la mise à niveau vers Ubuntu 13.10

Je suis passé à Ubuntu 13.10. Au début, lors de l'exécution d'Apache après la mise à jour, il y avait des fichiers manquants/endommagés. J'ai donc simplement réinstallé Apache. J'ai sauvegardé le fichier vhost. 

Lorsque j'essaie d'accéder à mon projet Laravel à partir du navigateur, une erreur 403 se produit. J'ai modifié les autorisations du dossier racine plusieurs fois, mais cela est toujours interdit. Je ne crois pas qu'il s'agisse d'un problème laravel, car je l'ai déjà corrigé le 13.04 et j'utilise les mêmes fichiers.

Voici mon fichier 000-default.conf, situé dans/sites-enabled et/sites-available. Mon fichier Apache2.conf est inchangé depuis l'installation.

<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>

Il est également important de noter que mon fichier .htaccess n'est pas manquant et qu'il n'a pas été modifié depuis que le site fonctionnait le 13.04.

METTRE À JOUR:

Les paramètres de l'hôte d'Apache fonctionnent maintenant, mais le navigateur affiche le code actuel de index.php, ce qui signifie qu'Apache n'utilise pas php pour une raison quelconque. Je viens de vérifier que php était installé, alors pourquoi Apache ne le reconnaîtrait-il pas?

23
Brennan Hoeting

Apache2 a peut-être également été mis à niveau vers la version 2.4 et vous devez tenir compte de quelques points.

Tout d’abord, avez-vous Apache 2.4.x + maintenant? Vérifiez en exécutant:

$ Apache2 -v

Si tel est le cas, votre vhost a besoin d’être ajusté:

D'abord: +/- sur les options:

Certains paramètres Options nécessitent la syntaxe +/-. _ { Lire la suite ici } _. Cela peut être particulièrement important lorsque vous mixez +/- sur certaines directives (lisez le lien précédent pour en voir plus).

Changement:

Options Indexes FollowSymLinks MultiViews

à:

Options +Indexes +FollowSymLinks +MultiViews

Deuxième: Autoriser/Refuser

Apache effectue maintenant le contrôle d'accès via mod_authz_Host

Changement:

Order allow,deny
Allow from all

à:

Require all granted

Quelques informations supplémentaires ici sur mise à niveau d'Apache 2.2 vers la version 2.4 .

52
fideloper

J'ai eu le même problème, pour une raison quelconque, redémarrer Apache avec Sudo a fait la différence. Les mods réécrire et mcrypt sont-ils sains?

2
Staple

J'ai eu un problème où dans le fichier de routes (web.php) j'avais deux routes (le même lien) mais une action de contrôleur différente La deuxième action était vide c'est pourquoi il était vide.

Par exemple:

Route::get('/route', 'Controller@firstAction');
Route::get('/route', 'Controller@secondAction');
0
Petar Vasilev