Разработка Laravel на AWS EC2


Я пытаюсь развернуть проект laravel 5.1 на облачном сервере AWS EC2, и у меня проблема с URL-адресами маршрутов веб-сайта laravel.

Я выполнил следующие команды для настройки сервера EC2 ubuntu 14.04 LTS.

sudo apt-get install apache2
sudo apt-get install mysql-server php5-mysql
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
sudo apt-get install php5 php-pear
sudo apt-get install curl php5-curl php5-cli git
sudo a2enmod rewrite
sudo php5enmod mcrypt
sudo service apache2 restart

При попытке доступа к URL-адресам любого маршрута возникает следующая ошибка, но моя домашняя страница загружается правильно.

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /register was not found on this server.</p>
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at xxxx.ap-southeast-2.compute.amazonaws.com Port 80
</address>
</body></html>

Я изменил URL-адрес маршрута apache на общедоступную папку моего проекта laravel без какого-либо успеха. Также я попытался включить следующее файл виртуального хоста, но все равно получил ту же ошибку.

<VirtualHost *:80>  
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/mynewhost/public
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost>

Я выполнил следующую команду, чтобы предоставить разрешение папке хранения

 chmod -R 777 storage

Нужно ли мне предоставлять какие-либо разрешения для моей папки проекта laravel?

Ценю любую помощь.

Author: WPS2, 2015-10-31

1 answers

Это моя конфигурация для Laravel 5.1 в Ubuntu 14.04

Возможно, вам потребуется включить механизм перезаписи

sudo a2enmod rewrite

Если это не сработает, вы можете изменить конфигурацию виртуального хоста на что-то вроде этого

<VirtualHost *:80>

        ServerName laravel.example.com
        DocumentRoot /var/www/html/mynewhost/public

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/html/mynewhost/>
                AllowOverride All
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Дополнительно добавьте имя сервера в /etc/hosts

<your-server-ip-address> laravel.example.com
 1
Author: Saad, 2015-11-04 21:30:02