Установка Webmin на Linux CentOS и Ubuntu


Webmin — веб-портал для управления системой Linux. С его помощью можно выполнять повседневные обязанности системного администрирования без необходимости вводить команды в строке unix shell. Его работа поддерживается во многих дистрибутивах Linux — в данной статье мы разберем установку и настройку на CentOS и Ubuntu.
Подготовка системы к установке Webmin
Установка и настройка панели управления
Замена самоподписного сертификата для https
Что смотреть, если webmin не работает
Настройка системы
По умолчанию, Webmin работает на порту 10000, поэтому его нужно открыть в брандмауэре.
а) если используем firewalld (по умолчанию, в CentOS 7):
firewall-cmd --permanent --add-port=10000/{tcp,udp}
firewall-cmd --reload
б) если используем iptables (по умолчанию, в Ubuntu):
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
Для сохранения правила используем iptables-persistent:
apt install iptables-persistent
netfilter-persistent save
Установка и запуск Webmin
В стандартных репозиториях Linux Webmin отсутствует, поэтому сначала добавим новый, после чего, выполним саму установку.
Настройка репозитория
В зависимости от операционной системы, наши действия будут отличаться.
а) Для CentOS.
Создадим файл со следующим содержимым:
vi /etc/yum.repos.d/webmin.repo
[Webmin]
name=Webmin Repo
baseurl=https://download.webmin.com/download/yum
enabled=1
gpgcheck=0
* где
- name — произвольное название для репозитория;
- baseurl — путь со списком пакетов для установки;
- enabled — разрешает или запрещает использование репозитория (в данном примере разрешено);
- gpgcheck — задает требование проверки ключа (в нашем случае ключ не требуется проверять).
б) Для Ubuntu.
Создадим файл со следующим содержимым:
vi /etc/apt/sources.list.d/webmin.list
deb http://download.webmin.com/download/repository sarge contrib
Добавим ключ для доверия к новому репозиторию:
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc
Обновляем список пакетов:
apt update
Установка Webmin
Команда для установки зависит от дистрибутива Linux.
а) Для CentOS:
yum install webmin
б) Для Ubuntu:
apt install webmin
Установка выполнена. Переходим к запуску.
Запускаем службу и разрешаем ее автозапуск:
systemctl enable webmin --now
В старых системах служба запускается командой:
service webmin start
Открываем браузер и переходим по ссылке https://<IP-адрес компьютера>:10000/ — откроется предупреждение, что соединение не может быть безопасным. Это происходит из-за использования самоподписного сертификата. Игнорируем предупреждение и переходим на наш сайт управления. Откроется окно ввода логина и пароля — вводим root и его пароль на сервере:
В Ubuntu. по умолчанию, не установлен пароль для пользователя root. Это можно сделать командой:
passwd root
Готово.
Смена сертификата для https
Если мы хотим использовать купленный или полученный у Let's Encrypt сертификат, необходимо отредактировать ключ:
vi /etc/webmin/miniserv.pem
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
* в секцию BEGIN CERTIFICATE вставляем последовательность для открытого ключа; в BEGIN PRIVATE KEY — закрытого.
После перезапускаем webmin:
service webmin restart
Если webmin не работает
Webmin не открывается
1) проверяем, что система слушает запросы на порту 10000:
ss -tunlp | grep 10000
2) проверяем, что сервис работает:
service webmin status
... мы должны увидеть, что-то на подобие:
Webmin (pid 3303) is running
3) проверяем, что мы добавили порт 10000 в брандмауэр:
firewall-cmd --list-all
... мы должны увидеть:
...
ports: 10000/tcp
...
ERR_SSL_PROTOCOL_ERROR
Ошибка появляется при попытке открыть webmin в браузере.
Причина: мы пытаемся зайти на веб-страницу по протоколу https, но webmin не может принять запросы данного типа — из-за отсутствующего сертификата или отключенной опции ssl.
Решение: открываем конфигурационный файл:
vi /etc/webmin/miniserv.conf
Проверяем, что у нас есть опции:
...
ssl=1
...
certfile=<путь до сертификата>
...
* если опция ssl имеет значение 0, меняем ее на 1. Для опции certfile смотрим путь до файла сертификата и проверяем, что он есть в системе.
Как правило, ошибка появляется из-за опции ssl или отсутствующего сертификата. Исправляем настройку и перезапускаем сервис:
service webmin restart