Не удалось установить приложение Laravel для EC2

У меня есть проект Laravel, который работает на моем локальном хосте. Я развернул его в EC2, но ничего не вышло. Все, что я вижу в консоли dev, это внутренняя ошибка (500).

Что мне не хватает? Что мне нужно изменить перед развертыванием в AWS? Вот URL: http://ec2-52-88-99-75.us-west-2.compute.amazonaws.com

Вот файл httpd.conf: http://collabedit.com/sdcxm

После установки Laravel вам может потребоваться настроить некоторые разрешения. Каталоги в хранилище и каталоги начальной загрузки / кэши должны быть доступны для записи на вашем веб-сервере. – http://laravel.com/docs/master#configuration

Папка «Хранилище» Laravel и папка «bootstrap / cache» нуждаются в доступе как от пользователя командной строки (тот, который запускает обновление компоновщика и т. Д.), Так и для пользователя веб-сервера по умолчанию (www-data), если вы используете ubuntu на своем EC2 пример.

Следующие три команды гарантируют, что оба они имеют права на это. Запустите их в корне вашего проекта

HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` sudo setfacl -R -mu:"$HTTPDUSER":rwX -mu:`whoami`:rwX storage bootstrap/cache sudo setfacl -dR -mu:"$HTTPDUSER":rwX -mu:`whoami`:rwX storage bootstrap/cache 

Это должно начать отображать конкретные ошибки, которые можно отлаживать. Также убедитесь, что опция debug установлена ​​как true в app.php

 yourproject/config/app.php 'debug' => true, 

Также убедитесь, что у вас есть файл .env по умолчанию, который определяет среду в корне проекта.

 yourproject/.env //should have this APP_ENV = dev 

Кроме того, если вы используете сеансы и т. Д., Убедитесь, что у вас есть сгенерированный ключ, используя эту команду, и не имеет config / app.php, установленный как

'key' => env ('APP_KEY', 'SomeRandomString'),

 yourproject/config/app.php php artisan key:generate 

Одной из распространенных ошибок для новых экземпляров Amazon EC2 является назначение группы безопасности вашему экземпляру, который не имеет портов 80 и 443, разрешенных как входящие. Проверьте свою группу безопасности экземпляра EC2 и разрешите эти порты в группе, если они еще не были.

Это сработало для меня:

 [root@example-laravel-server ~]# chown -R apache:apache /var/www/laravel/laravel/storage