Обзор развертывания Webmin на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры и условия:
-
Операционная система: Debian, Ubuntu, CentOS, Rocky Linux или AlmaLinux.
-
Права доступа: root (или пользователь с правами sudo).
-
Порты:
-
10000/tcp— внутренний порт приложения Webmin. -
443/tcp— внешний порт для HTTPS доступа через прокси.
-
FDQN итоговой панели на домене hostkey.in¶
| Параметр | Значение |
|---|---|
| Префикс | webmin |
| Домен | hostkey.in |
| Полный шаблон | webmin{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
Основные директории, используемые в системе:
-
/etc/webmin— конфигурационные файлы Webmin. -
/root/nginx— рабочая директория Docker Compose для прокси-сервера. -
/data/nginx/user_conf.d— директория с пользовательскими конфигурациями Nginx. -
/data/nginx/nginx-certbot.env— файл переменных окружения для контейнера Nginx.
Процесс установки приложения¶
Установка выполняется путем добавления официального репозитория Webmin и последующей инсталляции через системный менеджер пакетов (apt или yum). После установки самоподписанный SSL-сертификат Webmin отключается, а конфигурация настраивается для работы через обратный прокси с использованием публичного FQDN.
Права доступа и безопасность¶
Для обеспечения безопасности настроены следующие параметры:
-
Брандмауэр:
-
Для систем на базе RHEL (CentOS/Rocky/AlmaLinux) используется
firewalld. Разрешен порт10000/tcpв зонеpublic. -
Для систем на базе Ubuntu используется
ufw. Разрешен порт10000/tcp.
-
-
Безопасность Webmin: В файле
/etc/webmin/miniserv.confпараметрsslустановлен в значение0, так как шифрование обеспечивается прокси-сервером Nginx.
Контейнеры Docker и их запуск¶
Для обеспечения работы HTTPS через Let's Encrypt используется контейнерный прокси-сервер.
Контейнер: nginx
-
Образ:
jonasal/nginx-certbot:latest -
Порты: Использует режим сети
host. -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt— хранилище сертификатов. -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d— конфигурационные файлы Nginx.
-
-
Переменные окружения:
CERTBOT_EMAIL=hkadm@hostkey.com
-
Политика перезапуска:
unless-stopped.
Инструкция по обновлению приложения¶
Обновление выполняется через обновление пакетов системным менеджером или путем обновления контейнеров:
Или через системные команды управления пакетами (например,apt update && apt upgrade). Настройки прав¶
-
Директория
/root/nginxимеет права0755. -
Файл
compose.ymlв директории/root/nginxимеет права0644, владелец —root.
Расположение конфигурационных файлов и данных¶
-
Конфигурация Webmin:
/etc/webmin/miniserv.conf. -
Конфигурация прокси:
/data/nginx/user_conf.d/{prefix}{server_id}.{zone}.conf.
Доступные порты для подключения¶
| Порт | Протокол | Назначение |
|---|---|---|
443 | TCP | HTTPS доступ к панели управления через домен |
10000 | TCP | Локальный порт Webmin (доступен внутри сервера) |
Запуск, остановка приложения¶
Управление прокси-сервером Nginx осуществляется командами Docker Compose из директории /root/nginx:
-
Запуск:
-
Перезагрузка конфигурации Nginx:
-
Остановка:
Прокси серверы¶
В качестве прокси-сервера используется nginx в связке с certbot для автоматического получения и обновления SSL-сертификатов Let's Encrypt.
Настройки прокси включают:
-
Перенаправление трафика на локальный порт
127.0.0.1:10000. -
Проброс заголовков
HostиX-Forwarded-Protoдля корректной работы Webmin через HTTPS.