Нажмите "Enter" для перехода к содержанию

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

0

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:

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

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

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

sudo chown -R www-data: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`;

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

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

Синтаксис здесь очень простой. Это обычный массив 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

<VirtualHost *:80>
ServerName laravelapp.ru
ServerAdmin [email protected]
DocumentRoot /var/www/sites/laravelapp/public
<Directory “/var/www/sites/laravelapp/public”>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog $/error.log
CustomLog $/access.log combined
</VirtualHost>

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

sudo a2ensite laravelapp

sudo systemctl restart apache2

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

sudo vi /etc/hosts

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

Конфигурация веб-сервера 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, на котором создаются многие серьёзные проекты. На данный момент достаточно востребован на рынке и очень интересен в использовании, так как реализует многие стандартные шаблоны проектирования.

Нет похожих записей

alt=”Creative Commons License” width=”” />
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *