Перейти к содержанию

Обзор развертывания Webmin на сервере

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

Для успешного развертывания приложения необходимо наличие сервера с одной из следующих операционных систем:

  • Debian

  • Ubuntu

  • RHEL (Red Hat Enterprise Linux) или его производные

Требуется наличие прав суперпользователя (root) для выполнения операций установки и настройки. Приложение использует порт 10000 для веб-интерфейса.

Процесс установки приложения

Установка выполняется через официальные репозитории разработчика. Процесс различается в зависимости от дистрибутива.

Для систем на базе Debian и Ubuntu:

  1. Устанавливаются зависимости: gnupg2, curl, wget.

  2. Добавляется ключ GPG репозитория Webmin с адреса https://www.webmin.com/jcameron-key.asc.

  3. Добавляется репозиторий: deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib.

  4. Обновляется кэш пакетов.

  5. Устанавливается пакет webmin.

Для систем на базе RHEL:

  1. Скачивается скрипт настройки репозитория с адреса https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh в директорию /tmp.

  2. Запускается скрипт установки репозитория.

  3. Удаляется временный скрипт из /tmp.

  4. Устанавливается пакет webmin через менеджер пакетов yum.

Контейнеры Docker и их запуск

Для обеспечения работы с SSL-сертификатами и проксирования трафика используется контейнеризация.

Создается директория /root/nginx для хранения конфигурации контейнеров. Генерируется файл конфигурации docker compose по пути /root/nginx/compose.yml.

Контейнер запускается с использованием образа jonasal/nginx-certbot:latest. Параметры запуска контейнера:

  • Режим сети: host.

  • Переменная окружения CERTBOT_EMAIL установлена в значение hkadm@hostkey.com.

  • Файл окружения: /data/nginx/nginx-certbot.env.

  • Монтирование тома nginx_secrets в директорию /etc/letsencrypt.

  • Монтирование директории конфигурации /data/nginx/user_conf.d в /etc/nginx/user_conf.d.

Запуск контейнера выполняется командой docker compose up -d в директории /root/nginx.

Прокси серверы

В системе настроен прокси-сервер Nginx, работающий в контейнере. Конфигурация проксирования добавляется в файл /data/nginx/user_conf.d/{{ prefix }}{{ server_id }}.hostkey.in.conf. В блоке location / устанавливается правило пересылки запросов на внутренний адрес http://127.0.0.1:10000.

Права доступа и безопасность

Настройка брандмауэра зависит от используемой операционной системы.

Для систем с firewalld:

  • Открывается порт 10000/tcp в зоне public.

  • Правило применяется немедленно и сохраняется в постоянную конфигурацию.

Для систем с ufw (Ubuntu/Debian):

  • Проверяется статус брандмауэра.

  • Если статус активен, добавляется правило для пропуска трафика на порт 10000/tcp.

  • Конфигурация брандмауэра перезагружается.

Структура файлов и каталогов

Основные пути к файлам и директориям:

  • Конфигурация Docker Compose: /root/nginx/compose.yml.

  • Директория для конфигурации Nginx: /data/nginx/user_conf.d.

  • Директория для секретов Let's Encrypt: /etc/letsencrypt (монтируется в контейнер).

  • Файл окружения для Nginx: /data/nginx/nginx-certbot.env.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×