Инсталирайте Nginx, MariaDB и PHP (LEMP) на Debian 11 (Bullseye)

Сподели

Това изчерпателно ръководство стъпка по стъпка ви превежда през инсталирането и конфигурирането на Nginx, MariaDB и PHP (LEMP Stack) на Debian 11.

Debian е една от най-надеждните, сигурни и стабилни дистрибуции на Linux, осигуряваща безпроблемна работа на вашия сървър. Поради тези качества, това е разумен и често предпочитан избор от системни администратори за базирани на Linux сървъри.

Софтуерният стек LEMP се състои от група софтуер от страна на сървъра, който обслужва динамични уеб страници и уеб приложения. Това е акроним, представляващ четири отделни компонента: Linux OS, Nginx Web Server, MySQL/MariaDB Database и PHP Scripting Language.

Този урок ви показва как да инсталирате Nginx, MariaDB и PHP на Debian 11 (Bullseye), превръщайки го в най-добрия сървър за разработване и хостване на вашите уеб приложения. Така че без повече шум, нека се захващаме за работа.

Предпоставки

Ще ви е необходим достъп до Debian 11 сървър, за да завършите това ръководство. В допълнение, всички команди в този урок се изпълняват от обикновен потребител с sudo способности за изпълнение. Следователно трябва да притежавате такъв.

Разбира се, можете да пропуснете sudo част от командите и ги стартирайте директно като root потребител. Резултатът ще бъде един и същ и в двата случая.

Освен това се уверете, че вашата защитна стена не блокира порт 80 към сървъра и порт 443, ако планирате да използвате SSL.

1. Актуализирайте софтуерните хранилища

Първо, ще използваме APT командата, за да актуализираме списъка с налични пакети. Това гарантира, че само най-новите версии на пакетите се използват по време на инсталирането на стека LEMP на нашата система Debian 11 и предотвратява трудностите.

Освен това се уверете, че системата е напълно актуализирана. Ако пакетите чакат да бъдат актуализирани, съветвам ви да ги приложите, преди да продължите.

sudo apt update
sudo apt upgrade
Актуализиране на списъка с пакети

2. Инсталирайте Nginx Web Server на Debian 11

Уеб сървърът ви позволява да предоставяте съдържание като уеб страници на посетителите на уебсайта. Тази стъпка се грижи за второто изискване в стека LEMP, уеб сървъра Nginx.

Използвайте следните команди, за да инсталирате най-новата версия на Nginx на вашия Debian 11 сървър. Когато бъдете подканени, въведете „Y“, за да потвърдите, че искате да го инсталирате.

sudo apt install nginx
Инсталирайте Nginx Web Server на Debian 11

След завършване на инсталацията уеб сървърът на Nginx ще бъде готов и ще работи на вашия Debian 11 сървър. Но първо нека проверим дали работи според очакванията.

Отворете уеб браузър на вашата система и въведете IP адреса на сървъра в адресната лента.

Приветствена страница на уеб сървър на Nginx

Системата трябва да покаже началната страница на Nginx.

3. Инсталирайте MariaDB Server на Debian 11

Сега, когато имате работещ уеб сървър, трябва да инсталирате сървъра на базата данни, за да съхранявате и управлявате данни за вашия уебсайт. Вместо MySQL, в този урок ще инсталираме MariaDB.

Това е RDBMS с отворен код (система за управление на релационни бази данни), обратно съвместима, двоична замяна на MySQL. MariaDB осигурява подобрена производителност с по-бързи скорости на репликация, по-строги мерки за сигурност и допълнителни двигатели за съхранение в сравнение с MySQL.

За да инсталирате базата данни MariaDB, изпълнете командите по-долу и когато бъдете подканени, потвърдете инсталирането, като напишете „Y“ и натиснете „Enter“.

sudo apt install mariadb-server
Инсталирайте MariaDB Server на Debian 11

3.1 Защита на MariaDB сървър

След това ще използваме скрипт (mysql_secure_installation), предоставени от mariadb-server пакет за ограничаване на достъпа до сървъра и премахване на неизползвани акаунти, тъй като настройката по подразбиране прави вашата инсталация на MariaDB опасна.

Стартирайте скрипта за сигурност след инсталирането.

sudo mysql_secure_installation

След като изпълните горната команда, ще бъдете подканени да въведете основната парола на MariaDB. Просто оставете root паролата празна и натиснете клавиша “Enter”. За останалото продължете да пишете „Y“ и да натискате „Enter“.

Защита на MariaDB сървър

Страхотен! Вие сте защитили сървъра MariaDB в стека LEMP на Debian 11.

