Laravel и apache2: 403 запрещено

Я пытаюсь развернуть приложение Laravel в apache2 локально, однако при попытке перейти к http://myapp.localhost.com/ Я получаю следующую ошибку:

Forbidden

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

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

я создал myapp.conf в /etc/apache2/sites-available настроить виртуальный хост:

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

И создал символическую ссылку в /etc/apache2/sites-enabled (sudo ln -s ../sites-available/myapp.conf)

Также отредактировал /etc/hosts файл и добавил:

127.0.0.1   myapp.localhost.com

Любая подсказка, почему я получаю эту ошибку? У меня также возникает та же проблема при попытке развернуть приложение в heroku, который также использует apache2,

2 ответа

Решение

Я скучаю по

Options Indexes FollowSymLinks Includes ExecCGI

в вашем myapp.conf. Начиная с Apache-2.4 используется mod_authz_host и Require (пример Require all granted) должен быть использован.

Кстати... это

У вас нет разрешения на доступ к / на этом сервере.

Я помню из apache по умолчанию при использовании httpd.conf. Вы уверены, что sites-*/* используются?

В вашем VirtualHost напишите DocumentRoot, чтобы он указывал на ваше приложение Laravel в ваших домашних каталогах. Кроме того, вы должны добавить каталог, показанный ниже, со своим собственным путем.

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

На втором этапе вы должны перейти в свой проект Laravel и выполнить следующую команду.

sudo chmod -R 777 storage bootstrap/cache

В конце перезапустите ваш apache2:

sudo service apache2 restart
Другие вопросы по тегам