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

0 Акции
0
0
0
0

Введение

В этом руководстве вы узнаете, как установить стек LEMP (Linux, NGINX, база данных MySQL, PHP) в Ubuntu 24.04 LTS. К концу руководства у вас будет полностью функциональный сервер со стеком LEMP.

Предпосылки
  • Сервер с Ubuntu 24.04 LTS
  • Доступ к пользователю root или пользователю с правами sudo
  • установленный nano или ваш любимый текстовый редактор.

Шаг 1 — Обновите сервер

Используйте следующую команду для обновления репозиториев пакетов, чтобы гарантировать установку последней версии программного обеспечения:

sudo apt update

Затем используйте следующую команду для обновления установленных пакетов:

sudo apt dist-upgrade -y

Флаг -y автоматически подтверждает операцию, поэтому вам не нужно вводить Y для продолжения.

Шаг 2 — Установка NGINX

NGINX — это веб-сервер, который мы будем использовать. Установить его можно с помощью следующей команды:

sudo apt install nginx -y

Шаг 3 — Установка MySQL

Теперь мы можем установить сервер MySQL. MySQL — это база данных, которую мы будем использовать. Установить её можно с помощью следующей команды:

sudo apt install mysql-server -y

Шаг 4 — Обеспечьте безопасность MySQL

Защитите недавно установленный сервер MySQL с помощью следующей команды:

sudo mysql_secure_installation

MySQL попросит вас подтвердить пароль:

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No:

Вы можете нажать Y, а затем ENTER.

Настройте политику проверки паролей. Существует три уровня:

  • 0: НИЗКАЯ Длина >= 8
  • 1: СРЕДНЯЯ Длина >= 8, цифры, смешанный регистр и специальные символы
  • 2: STRONG Длина >= 8, цифры, смешанный регистр, специальные символы и файл словаря

Выберите нужную цифру и нажмите ENTER. Рекомендую выбрать надёжный пароль (цифра 2).

MySQL спросит вас, хотите ли вы удалить анонимных пользователей:

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) :

Чтобы продолжить, нажмите Y, а затем ENTER.

Далее MySQL спросит вас, хотите ли вы запретить удаленный вход под учетной записью root:

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :

Чтобы продолжить, нажмите Y, а затем ENTER.

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

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :

Чтобы продолжить, нажмите Y, а затем ENTER.

Теперь MySQL в последний раз спросит вас, хотите ли вы перезагрузить таблицы результатов:

Reloading the privilege tables will ensure that all changes made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :

Чтобы продолжить, нажмите Y, а затем ENTER.

Готово. Теперь у вас есть безопасный сервер MySQL.

Шаг 5 — Установка PHP

В Ubuntu 24.04 должна быть установлена последняя стабильная версия PHP. Можете проверить ещё раз:

apt list | grep '^php[0-9]*-\(fpm\|mysql\)'

Установить PHP:

sudo apt install php8.3-fpm php8.3-mysql -y

php8.3-fpm — это менеджер процессов FastCGI, позволяющий использовать PHP в NGINX.

php8.3-mysql — это расширение, позволяющее PHP взаимодействовать с сервером MySQL.

На этом установка пакетов завершена.

Шаг 6 — Настройка NGINX для PHP

По умолчанию NGINX не обрабатывает PHP-файлы, поэтому нам необходимо отредактировать файл конфигурации по умолчанию.

Используйте ваш любимый текстовый редактор для редактирования файла конфигурации по умолчанию. Я буду использовать nano.

sudo nano /etc/nginx/sites-available/default

В этом файле нам нужно немного прокрутить вниз, внутри блока server, после location/directive, нам нужно добавить следующее:

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

Если у вас установлена другая версия PHP, вы можете изменить ее здесь.

Это указывает NGINX отправлять все файлы с расширением .php диспетчеру процессов FastCGI, который мы установили ранее.

Вы также можете добавить index.php в список здесь:

 index index.html index.htm index.nginx-debian.html index.php;

Сохраните файл, затем выйдите. (CTRL+X,Y, ENTER) для nano.

Выполните следующую команду, чтобы проверить правильность конфигурации NGINX:

sudo nginx -t

Вы должны увидеть что-то вроде этого:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Затем перезапустите NGINX с помощью следующей команды:

sudo service nginx restart

Шаг 7 — Проверьте, работает ли PHP

Теперь проверим, работает ли PHP с NGINX. Мы можем создать простой PHP-скрипт “Hello, World”.

Корневым каталогом NGINX по умолчанию является /var/www/html.

Давайте создадим файл hello.php в этом каталоге:

sudo nano /var/www/html/hello.php

Внутри файла добавьте следующее содержимое:

<?php
echo 'Hello, World!';

Сохраните файл, затем выйдите. (CTRL+X,Y, ENTER) для nano.

Теперь мы можем перейти по адресу http:// в нашем браузере. /hello.php доступ.

Чтобы получить публичный IP-адрес вашего сервера, используйте следующую команду:

hostname -I

Если это не сработает, попробуйте использовать cURL для получения публичного IP-адреса сервера:

curl -4 https://ip.hetzner.com

Вы должны увидеть это:

Заключение

Вы успешно установили стек LEMP в Ubuntu 24.04 LTS. Вы можете приступить к развертыванию приложений на основе стека LEMP. Удачи!

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может понравиться