Пятница, 10.01.2025 19:05

Установка LEMP сервера в РЕД ОС Linux. Часть 1. Делаем как Debian

Установка LEMP сервера в РЕД ОС Linux. Часть 1. Делаем как Debian

Сегодня мы рассмотрим установку LEMP сервера в РЕД ОС Linux с переносом конфигурации nginx из Debian.

 

Аббревиатура LEMP означает Linux, Nginx, Mysql или MariaDB, PHP.

 

Как и в любом другом дистрибутиве Linux в РЕД ОС есть все необходимые пакеты для работы LEMP-сервера.

В наследство от RedHаt Linux ему досталась странная система настройки nginx, где основной файл конфигурации представляет собой большую «портянку» и содержит вообще все настройки, а настройка php-fpm находится в другой папке!

 

Я считаю что более логичным подход в Debian, где в файле конфигурации представлены только основные настройки самого сервера. Для настроек виртуальных веб-серверов есть две папки: в одной размещаются файлы конфигурации, а другая папка содержит символические ссылки на активные файлы конфигурации.

 

Таким образом вы всегда можете включить/отключить любой сайт просто удалив или создав символическую ссылку в папке с активными сайтами и отправить сигнал на перезагрузку конфигурации сервера nginx!

 

Чтобы всё это проделать на сервере, вам вручную придётся внести множество изменений в множество файлов, а также создать много новых новых папок.

 

Я создал git-репозиторий, чтобы упростить настройку LEMP-сервера в РЕД ОС Linux.

 

Здесь вы найдете все файлы конфигурации от только что установленного Nginx в Debian 12, а также скрипт автоматической установки который всё сделает за вас, всё что останется - это настроить базу данных. Даже настройку базы можно автоматизировать Но это не всегда является безопасным поэтому я оставляю последний шаг на ваше усмотрение.

 

Внимание! Не применяйте скрипт на уже работающих серверах! Все ваши настройки будут удалены!

Загрузка кода из git-репозитория

Проверим что у нас установлен git:

 

sudo dnf install git -y

 

Загрузим исходный код:

cd ~
git clone https://gitflic.ru/project/vasiliyaltunin/nginx-make-it-right-for-redos.git
cd nginx-make-it-right-for-redos

Установка

Репозиторий уже содержит скрипт для автоматической установки, но сначала мы рассмотрим по шагам что он делает.

 

Рассмотрим полный код скрипта init.sh:

sudo dnf install php83-release -y
sudo dnf clean all
sudo dnf makecache

sudo dnf install git nginx mariadb-server php php-cli php-fpm php-mysqlnd php-zip php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-ldap php-tokenizer php-intl -y

sudo dnf remove selinux* -y

sudo groupadd www-data
sudo useradd -g www-data --shell=/usr/sbin/nologin www-data

sudo rm -rf /etc/nginx
sudo rm -rf /etc/php-fpm.d

sudo cp -r nginx /etc
sudo cp -r php/php-fpm.d /etc
sudo cp -r var /

sudo chown -R www-data /var/www
sudo chgrp -R www-data /var/www

sudo systemctl restart php-fpm
sudo systemctl restart nginx

sudo systemctl enable mariadb
sudo systemctl start mariadb

 

Рассмотрим подробнее:

 

Для начала мы устанавливаем репозиторий для php версии 8.3:

sudo dnf install php83-release -y
sudo dnf clean all
sudo dnf makecache.

 

Затем устанавливаем требуемые пакеты:

sudo dnf install git nginx mariadb-server php php-cli php-fpm php-mysqlnd php-zip php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-ldap php-tokenizer php-intl -y

 

Обязательно полностью удаляем selinux, так как на веб-сервере нам не нужен мандатный доступ, а написание правил для каждого порта это та еще головная боль, особенно если вы захотите использовать такие порты как - 8081, которые уже прописаны под другие сервисы!

sudo dnf remove selinux* -y

 

Чтобы облегчить себе жизнь создадим группу и пользователя www-data:

sudo groupadd www-data
sudo useradd -g www-data --shell=/usr/sbin/nologin www-data

 

Удалим старые настройки nginx и php-fpm и скопируем на их место новые:

sudo rm -rf /etc/nginx
sudo rm -rf /etc/php-fpm.d

sudo cp -r nginx /etc
sudo cp -r php/php-fpm.d /etc
sudo cp -r var /

 

Назначим группы и пользователя на папку нашего веб-сервера:

sudo chown -R www-data /var/www
sudo chgrp -R www-data /var/www

 

Перезапускаем и включаем сервисы:

sudo systemctl restart php-fpm
sudo systemctl restart nginx

sudo systemctl enable mariadb
sudo systemctl start mariadb

Автоматическая установка

Для автоматической установки вы можете использовать скрипт:

 

Запустим

chmod +x init.sh initdb.sh
sudo ./init.sh

 

Для инициализации базы данных можно запустить:

sudo ./initdb.sh

Проверка работы

Откроем в браузере адрес нашего виртуального сервера:

http://192.168.1.44/

 

Результат:

Изображение удалено.

Откроем в браузере адрес нашего виртуального сервера по порту 8080:

http://192.168.1.44:8080

 

Результат:

Изображение удалено.

Заключение

Сегодня мы рассмотрели установку и настройку LEMP сервера на РЕД ОС Linux использованием git-репозитория содержащего файлы конфигурации для nginx взятые из Debian 12:

- Установили git;

- Загрузили исходный код из git-репозитория ;

- Рассмотрели полный код скрипта для установки;

- Рассмотрели запуск скрипта автоматической установки;

- Проверили работоспособность веб-сервера;

- Проверили работоспособность веб-сервера с PHP 8.3.

Категория РЕД ОС Linux

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

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Просмотров: 113