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

Laravel - это один из самых популярных фреймворков для разработки веб-приложений и веб-сайтов на PHP.

 Статьи   Время чтения: 4 минуты   Просмотров: 32

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

Laravel - это один из самых популярных фреймворков для разработки веб-приложений и веб-сайтов на PHP.

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

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

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

sudo apt install composer



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

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


если у вас PHP 8.1, то:

sudo apt install php8.1-mysql php8.1-mbstring php8.1-tokenizer php8.1-xml php8.1-common



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

cd /var/www/sites



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

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



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

sudo chown -R www-data:www-data laravelapp



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

vi config/database.php



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

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

php artisan serve



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

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 я здесь не привожу, но они тоже должны присутствовать.



Автор: Google
Источник: blanet.ru

Последние страницы

Copyright © 2022 Blanet.Ru. Все права защищены.