Webmin — панель администрирования Linux, которая работает в браузере с конца 1990-х. Она написана на Perl, не требует отдельной базы данных и умеет управлять пользователями, службами, пакетами, cron, файлами, межсетевым экраном, DNS, веб-серверами и базами данных через модули. Для домашнего сервера или небольшой инфраструктуры это способ сделать рутинные операции наглядными, не отказываясь от терминала. Ниже — установка из официального репозитория, первичная защита, работа с модулями и диагностика.
Что даёт Webmin
Панель не заменяет знание Linux, а экономит время на повторяющихся действиях. Через неё удобно добавить пользователя, проверить состояние службы, посмотреть журнал, создать задание cron, настроить виртуальный хост Apache или резервную копию каталога. Модули включаются и выключаются: ненужный раздел можно убрать из меню.
Важное ограничение: Webmin работает как привилегированный посредник. Ошибка в панели может изменить конфигурацию системы так же, как ошибка в SSH. Поэтому доступ к ней нужно защищать не менее тщательно, чем root-доступ.
Установка
Официальный репозиторий Webmin подключается скриптом с GitHub, после чего пакет ставится обычным менеджером. Скрипт поддерживает Debian/Ubuntu, RHEL-совместимые системы и другие дистрибутивы; перед запуском прочитайте его содержимое.
wget -qO setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sudo sh setup-repos.sh
sudo apt update
sudo apt install webmin
Для RPM-систем используется sudo dnf install webmin после подключения репозитория. Если репозиторий недоступен, можно скачать пакет с официального сайта, но тогда обновления придётся ставить вручную. Не устанавливайте Webmin из случайных PPA и сторонних сборок: панель имеет доступ к системе, и подмена пакета равносильна передаче сервера злоумышленнику.
Первый вход
Служба запускается автоматически и слушает порт 10000 по HTTPS. Откройте https://адрес-сервера:10000 и войдите под root или пользователем с правами sudo. Сертификат самоподписанный, поэтому браузер покажет предупреждение — для локальной сети это нормально.
sudo systemctl status webmin --no-pager
sudo ss -tlnp | grep :10000
sudo tail -n 20 /var/webmin/miniserv.log
Если страница не открывается, проверьте, слушает ли процесс порт и не блокирует ли его межсетевой экран. Webmin не запустится, если занят порт или повреждён конфигурационный файл; причина обычно видна в /var/webmin/miniserv.error и в журнале systemd.
Базовая защита
Сразу после установки создайте отдельного администратора и запретите вход root в панели. В разделе «Webmin Users» задайте имя, пароль и права: для повседневной работы достаточно модулей, которые реально нужны. Включите двухфакторную аутентификацию, если она доступна в вашей версии, и настройте блокировку после нескольких неудачных попыток.
sudo ufw allow from 192.168.1.0/24 to any port 10000 proto tcp
sudo ufw status verbose
sudo systemctl restart webmin
Не открывайте порт 10000 всему интернету. Если панель нужна снаружи, поставьте её за обратный прокси nginx с Let’s Encrypt и ограничьте доступ по IP или через дополнительный слой аутентификации. Прямой доступ по HTTPS с самоподписанным сертификатом не даёт проверить подлинность сервера и не годится для постоянной работы.
Модули на практике
Раздел «System» отвечает за пользователей, группы, cron, службы и журналы. «Networking» — за сетевые интерфейсы, DNS и межсетевой экран. «Servers» — за Apache, nginx, BIND, PostgreSQL, MySQL и почтовые службы, если они установлены. «Others» — за файловый менеджер, резервные копии и терминал.
Модуль «Linux Firewall» исторически работает с iptables. В системах, где по умолчанию используется nftables, правила могут отображаться не полностью, поэтому после изменений проверяйте фактическое состояние через nft list ruleset или iptables-save. Это типичная ловушка: панель показывает одно, а ядро применяет другое.
Файловый менеджер удобен для правки конфигураций, но не давайте ему доступ ко всему диску без необходимости. Для резервных копий используйте модуль «Filesystem Backup» или внешние инструменты вроде restic и borg; панель не отменяет правило «копия должна лежать на другом носителе».
Обновления и журналы
Webmin обновляется через пакетный менеджер. Не откладывайте обновления: в истории проекта были критические уязвимости, позволявшие выполнить код без аутентификации в старых версиях. Проверяйте версию и ставьте патчи вместе с остальной системой.
dpkg -s webmin | grep '^Version'
sudo apt update && sudo apt install --only-upgrade webmin
sudo journalctl -u webmin -n 50 --no-pager
Журнал miniserv.log показывает входы и ошибки HTTP, miniserv.error — проблемы запуска. Если панель стала отвечать медленно, проверьте нагрузку на диск и память: Perl-процессы чувствительны к нехватке памяти, а большой список пакетов может замедлять соответствующий модуль.
Резервная копия конфигурации
Все настройки панели и модулей хранятся в каталоге /etc/webmin. Перед крупным изменением сохраните его целиком: так проще откатиться, если новый модуль или правило нарушат работу службы. Копию держите вне сервера.
sudo tar -czf ~/webmin-config-$(date +%F).tar.gz /etc/webmin
sudo ls -lh ~/webmin-config-*.tar.gz
sudo tar -tzf ~/webmin-config-$(date +%F).tar.gz | head
Проверьте, что архив читается и содержит файлы miniserv.conf и acl. Восстановление выполняйте только на остановленной службе, иначе Webmin перезапишет старые файлы при завершении.
Когда Webmin не нужен
На одном сервере с двумя-тремя службами проще обойтись SSH и конфигурационным управлением. Панель добавляет ещё одну поверхность атаки и ещё один слой, который нужно обновлять. Для парка машин разумнее Ansible, а для контейнеров — оркестратор. Webmin выигрывает там, где администратору нужен быстрый визуальный доступ к разным службам и нет времени писать скрипты для каждой мелочи.
Чек-лист
- Отдельный администратор вместо root и сложный пароль.
- Доступ только из локальной сети или через обратный прокси с TLS.
- Двухфакторная аутентификация и блокировка перебора.
- Регулярные обновления пакета и ОС.
- Резервные копии конфигураций и проверка восстановления.
- Понимание того, что панель меняет те же файлы, что и терминал.
Итог
Webmin — зрелый инструмент для тех, кто хочет управлять Linux из браузера без потери контроля. Он ставится из официального репозитория, работает на порту 10000 и закрывает повседневные задачи: пользователей, службы, cron, пакеты и резервные копии. Главное — не экономить на защите панели и обновлениях. Если доступ ограничен локальной сетью, включён отдельный администратор и настроен TLS, Webmin становится удобной надстройкой, а не дырой в периметре.