Как установить стек LEMP на Debian 12

Для тех, кто начинает заниматься веб-разработкой, созданием динамических сайтов или хостингом приложений, очень важно иметь прочную основу. Именно здесь на помощь приходит стек LEMP — аббревиатура, обозначающая Linux, Nginx, MySQL/MariaDB и PHP — мощная комбинация, составляющая основу бесчисленных веб-сайтов и приложений по всему миру.

Debian, известный своей стабильностью, безопасностью и обширными репозиториями пакетов, остается популярным среди разработчиков и администраторов для создания надежных серверных сред.

В этом подробном руководстве мы рассмотрим пошаговый процесс установки стека Nginx, PHP и MariaDB (LEMP) на Debian 12 «Bookworm». Итак, без лишних слов, приступим к работе.

Предварительные условия

Прежде чем приступить к процессу установки, мы расскажем о предварительных требованиях, чтобы обеспечить вам беспроблемную работу. К ним относятся доступ к серверу Debian 12, базовые навыки работы с командной строкой и учётная запись пользователя с правами sudo.

Конечно, вы можете пропустить часть команд с правами sudo и выполнить их непосредственно от имени пользователя root. Результат в обоих случаях будет одинаковым.

Кроме того, убедитесь, что ваш брандмауэр не блокирует порт 80 для подключения к серверу и порт 443, если вы планируете использовать SSL.

Шаг 1: Обновление репозиториев программного обеспечения

Сначала мы воспользуемся командой APT для обновления списка доступных пакетов. Это гарантирует, что при установке стека LEMP на нашу систему Debian 12 будут использоваться только самые последние версии пакетов, и позволит избежать трудностей.

Кроме того, убедитесь, что система полностью обновлена. Если пакеты ожидают обновления, я рекомендую применить их, прежде чем двигаться дальше.

sudo apt update
sudo apt upgrade

Шаг 2: Установка веб-сервера Nginx на Debian 12

Веб-сервер позволяет обслуживать содержимое посетителей, например, веб-страницы. На этом шаге выполняется второе требование стека LEMP — веб-сервер Nginx.

Используйте следующие команды для установки последней версии Nginx на ваш сервер Debian 12. При появлении запроса введите «Y» для подтверждения установки.

sudo apt install nginx

После установки Nginx будет работать на вашем сервере Debian 12. Но сначала давайте проверим, работает ли он так, как ожидалось.

Откройте веб-браузер на вашей системе и введите в адресную строку IP-адрес сервера.

Вас должна встретить стандартная страница приветствия Nginx.

Шаг 3: Установка сервера MariaDB на Debian 12

Теперь, когда у вас есть работающий веб-сервер, необходимо установить сервер баз данных для хранения и управления данными на вашем сайте. В этом руководстве вместо MySQL мы установим MariaDB.

Это СУБД с открытым исходным кодом (RDBMS, Relational Database Management System), обратно совместимая, бинарная замена MySQL. По сравнению с MySQL, MariaDB обеспечивает более высокую производительность за счет более высокой скорости репликации, более жестких мер безопасности и дополнительных механизмов хранения данных.

Для установки базы данных MariaDB выполните приведенные ниже команды и, когда появится запрос, подтвердите установку, набрав «Y» и нажав «Enter».

sudo apt install mariadb-server

3.1 Защита сервера MariaDB

Далее мы воспользуемся скриптом (mysql_secure_installation), входящим в пакет «mariadb-server», чтобы ограничить доступ к серверу и удалить неиспользуемые учетные записи, поскольку стандартная настройка делает установку MariaDB небезопасной.

Запустите сценарий защиты после установки.

sudo mysql_secure_installation

После выполнения приведенной выше команды появится запрос на ввод пароля корня MariaDB. Просто оставьте пароль root пустым и нажмите клавишу «Enter». Для остального продолжайте набирать «Y» и нажимать «Enter».

Пароль, заданный выше для учетной записи MariaDB root, используется при удаленном входе на сервер.

Для входа в систему с установленного нами хоста пароль вводить не нужно, и он не будет запрашиваться. Просто наберите «sudo mysql» для доступа к оболочке MariaDB.

3.2 Тестирование установки MariaDB

Давайте войдем в систему и выполним простой запрос, чтобы проверить, работает ли сервер баз данных так, как ожидалось.

Для входа в систему введите команду, показанную ниже.

sudo mysql

Это приведет к подключению к серверу MariaDB, и должна появиться оболочка MariaDB. Затем выполните простой запрос:

select version();

В ответ на ваш запрос сервер MariaDB должен вернуть свою версию. Наконец, с помощью команды quit выйдите из оболочки MariaDB и вернитесь в системный терминал.

Шаг 4: Установка PHP на Debian 12

Последним шагом для установки полного стека LEMP на нашу систему Debian 12 «Bookworm» является установка языка сценариев 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-xml

Приведенная выше команда установит поддержку PHP 8.2 в вашей системе Debian 12.

Шаг 5: Настройка Nginx на выполнение файлов PHP

Теперь, когда мы установили все компоненты LEMP на систему Debian 12, нам необходимо отредактировать стандартный файл конфигурации виртуального хоста 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;
}

Далее добавьте следующие строки в стандартный блок «server», чтобы разрешить Nginx обрабатывать файлы PHP:

location ~ .php$ {
     include snippets/fastcgi-php.conf;
     fastcgi_pass unix:/var/run/php/php-fpm.sock;
}

Проверьте измененный конфигурационный файл Nginx на наличие синтаксических ошибок, введя следующую команду:

sudo nginx -t

Если вы получили вышеуказанный результат, то все в порядке, и нам осталось выполнить последний шаг. Однако если будут выданы какие-либо ошибки, перепроверьте свой файл, прежде чем продолжать.

Наконец, перезапустите Nginx, чтобы изменения вступили в силу.

sudo systemctl restart nginx

Шаг 6: Проверка установки Debian 12 LEMP

Вы завершили установку Nginx, MariaDB и PHP на Debian 12, поэтому теперь ваш стек LEMP должен быть полностью готов к работе.

Наконец, давайте создадим тестовый PHP-файл, чтобы проверить, что PHP-FPM работает и интегрирован с Nginx. В приведенном выше блоке сервера по умолчанию наш сайт обслуживается из «/var/www/html», поэтому мы создадим тестовый файл там:

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

Теперь к файлу «test.php» можно обратиться из браузера, используя домен сайта или IP-адрес сервера, а затем «/test.php».

Появится веб-страница с полной информацией об установке PHP.

Поздравляем! Вы успешно установили полнофункциональный стек LEMP на Debian 12.

Заключение

Мы завершаем это путешествие, и теперь у вас есть все необходимое для установки, конфигурирования и использования потенциала стека LEMP. Более того, используя Debian 12 «Bookworm» в качестве серверной платформы, вы воспользовались прочным фундаментом, известным своей стабильностью, безопасностью и удобством для пользователей.

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x