Поясняваме, че паролата, посочена по-горе за основните акаунти на MariaDB, е само за отдалечени потребители. За да влезете от хоста, който инсталирахме, не е необходимо да въвеждате парола и няма да ви бъде поискана такава. Просто напишете „sudo mysql” за достъп до обвивката на MariaDB.

3.2 Тестване на инсталацията на MariaDB

Нека влезем в него и изпълним проста заявка, за да проверим дали сървърът на базата данни функционира нормално.

За да влезете, въведете командата, показана по-долу.

sudo mysql

Това ще се свърже със сървъра MariaDB и обвивката на MariaDB трябва да се появи. След това изпълнете проста заявка:

select version();

В отговор на вашето запитване сървърът MariaDB трябва да върне своята версия. И накрая, за да излезете от обвивката на MariaDB и да се върнете към системния терминал, използвайте „quit” команда.

Тестване на инсталацията на MariaDB

4. Инсталирайте PHP на Debian 11

Последната стъпка за инсталиране на пълен LEMP стек на нашата система Debian 11 „Bullseye“ е инсталирането на PHP скриптовия език. За да добавите PHP поддръжка към Nginx, трябва да инсталирате и използвате PHP-FPM за изпълнение на PHP файлове.

И така, за да инсталирате PHP-FPM и няколко най-широко използвани PHP модула, въведете командата по-долу и когато бъдете подканени, въведете „Y“, за да потвърдите, че искате да го инсталирате.

sudo apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache
Инсталирайте PHP скриптовия език на Debian 11

5. Конфигурирайте Nginx за изпълнение на PHP файлове

Сега, след като инсталирахме всички LEMP компоненти на нашата система Debian 11, трябва да редактираме конфигурационния файл за виртуален хост Nginx по подразбиране.

sudo vim /etc/nginx/sites-enabled/default

Променете „location /” част от това:

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
    try_files $uri $uri/ =404;
}

До това:

location / {
    try_files $uri $uri/ /index.php?$args;
}
Конфигурирайте Nginx за изпълнение на PHP файлове

Добавете следните редове към стандартния „server”, за да позволи на Nginx да обработва PHP файлове:

location ~ \.php$ {
     include snippets/fastcgi-php.conf;
     fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
Конфигурирайте Nginx за изпълнение на PHP файлове

Тествайте модифицирания конфигурационен файл на Nginx за синтактични грешки, като въведете следната команда:

sudo nginx -t
Тествайте конфигурацията на уеб сървъра на Nginx

Ако получите резултата, показан по-горе, всичко е наред и ни остава само една последна стъпка. Въпреки това, ако бъдат съобщени грешки, проверете отново файла си, преди да продължите.

Когато сте готови, рестартирайте Nginx, за да влязат в сила промените.

sudo systemctl restart nginx

Ако искате да научите подробно как да създавате и редактирате Nginx сървърни блокове за вашите виртуални хостове, препоръчваме нашето отлично ръководство по темата „Как да създадете Nginx виртуален хост (сървърен блок)“.

6. Тествайте вашата инсталация на Debian 11 LEMP

Завършихте инсталирането на Nginx, MariaDB и PHP на Debian 11, така че вашият стек LEMP вече трябва да работи напълно.

И накрая, нека създадем тестов PHP файл, за да проверим дали PHP-FPM работи и е интегриран с Nginx. В сървърния блок по подразбиране по-горе нашият сайт се обслужва от „/var/www/html”, така че ще създадем тестов файл там:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/test.php

Сега можете да получите достъп до „test.php” от уеб браузър, използвайки домейна на вашия сайт или IP адреса на сървъра, последван от „/test.php.”

Ще се появи уеб страница с пълна информация за вашата PHP инсталация.

Тествайте инсталацията на Debian 11 LEMP

Честито! Вие успешно инсталирахте напълно функционален LEMP стек на Debian 11.

Заключение

Това ръководство ви показа как да инсталирате LEMP стека (Nginx, MariaDB и PHP) на Debian 11 „Bullseye“. В резултат на това базираните на PHP уеб приложения вече могат да се изпълняват на вашия сървър.

Има няколко следващи стъпки, които можете да предприемете от тук. Например, препоръчвам ви да прочетете нашето ръководство за настройка на SSL сертификати на сървъра Nginx, за да сте сигурни, че уебсайтът ви предоставя съдържание през защитена SSL (HTTPS) връзка.

Благодаря за отделеното време! Надявам се, че намирате това ръководство за полезно. Вашите отзиви и коментари са добре дошли.

Публикациите се превеждат автоматично с google translate


Сподели