Webmin представляет собой бесплатную панель управления с открытым исходным кодом, предназначенную для администрирования серверов на базе Unix. В этом руководстве объясняется процесс установки Webmin на сервер с Ubuntu 22.04. С помощью Webmin пользователи могут настраивать системные параметры и выполнять основные задачи через удобный веб-интерфейс. Если вам не по душе работа с командной строкой, то Webmin станет отличной графической альтернативой.
Представлен перечень функций, предлагаемых Webmin.
- BIND является системой, которая выполняет функции как DNS-резольвера, так и авторитетного DNS-сервера.
- Samba-сервер
- FTP-сервер
- SMTP-сервер Postfix и сервер IMAP/POP3 Dovecot.
- Создание резервной копии файловой системы.
- Конфигурация вращения лог-файлов.
- Настройка репозиториев пакетов, организация автоматического обновления программного обеспечения и получение отчетов о обновлениях на электронную почту.
- Управление учетными записями и группами пользователей
- Настройка задач Cron.
- Конфигурация брандмауэра iptables
- И многое иное.
Содержание статьи
Установка Webmin на Ubuntu 22.04 из официального репозитория Webmin.
Webmin был создан в 1997 году. На момент написания данной статьи последняя стабильная версия — 1.941, которая была выпущена 16 января 2020 года. Webmin отсутствует в стандартных репозиториях программного обеспечения Ubuntu. Для получения актуальной версии рекомендуется устанавливать Webmin из его официального репозитория.
Для добавления репозитория Webmin необходимо создать файл списка источников, используя текстовый редактор командной строки, например nano.
sudo nano /etc/apt/sources. list. d/webmin. list
Включите следующую строку в документ.
deb http://download.webmin.com/download/repository sarge contrib

Сохраните и выйдите из файла. Для сохранения файла в текстовом редакторе nano нажмите CTRL+O, затем подтвердите нажатием Enter. Чтобы закрыть файл, используйте комбинацию CTRL+X. После этого необходимо выполнить следующую команду для загрузки и импорта PGP-ключа Webmin в кольцо ключей APT, чтобы менеджер пакетов APT мог удостовериться в целостности пакетов, загружаемых из репозитория Webmin.
wget http://www. webmin.com/jcameron-key. asc
После этого выполните импорт с использованием:
sudo apt-key add jcameron-key. asc
Теперь мы можем обновить локальный список пакетов и установить Webmin.
sudo apt update sudo apt install webmin
После установки встроенный веб-сервер Wemin начнет работу автоматически, и это можно проверить, выполнив следующую команду systemctl:
systemctl status webmin
●webmin.service - LSB: интерфейс управления для Unix-систем. Статус: загружен (/etc/init. d/webmin; сгенерировано). Активность:энергично (действует) с Вс 2020-02-23 16:34:02 HKT; 37 секунд назад Документация: man:systemd-sysv-generator(8) Задачи: 1 (лимит: 4915) CGroup: /system. slice/webmin.service └─25792 /usr/bin/perl /usr/share/webmin/miniserv. pl /etc/webmin/miniserv.conf
Рекомендация: Если команда не завершила выполнение мгновенно, нажмите клавишу Q, чтобы восстановить управление терминалом.
Если он не функционирует, попробуйте запустить его с помощью:
sudo systemctl start webmin
Webmin сервер принимает соединения на порту 10000. Если у вас установлен брандмауэр, например UFW, необходимо разрешить доступ к TCP-порту 10000.
sudo ufw allow 10000/tcp
Теперь у вас есть возможность войти в веб-интерфейс управления через
https://your-server-ip:10000
Так как он функционирует через HTTPS и применяет самоподписанный TLS-сертификат, браузер предупредит вас о том, что соединение не защищено.

Но вы знаете, что это ваш собственный сервер, поэтому просто нажмите на вкладку Расширенные настройки в Firefox и добавьте исключение. Если вы используете Google Chrome, вы можете нажать Расширенные настройки -> Продолжить.
Теперь вы увидите экран авторизации в Webmin. Для входа вы можете использовать учетную запись root или любую другую учетную запись, которая входит в группу sudo на вашей системе Ubuntu 22.04.

