🐹 CentOS 7: Установка Webmin — web-портал для управления системой Linux.

Содержание:

1. Что такое Webmin?
2. Подготовка сервера к установке.
3. Установка и запуск Webmin.
4. Если Webmin не работает.
5. Смена сертификата для HTTPS.
6. Итоговые выводы.
7. Оригиналы источников информации.


На чем было собрано:

  1. CentOS Linux x86_64 release 7.8.2003 (Core).
  2. Hypervisor Proxmox Virtual Environment 6.2-4.

1. Что такое Webmin?

Webmin — web-портал для управления системой Linux. С его помощью можно выполнять повседневные обязанности системного администрирования без необходимости вводить команды в строке shell. Его работа поддерживается во многих дистрибутивах Linux — в данной статье мы разберем установку и настройку на CentOS 7.

Webmin — это программный комплекс, позволяющий администрировать операционную систему через web-интерфейс, в большинстве случаев, позволяя обойтись без использования командной строки и запоминания системных команд и их параметров. Используя любой браузер, администратор сервера может создавать новые учётные записи пользователей, почтовые ящики, изменять настройки служб и сервисов, например: web-сервера Apache, DNS. Однако, в некоторых случаях необходимо знание операционной системы и редактирование конфигурационных файлов вручную. Кроме того, не все возможности операционной системы и не все программы можно конфигурировать через интерфейс Webmin, например nginx пока не входит в базовый набор.

Webmin состоит из простого web-сервера и большого количества скриптов (>500), которые собственно и осуществляют связь между командами администратора через web-интерфейс и их исполнением на уровне операционной системы и прикладных программ. Webmin написан полностью на языке Perl и не использует никаких дополнительных нестандартных модулей. Простота, лёгкость и быстрота выполнения команд — одно из самых больших преимуществ данной панели управления.

Другое важное преимущество — возможность исправлять конфигурационные файлы вручную, так как Webmin не «портит» конфигурационные файлы, в отличие от некоторых других панелей управления, и следует, как правило, политикам дистрибутивов по конфигурированию программ.

Данная панель управления бесплатна на условиях лицензии BSD распространяется для коммерческого и некоммерческого использования. Авторы этой программы позволяют всем желающим не только бесплатно использовать программу, но и изменять её по своему усмотрению.

Работать с Webmin достаточно просто — нужно запустить браузер, и по HTTPS набрать https://ваш_IP_адрес:10000/ и попасть на страницу администрирования.

Для Webmin доступны несколько десятков тем оформления, многие из которых уже входят в стандартный дистрибутив.

Webmin состоит из модулей, которые можно подключать или отключать по необходимости. На официальном сайте представлено более 300 модулей. Модули Webmin могут обеспечить настройку и управление почти всем функционалом сервера.

В стандартный набор дистрибутива Webmin:

  • Apache Webserver — Настройка web-сервера Apache, позволяет редактировать почти все инструкции.
  • Command Shell — Позволяет выполнить удаленно команду и просмотреть вывод.
  • Custom Commands — Создание кнопки для часто используемых команд.
  • DHCP Server — Управление общей сетью, хостами, и группами.
  • Disk Quotas — Установка и настройка квот для пользователей или групп пользователей, на данной файловой системе.
  • File Manager — Работа с файлами на сервере.
  • GRUB Boot Loader — Настройка загрузчика GRUB.
  • Linux Firewall — Настройка брандмауэра Linux.
  • MySQL Database Server — Настройка базы данных, таблицы и разрешения на сервере баз данных MySQL.
  • Perl Modules — Просмотр установленных Perl модулей и возможность установить новые.
  • Running Processes — Список запущенных процессов в вашей системе с возможностью убить или изменять приоритет процесса.
  • SSH Server — Настройка SSH сервера.
  • Software Packages — Менеджер пакетов, с возможностью установить новые.
  • System Logs — Настройка сервера системных журналов в вашей системе и просмотр журналов.
  • Users and Groups — Создание и редактирование Linux пользователей и групп пользователей.
  • Webmin Configuration — Настройки Webmin’а.

2. Подготовка сервера к установке.

По умолчанию, Webmin работает на 10000 порту, поэтому его нужно открыть в брандмауэре.

Если используем firewalld:

# firewall-cmd --permanent --add-port=10000/{tcp,udp}

# firewall-cmd --reload

Если используется iptables в системе, открываем нужные порты:

# mcedit /etc/sysconfig/iptables

-A INPUT -p tcp --dport 10000 -j ACCEPT

Перезапустим службу iptables:

# systemctl restart iptables

3. Установка и запуск Webmin.

В стандартных репозиториях CentOS7 программа Webmin отсутствует, поэтому добавим репозиторий с этой программой:

# mcedit /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 — задает требование проверки ключа (в нашем случае ключ не требуется проверять).

Сохраним файл и выйдем из текстового редактора.

Устанавливаем Webmin командой:

# yum -y install webmin

Разрешаем автозапуск сервиса:

# chkconfig webmin on

Примечание: Программа Webmin не работает как юнит systemd, поэтому команда systemctl enable webmin с ним не работают — при попытке включить автозапуск мы можем получить ошибку «Failed to start LSB: web-based administration interface for Unix systems». Просто пользуемся устаревающей chkconfig.

Запускаем службу:

# service webmin start

Внимание! Проверять наличие активной службы бесполезно, она не работает традиционным systemctl  способом:

#  systemctl status webmin -l

Открываем браузер и переходим по HTTPS, по ссылке https://<IP-адрес компьютера>:10000/ — откроется предупреждение, что соединение не может быть безопасным.

Это происходит из-за использования самоподписного сертификата. Игнорируем предупреждение и переходим на наш сайт управления.

Откроется окно ввода логина и пароля — вводим root и его пароль на сервере:

Нас поприветствует web-интерфейс программы:

4. Если Webmin не работает.

Если Webmin не открывается:

  • проверяем, что система слушает запросы на порту 10000:

# ss -tunlp | grep 10000

Ответ:

  • проверяем, что сервис работает:

# service webmin status

Ответ:

  • проверяем, что мы добавили порт 10000 в брандмауэр:

# iptables -nvL --line-number

или

# firewall-cmd --list-all

Ответ:

...
ports: 10000/tcp
...

5. Смена сертификата для HTTPS.

Если мы хотим использовать купленный или полученный у Let’s Encrypt сертификат, необходимо отредактировать ключ:

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

Примечание:

  • в секцию BEGIN CERTIFICATE вставляем последовательность для открытого ключа;
  • в секцию BEGIN PRIVATE KEY — закрытого.

Перезапускаем webmin:

# service webmin restart

6. Итоговые выводы.

Вы также можете управлять более чем одной системой Linux с помощью функции кластера Webmin. По сути, установите Webmin в каждой системе Linux, а затем добавьте каждую из этих систем в кластер.

Раньше Webmin был популярным приложением среди новых системных администраторов, которые боялись командной строки.

В наши дни доступны лучшие инструменты, такие как Puppet, Chef, Ansible, которые упрощают настройку, развертывание и управление несколькими серверами Linux. Несмотря на то, что для этих инструментов автоматизации требуется обучение, Webmin прост в использовании.

7. Оригиналы источников информации.

  1. break-people.ru «Webmin по-русски».
  2. dmosk.ru «Установка Webmin на Linux CentOS».
  3. pro-spo.ru «Администрирование Linux. Введение в Webmin».
  4. ru.wikipedia.org «Webmin».
  5. andreyex.ru «Установка и настройка Webmin для удаленного и графического управления серверами Linux».

Читайте также: