web-dev-qa-db-fra.com

Laravel et Apache2: 403 interdits

J'essaie de déployer mon application Laravel dans Apache2 localement, mais lorsque j'essaie de naviguer jusqu'à http://myapp.localhost.com/, l'erreur suivante s'affiche:

Forbidden

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

Apache/2.4.7 (Ubuntu) Server at myapp.localhost.com Port 80

J'ai créé myapp.conf dans /etc/Apache2/sites-available pour configurer l'hôte virtuel:

<VirtualHost *:80>
  ServerName myapp.localhost.com
  DocumentRoot "/home/user/projects/myapp/public"
  <Directory "/home/user/projects/myapp/public">
    AllowOverride all
  </Directory>
</VirtualHost>

Et créé un lien symbolique dans /etc/Apache2/sites-enabled (Sudo ln -s ../sites-available/myapp.conf)

A également modifié le fichier /etc/hosts et ajouté:

127.0.0.1   myapp.localhost.com

Une idée de la raison pour laquelle je reçois cette erreur? J'ai également le même problème lorsque j'essaie de déployer l'application sur heroku, qui utilise également Apache2.

2
dabadaba

Il me manque le

Options Indexes FollowSymLinks Includes ExecCGI

dans votre myapp.conf. Depuis Apache-2.4, mod_authz_Host est utilisé et Require (exemple Require all granted) doit être utilisé.

Au fait ... ceci:

Vous n'êtes pas autorisé à accéder à/sur ce serveur.

Je me souviens d'Apache comme valeur par défaut lors de l'utilisation de httpd.conf. Êtes-vous sûr que les sites-*/* sont utilisés?

1
Rinzwind

Dans votre VirtualHost, écrivez DocumentRoot pour qu'il pointe vers votre application Laravel dans vos répertoires personnels. De plus, vous devez ajouter le répertoire indiqué ci-dessous, avec votre propre chemin.

<Directory /home/john/Laravel_Projects/links/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
        Require all granted
</Directory>

La deuxième étape consiste à accéder à votre projet Laravel et à exécuter la commande suivante.

Sudo chmod -R 777 storage bootstrap/cache

A la fin, redémarrez votre Apache2:

Sudo service Apache2 restart
0
Ioannis Chrysochos