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