Установка и настройка сервера под Laravel на Debian 11
Введение
Эта статья предоставит пошаговую инструкцию для новичков по установке и настройке Laravel - популярного PHP-фреймворка - на операционной системе Debian 11
Шаг 1: Подключение к серверу
Для начала, подключитесь к своему серверу через SSH. Это можно сделать с помощью программы, такой как PuTTY для Windows, или непосредственно через терминал для macOS и Linux:
ssh ваше_имя_пользователя@ваш_IP_сервера
Шаг 2: Обновление пакетов
Первым делом, убедимся, что все пакеты обновлены до последних версий:
sudo apt update && sudo apt upgrade
Шаг 3: Установка базовых инструментов
Установим необходимые инструменты, которые пригодятся в дальнейшей работе:
sudo apt install -y htop mc etckeeper fail2ban ufw curl gnupg2 ca-certificates lsb-release xfsprogs mdadm
Шаг 4: Установка Nginx
Установим веб-сервер Nginx, который будет обслуживать наше приложение Laravel:
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt update
sudo apt install nginx
Шаг 5: Установка MySQL (Percona)
Установим базу данных MySQL с помощью Percona Server:
При установке MySQL задайте пароль и выберите метод авторизации "Legacy".
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
sudo percona-release setup ps80
sudo apt update
sudo apt install percona-server-server percona-server-common percona-xtrabackup-80
Шаг 6: Настройка MySQL-клиента
Для удобства работы с MySQL, пропишем пароль в файле ~/.my.cnf
:
[client]
user=root
password=ВАШ_ПАРОЛЬ
Шаг 7: Установка PHP-FPM и Composer
Установим PHP-FPM для обработки PHP-кода и Composer для управления зависимостями:
sudo apt install -y php7.4-{,mysql,cli,common,fpm,curl,mbstring,zip,pdo,gd,mbstring,bz2,msgpack,redis,dom,opcache,xml,xsl,soap}
sudo apt install composer
Шаг 8: Установка Laravel
Создадим новый проект Laravel:
composer create-project laravel/laravel ваш_проект
Шаг 9: Редактирование файла конфигурации PHP-FPM
Отредактируйте файл /etc/php/7.4/fpm/pool.d/www.conf
, прописав параметры:
user = ваш_пользователь
group = ваш_пользователь
listen.owner = ваш_пользователь
listen.group = ваш_пользователь
listen.mode = 0660
Где ваш_пользователь
- имя пользователя, под которым будет работать сайт.
Перезапускаем php-fpmsystemctl restart php7.4-fpm && systemctl enable php7.4-fpm
Шаг 10: Настройка Nginx для Laravel
Создайте конфигурационный файл для вашего проекта:
sudo nano /etc/nginx/сonf.d/ваш_проект.conf
Добавьте следующую конфигурацию:
server {
listen 80;
server_name ваш_домен_или_IP;
root /var/www/ваш_проект/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
Перезапустите Nginx и добавьте его в автозагрузку:
systemctl restart nginx && systemctl enable nginx