Подготовка сервера
sudo apt update && sudo apt -y full-upgrade
sudo apt -y install curl gnupg ca-certificates ufw
hostnamectl set-hostname panel.example.com
1) Добавляем репозиторий и ставим Webmin
Работает одинаково для Ubuntu 22.04/24.04 и Debian 12/13.
# 1) Ключ репозиторияcurl -fsSL https://download.webmin.com/jcameron-key.asc \
| sudo gpg --dearmor -o /usr/share/keyrings/webmin.gpg
# 2) Источник APTecho "deb [signed-by=/usr/share/keyrings/webmin.gpg] https://download.webmin.com/download/repository sarge contrib" \
| sudo tee /etc/apt/sources.list.d/webmin.list >/dev/null
# 3) Установкаsudo apt update
sudo apt -y install webmin
Служба запустится автоматически: панель слушает TCP 10000 (HTTPS с самоподписанным сертификатом).
2) Файрвол и первый вход
sudo ufw allow 10000/tcp comment 'Webmin panel'
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw --force enable
Откройте браузер: https://203.0.113.10:10000/ → логин root (или ваш sudo-пользователь).
Советы по доступу: на бою лучше ограничить порт 10000 по IP (см. ниже).
3) Базовая безопасность (miniserv.conf)
Файл конфигурации веб-сервера Webmin: /etc/webmin/miniserv.conf.
# ОГРАНИЧИТЬ доступ к панели (пример: только ваш офисный IP и подсеть VPN)sudo sed -i 's/^#\?allow=.*/allow=198.51.100.25 10.66.66.0\/24/' /etc/webmin/miniserv.conf
# (Опционально) Сменить порт панели (например, 10443)sudo sed -i 's/^port=.*/port=10443/' /etc/webmin/miniserv.conf
sudo ufw allow 10443/tcp comment 'Webmin custom port'
sudo ufw delete allow 10000/tcp 2>/dev/null || true
# Перезапускsudo systemctl restart webmin
Двухфакторная аутентификация (TOTP)
sudo apt -y install libpam-google-authenticator
# В Webmin: Webmin Configuration → Two-Factor Authentication → TOTP (включить для root/админов)
4) SSL от Let’s Encrypt для Webmin-панели
Привяжем реальный домен panel.example.com и выпустим сертификат.
# Открыть HTTP для валидацииsudo ufw allow 80/tcp
# Остановить Webmin на время standalone-валидацииsudo systemctl stop webmin
# Установить и выпустить сертификатsudo apt -y install certbot
sudo certbot certonly --standalone -d panel.example.com -m [email protected] --agree-tos -n
# Подключить сертификаты к Webminsudo bash -c 'cat >>/etc/webmin/miniserv.conf <<EOF
ssl=1
certfile=/etc/letsencrypt/live/panel.example.com/fullchain.pem
keyfile=/etc/letsencrypt/live/panel.example.com/privkey.pem
EOF'
# Хук на автообновление сертификата (перезапускать Webmin после renew)sudo tee /etc/letsencrypt/renewal-hooks/deploy/00-reload-webmin.sh >/dev/null <<'SH'
#!/usr/bin/env bash
systemctl restart webmin
SH
sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/00-reload-webmin.sh
sudo systemctl start webmin
Теперь панель доступна по https://panel.example.com:10443/ (или по вашему порту).
5) Пользователи и доступ
По умолчанию Webmin аутентифицирует системных пользователей. Рекомендуемый подход:
# Создать отдельного админа без shell-доступаsudo useradd -m -s /usr/sbin/nologin webadmin
sudo passwd webadmin
# Дать права в Webmin: Webmin → Webmin Users → создать пользователя webadmin и назначить модули
Для обычных задач достаточно модулей: System, Servers, Networking, Webmin Configuration, Others (Scheduled Cron, File Manager).
6) Типичные «настройки Webmin» под прод
Локаль, время, обновления
sudo timedatectl set-timezone Europe/Amsterdam
sudo apt -y install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
В панели: System → Software Package Updates (проверка апдейтов), System → Scheduled Cron (планирование).
Nginx/Apache, PHP, базы
В Webmin включите нужные модули (они видны, если пакеты стоят):
# Примеры пакетовsudo apt -y install nginx php-fpm mariadb-server
# Затем в Webmin: Servers → Nginx Webserver / Apache Webserver / MySQL Database Server
Резервные копии
System → Filesystem Backup (или Backup Configuration Files) — настроить регулярный бэкап конфигов/каталогов на локальный/удалённый ресурс.
Мониторинг
System and Server Status — добавьте проверки служб (nginx, php-fpm, mariadb) и e-mail-уведомления.
7) Ограничение по IP (дублируем в UFW)
# Разрешить доступ к панели только офисному IP и VPN-подсетиsudo ufw deny 10443/tcp
sudo ufw allow from 198.51.100.25 to any port 10443 proto tcp
sudo ufw allow from 10.66.66.0/24 to any port 10443 proto tcp
sudo ufw status numbered
8) Обновление и удаление Webmin
# Апдейты Webmin прилетают через APT вместе с системойsudo apt update && sudo apt -y upgrade
# Удаление (если понадобится)sudo apt -y purge webmin
sudo rm -f /etc/apt/sources.list.d/webmin.list /usr/share/keyrings/webmin.gpg
sudo apt -y autoremove
Webmin аналоги (что выбрать, если не Webmin)
HestiaCP — лёгкая панель для веб-хостинга (веб-сайты, почта, DNS).
ISPConfig — полнофункциональная хостинг-панель с тонкими ролями.
Cockpit — современный «дашборд» для серверов (службы, контейнеры, обновления).
Ajenti — минималистичная админ-панель (веб/службы).
Virtualmin — надстройка над Webmin для веб-хостинга (вирт-хосты, почта, DNS).
Если сомневаетесь, с какой панели стартовать под ваши задачи — напишите нам. Под реальную нагрузку подберём стек и развернём «под ключ».
Мы установим и настроим Webmin бесплатно при заказе VPS/Dedicated в HSTQ: домен и SSL для панели, ограничение доступа по IP, модули (Nginx/Apache/PHP/MySQL), автообновления и бэкапы, мониторинг и 2FA. Нужно больше — добавим панели HestiaCP/ISPConfig, настроим почту, DNS и резервирование.