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

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

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

Для корректной работы приложения требуются следующие условия:

  • Операционная система: Debian, Ubuntu, CentOS, Rocky Linux или AlmaLinux.

  • Права доступа: Права суперпользователя (root) для установки пакетов и настройки системных служб.

  • Порты:

  • 10000/tcp — внутренний порт приложения Webmin.

  • 443/tcp — внешний порт для доступа через HTTPS (через прокси).

FDQN итоговой панели на домене hostkey.in

Для обеспечения работы SSL-сертификатов используется следующий шаблон доменного имени:

Параметр Значение
Префикс webmin
Домен hostkey.in
Полный шаблон webmin{Server_ID_from_Invapi}.hostkey.in

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

Процесс развертывания зависит от используемой операционной системы:

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

  1. Удаляются конфликтующие старые источники и ключи Docker, если они присутствуют в системе.

  2. Устанавливаются необходимые зависимости: gnupg2, curl, wget.

  3. Добавляется официальный GPG-ключ Webmin.

  4. Подключается репозиторий Webmin.

  5. Выполняется обновление кэша пакетов и установка приложения webmin.

Для систем на базе RHEL (CentOS, Rocky, AlmaLinux):

  1. Загружается установочный скрипт репозитория с официального ресурса Webmin.

  2. Скрипт выполняется для автоматической настройки источников пакетов.

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

После установки основного приложения выполняется настройка конфигурационного файла /etc/webmin/miniserv.conf:

  • Отключается встроенный SSL (ssl=0).

  • Настраивается параметр host, соответствующий публичному FQDN сервера, чтобы избежать ошибок отображения имени хоста.

  • Сервис Webmin перезапускается для применения изменений.

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

Для защиты сервера настраиваются сетевые экрары:

  • UFW (для Ubuntu): Разрешается входящий трафик на порт 10000/tcp.

  • Firewalld (для RHEL/CentOS): Создается постоянное правило для порта 10000/tcp в зоне public.

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

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

Контейнер Nginx с Certbot:

  • Образ: jonasal/nginx-certbot:latest

  • Режим сети: host (для прямого взаимодействия с портами хоста).

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt — для хранения SSL-сертификатов.

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d — для конфигурационных файлов проксирования.

  • Переменные окружения:

  • CERTBOT_EMAIL=hkadm@hostkey.com

  • Политика перезапуска: unless-stopped.

Контейнер запускается из директории /root/nginx с использованием файла compose.yml.

Кастомные скрипты и дополнительные настройки

В процессе развертывания выполняются следующие действия:

  • Настройка проксирования Nginx: В конфигурационные файлы в директории /data/nginx/user_conf.d/ вносятся изменения для перенаправления трафика с порта 443 на локальный порт 127.0.0.1:10000.

  • Корректировка заголовков: Для корректной работы Webmin через прокси добавляются заголовки Host и X-Forwarded-Proto, чтобы приложение понимало, что запрос пришел по протоколу HTTPS.

Инструкция по обновлению приложения

Обновление основного приложения выполняется стандартными средствами пакетного менеджера вашей операционной системы:

Для Debian/Ubuntu:

apt update && apt install --only-upgrade webmin

Для RHEL/CentOS/Rocky/AlmaLinux:

yum update webmin

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