Встановлення сервера 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