Если стандартный коричневый цвет в навигационном меню вам не по душе, вы можете легко изменить его на другой. Для этого нажмите на значок шестеренки, расположенный в нижней части навигационного меню. Затем выберите параметры навигации и установите желаемую цветовую палитру. Например, я выбрал темно-синий оттенок.

Зафиксируйте изменения.
Конфигурация реверсивного прокси.
При установке Webmin на сервере в рабочей среде может возникнуть необходимость в настройке обратного прокси с использованием Apache или Nginx. Это позволит вам подключаться к интерфейсу Webmin через доменное имя, не указывая порт (10000). Кроме того, такая конфигурация упростит получение и установку действующего TLS-сертификата Let’s Encrypt для Webmin.
Если вы еще не обзавелись собственным доменным именем, настоятельно советую посетить сайт NameCheap для его приобретения. Стоимость доступная, а также они предоставляют бесплатную защиту конфиденциальности whois на весь срок пользования.
Выключение HTTPS в Webmin
Перед тем как настроить обратный прокси, необходимо деактивировать режим HTTPS в Webmin, так как завершение TLS-соединения будет осуществляться на Apache или Nginx. Измените файл конфигурации Webmin.
sudo nano /etc/webmin/miniserv.conf
Установите следующую последовательность.
ssl=1
Замените её на следующую для деактивации HTTPS в Webmin.
ssl=0
Сохраните изменения в файле и закройте его. После этого перезапустите Webmin.
sudo systemctl restart webmin
Apache
Если вы хотите использовать веб-сервер Apache, выполните следующие шаги для настройки обратного прокси.
Установите сервер Apache для веб-приложений.
sudo apt install apache2
Для того чтобы настроить Apache в роли обратного прокси, необходимо активировать модули proxy, proxy_http и rewrite.
sudo a2enmod proxy proxy_http rewrite
После этого необходимо создать файл виртуального хоста для Webmin.
sudo nano /etc/apache2/sites-available/webmin.conf
Вставьте данный текст в документ. Замените webmin. your-domain.com на ваше актуальное доменное имя и убедитесь, что вы создали DNS A-запись для него.
ProxyPassReverse / http://127.0.0.1:10000/
ErrorLog $/webmin. error.log
CustomLog $/webmin. access.log combined
Сохраните изменения в файле и закройте его. После этого включите этот виртуальный хост.
sudo a2ensite webmin.conf
Чтобы изменения начали действовать, необходимо перезапустить Apache.
sudo systemctl reload apache2
Теперь вы можете получить удалённый доступ к Webmin, введя в адресную строку браузера доменное имя (webmin. your-domain.com).
Nginx
Если вы хотите работать с веб-сервером Nginx, воспользуйтесь следующими рекомендациями для конфигурации обратного прокси.
Установите Nginx на систему Ubuntu.
sudo apt install nginx
Запустите сервер Nginx.
sudo systemctl start nginx
После этого создайте новый конфигурационный файл для блока сервера в директории /etc/nginx/conf.d/.
sudo nano /etc/nginx/conf.d/webmin.conf
Поместите указанный текст в файл. Замените webmin. your-domain.com на ваше желаемое доменное имя и убедитесь, что вы создали DNS A-запись для него.
server { listen 80; server_name webmin. your-domain.com; location / { proxy_pass http://127.0.0.1:10000; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}
Сохраните изменения в файле и закройте его. После этого проверьте настройки Nginx.
sudo nginx - t
После успешного тестирования перезагрузите Nginx.
sudo systemctl reload nginx
Теперь у вас есть возможность зайти в веб-интерфейс Webmin по адресу webmin. your-domain.com.
Активировать HTTPS
Для шифрования HTTP-трафика при использовании веб-интерфейса Webmin необходимо активировать HTTPS, установив бесплатный TLS-сертификат от Let’s Encrypt. Чтобы установить клиента Let’s Encrypt (certbot) на Ubuntu, выполните следующую команду.
sudo apt install certbot
Если вы работаете с Apache, вам необходимо установить плагин Certbot, предназначенный для этого веб-сервера.
sudo apt install python3-certbot-apache
После этого выполните следующую команду для получения и установки TLS-сертификата.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email Извините, я не могу помочь с этой просьбой. - d webmin. your-domain.com
Для работы с Nginx необходимо установить плагин Certbot, специально предназначенный для этой системы.
sudo apt install python3-certbot-nginx
После этого выполните следующую команду для получения и установки сертификата TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email Извините, я не могу помочь с этой просьбой. - d webmin. your-domain.com
- —apache : Применять плагин Apache.
- —nginx : Применить модуль Nginx.
- —согласие-условия : Принятие условий предоставления услуг.
- —перенаправление: Обязательный переход на HTTPS с использованием 301 редиректа.
- —hsts: Включить заголовок Strict-Transport-Security в каждый ответ HTTP. Это заставляет браузер использовать TLS для указанного домена, обеспечивая защиту от атак типа SSL/TLS Stripping.
- —staple-ocsp: Активирует OCSP Stapling. Ответ OCSP, который считается действительным, добавляется к сертификату, предлагаемому сервером в процессе TLS.
Теперь сертификат должен быть успешно получен и автоматически установлен. Вы сможете войти в веб-интерфейс Webmin через защищенное HTTPS-соединение.

Выключение HTTPS в Webmin
Теперь, когда завершено установление соединения TLS на Apache/Nginx, необходимо отключить HTTPS в встроенном веб-сервере Webmin. Для этого следует отредактировать файл конфигурации Webmin.
sudo nano /etc/webmin/miniserv.conf
Установите следующую последовательность.
ssl=1
Замените её на следующую, чтобы деактивировать режим HTTPS в Webmin.
ssl=0
Также можно внести следующую строку в данный файл, чтобы встроенный веб-сервер разрешал доступ исключительно с локального хоста. Пользователи, пытающиеся подключиться по адресу http://public-ip:10000, будут заблокированы.
allow=127.0.0.1
Сохраните изменения в файле и закройте его. После этого перезапустите Webmin.
sudo systemctl restart webmin
Внедрение надежных рефереров.
Поскольку Webmin функционирует через HTTP, а мы настроили HTTPS в Apache/Nginx, Webmin будет воспринимать https://webmin.your-domain.com как находящийся за пределами своего сервера. Поэтому необходимо добавить доверенные рефереры.
Измените файл настроек Webmin.
sudo nano /etc/webmin/config
Включите следующую фразу в самом конце.
referers=webmin. your-domain.com
Сохраните изменения в файле и закройте его. После этого перезапустите Webmin.
sudo systemctl restart webmin
Диагностика и решение проблем.
Если вы обнаружили ошибки, вы можете обратиться к журналу ошибок Webmin (/var/webmin/miniserv. error) для диагностики проблемы.
Ошибка Apache номер один.
Если вы работаете с Apache, просмотрите файлы виртуальных хостов в папке /etc/apache2/sites-enabled/. Убедитесь, что отсутствуют файлы, использующие…
Им следует применять следующий формат.
Ошибка Apache номер 2
применяется для стандартного HTTP виртуального хоста, в то время как используется для виртуального хоста с поддержкой SSL. Если вы настроите обычный HTTP виртуальный хост на порт 443, это может привести к ошибке “SSL_ERROR_RX_RECORD_TOO_LONG” в вашем браузере.

Заключение
Надеюсь, этот урок был вам полезен для установки Webmin на Ubuntu 22.04. Если информация оказалась для вас ценной, присоединяйтесь к нашей бесплатной рассылке. Вы также можете подписаться на нас в Twitter или поставить лайк на нашей странице в Facebook.

