Установка Laravel в Ubuntu 18.04

Установка Laravel в Ubuntu 18.04


Laravel - это один из самых популярных фреймворков для разработки веб-приложений и веб-сайтов на PHP. Он объективно-ориентированный, соблюдает модель MVC, поддерживает работу с несколькими базами данных, а также имеет множество инструментов для развёртывания ваших приложений и для упрощения процесса разработки.


В этой статье мы разберём, как выполняется установка Laravel Ubuntu 18.04 с помощью утилиты composer. Это намного проще, чем скачивать исходникии и устанавливать их вручную. Но для работы фреймворка вам будет необходимо иметь установленную базу данных, например MariaDB, и веб-сервер, например Nginx или Apache. Подробнее про установку всех этих компонентов читайте в статье установка LAMP в Ubuntu  или как настроить веб-сервер на собственном компьютере.


Установка Laravel в Ubuntu 18.04


Пред тем, как мы перейдём непосредственно к установке, нам нужно ещё установить несколько компонентов. Сначала поставьте Composer, если его ещё нет:



sudo apt install composer

Я предполагаю, что интерпретатор php у вас уже установлен, но дополнительно нам понадобятся такие библиотеки:



sudo apt install php-mysql php-mbstring php-tokenizer php-xml php-json php-common

Теперь можно установить Laravel. Сначала перейдите в папку, где у вас будут находится веб-сайты. По умолчанию в Ubuntu это /var/www:



cd /var/www/sites

Для установки всего необходимого достаточно выполнить одну команду:



sudo composer create-project --prefer-dist laravel/laravel laravelapp



Словосочетание laravelapp замените на название проекта и папки, в которой будет расположен ваш новый проект. Утилита автоматически скачает сам фреймворк и все его зависимости. После завершения установки вам нужно только выставить правильные права на файлы фреймворка. Их владельцем должен быть тот пользователь, от имени которого запускается веб-сервер и php. По умолчанию это www-dаta:



sudo chown -R www-dаta:www-data laravelapp

Для полноценной работы фреймворка нужна база данных. В этом примере мы настроим базу данных MariaDB. Подключитесь к базе данных и создайте новую таблицу:



sudo mysql -u root -p


> CREATE DATABASE laravel;



Затем создайте пользователя для этой базы данных и дайте ему все права на неё:



> CREATE USER `laravel_user`@`localhost` IDENTIFIED BY 'password';

> GRANT ALL ON laravel.* TO `laravel_user`@`localhost`;



Далее обновите таблицу привилегий:



> FLUSH PRIVILEGES;

По умолчанию Laravel настроен на использование  нужной нам базы данных, но вам надо указать правильные параметры доступа к ней. Откройте файл config/database.php и найдите там секцию mysql:



vi config/database.php



Синтаксис здесь очень простой. Это обычный массив php, особенность здесь в том, что программа пытается брать нужную конфигурацию из переменных окружения с помощью функции env. Если переменная окружения не задана, то берётся второй аргумент. Его вам и следует изменить. Измените имя базы данных (database), имя пользователя (username) и пароль пользователя (password). Если база данных расположена на этом же хосте, адрес хоста и порт можно оставить как есть.


Настройка веб-сервера для Laravel


Осталось проверить, как всё работает. Вы можете запустить Laravel без внешнего веб-сервера, только средствами встроенной утилиты artisan:



php artisan serve



Эта команда запускает собственный веб-сервер, который доступен по адресу 127.0.0.1:8000:




Но такой подход не очень практичен. Обычно нам необходимо запускать веб-приложения в Apache или Nginx. В Apache никаких особых настроек не нужно. Достаточно создать виртуальный хост для директории, где находится laravel и включить для него поддержку AllowOverride. Например, создайте такой файл в директории sites-available:



sudo vi /etc/apache2/sites-available/laravelapp.conf




ServerName laravelapp.ru

ServerAdmin webmaster@localhost

DocumentRoot /var/www/sites/laravelapp/public
Options FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all
ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined





Здесь мы используем домен lavarelapp.ru и наши файлы расположены в директории /var/www/sites/laravelapp. Теперь нужно активировать этот сайт в apache:



sudo a2ensite laravelapp


sudo systemctl restart apache2

Домен laravelapp.ru виртуальный, он мне не принадлежит и вам, думаю, тоже, поэтому нужно добавить такую строчку в файл /etc/hosts, чтобы на локальной машине всё работало:



sudo vi /etc/hosts


127.0.01 laravelapp.ru

На производственном сервере просто указывайте реальный домен в настройках веб-сервера. Дальше ваш сайт будет доступен на выбранном домене:




Конфигурация веб-сервера Nginx выглядит немного по-другому. Здесь не поддерживаются файлы .httaccess, поэтому нам нужно включить перенаправение всех запросов на index.php в основном конфигурационном файле:



sudo vi /etc/nginx/sites-available/laravelapp.conf


server {

listen 80;

listen [::]:80;

server_name laravelapp.ru

root /var/www/sites/laravelapp/;

index index.php;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

}

Дальше вам нужно активировать этот сайт и перезапустить nginx. Также отметьте, что настройки php в nginx я здесь не привожу, но они тоже должны присутствовать.


Выводы


В этой небольшой статье мы разобрали, как выполняется установка laravel Ubuntu 18.04. Это очень мощный фремворк PHP, на котором создаются многие серьёзные проекты. На данный момент достаточно востребован на рынке и очень интересен в использовании, так как реализует многие стандартные шаблоны проектирования.


Добавить комментарий

Автору будет очень приятно получить обратную связь.

Комментариев 0