Установка сервера Laravel на Debian 11
Пошаговая установка Laravel на Debian 11: PHP, Composer, веб-сервер, права и файл .env, с командами, которые можно копировать.
Введение
Это пошаговое руководство для начинающих: установка и настройка Laravel — популярного PHP-фреймворка — на операционной системе Debian 11.
- 1Подключиться по SSHPuTTY в Windows, терминал во всём остальном.
- 2Обновить пакеты и поставить базовые инструментыШаги 2 и 3.
- 3Поставить NginxВеб-сервер, который будет отдавать приложение.
- 4Поставить MySQL (Percona) и настроить клиентЗадать пароль root при установке, затем сохранить его в ~/.my.cnf.
- 5Поставить PHP-FPM и ComposerPHP-FPM выполняет код, Composer управляет зависимостями.
- 6Создать проект Laravel, затем направить на него PHP-FPM и NginxШаги с 8 по 10, именно в таком порядке.
Шаг 1. Подключение к серверу
Для начала подключитесь к серверу по SSH. В Windows это делается программой вроде PuTTY, в 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. Во время установки задайте пароль и выберите метод аутентификации «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-fpm:
systemctl restart php7.4-fpm && systemctl enable php7.4-fpm
Шаг 10. Настройка Nginx под Laravel
Создайте файл конфигурации для своего проекта:
sudo nano /etc/nginx/conf.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