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

Обзор развертывания 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.

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

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

docker compose pull && docker compose up -d
Или через системные команды управления пакетами (например, 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:

  • Запуск:

    docker compose up -d
    

  • Перезагрузка конфигурации Nginx:

    docker compose exec -T nginx nginx -s reload
    

  • Остановка:

    docker compose down
    

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

В качестве прокси-сервера используется nginx в связке с certbot для автоматического получения и обновления SSL-сертификатов Let's Encrypt.

Настройки прокси включают:

  • Перенаправление трафика на локальный порт 127.0.0.1:10000.

  • Проброс заголовков Host и X-Forwarded-Proto для корректной работы Webmin через HTTPS.

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