Установка 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:
Для установки всего необходимого достаточно выполнить одну команду:
sudo composer create-project —prefer-dist laravel/laravel laravelapp
Словосочетание laravelapp замените на название проекта и папки, в которой будет расположен ваш новый проект. Утилита автоматически скачает сам фреймворк и все его зависимости. После завершения установки вам нужно только выставить правильные права на файлы фреймворка. Их владельцем должен быть тот пользователь, от имени которого запускается веб-сервер и php. По умолчанию это www-data:
sudo chown -R www-data:www-data laravelapp
Для полноценной работы фреймворка нужна база данных. В этом примере мы настроим базу данных MariaDB. Подключитесь к базе данных и создайте новую таблицу:
Затем создайте пользователя для этой базы данных и дайте ему все права на неё:
> 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:
Эта команда запускает собственный веб-сервер, который доступен по адресу 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 $/error.log
CustomLog $/access.log combined
Здесь мы используем домен lavarelapp.ru и наши файлы расположены в директории /var/www/sites/laravelapp. Теперь нужно активировать этот сайт в apache:
sudo systemctl restart apache2
Домен laravelapp.ru виртуальный, он мне не принадлежит и вам, думаю, тоже, поэтому нужно добавить такую строчку в файл /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, на котором создаются многие серьёзные проекты. На данный момент достаточно востребован на рынке и очень интересен в использовании, так как реализует многие стандартные шаблоны проектирования.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.