Установка Webmin · 8 min read · Nov 02, 2025

Как установить Webmin с бесплатным SSL Let's Encrypt на Rocky Linux 8

Webmin — это бесплатный, с открытым исходным кодом и веб-инструмент администрирования и управления Linux, который позволяет настраивать систему Linux через веб-браузер. Он написан на Perl и предоставляет удобный веб-интерфейс с мониторингом CPU и RAM в реальном времени. С помощью Webmin вы можете выполнять несколько административных задач, включая управление учетными записями пользователей, управление пакетами, управление брандмауэром, создание cron-задач и многое другое.

В этом руководстве я покажу вам, как установить Webmin с Nginx и SSL Let’s Encrypt на Rocky Linux 8.

Предварительные требования

  • Сервер с установленным Rocky Linux 8.
  • Действительное доменное имя, указывающее на IP-адрес сервера.
  • Пароль root, настроенный на сервере.

Установка Webmin

Webmin написан на языке Perl, поэтому вам нужно будет установить Perl в вашей системе. Выполните следующую команду для установки Perl:

dnf install perl -y

Затем загрузите последнюю версию Webmin в виде tarball с помощью следующей команды:

wget https://www.webmin.com/download/webmin-current.tar.gz

После загрузки Webmin извлеките загруженный файл с помощью следующей команды:

tar xvf webmin-current.tar.gz

Затем создайте каталог установки Webmin и выполните следующий скрипт для установки Webmin:

mkdir -p /usr/local/webmin  
./webmin-1.984/setup.sh /usr/local/webmin/

Вам будет предложено указать путь к каталогу конфигурации, имя пользователя администратора и пароль, как показано ниже:

*********************************************************************

        Добро пожаловать в скрипт настройки Webmin, версия 1.984
*******************************************************************
Webmin — это веб-интерфейс, который позволяет легко администрировать операционные системы, подобные Unix, и общие службы Unix.

Установка Webmin из /root/webmin-1.984 в /usr/local/webmin/ ...

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

Каталог конфигурационного файла [/etc/webmin]: 
Каталог файла журнала [/var/webmin]: 

*******************************************************************
Webmin полностью написан на Perl. Пожалуйста, введите полный путь к интерпретатору Perl 5 в вашей системе.

Полный путь к perl (по умолчанию /usr/bin/perl): 

Тестирование Perl ...
Perl, похоже, установлен корректно

*******************************************************************
Имя операционной системы:    Rocky Linux
Версия операционной системы: 8.5

*******************************************************************
Webmin использует свой собственный защищенный паролем веб-сервер для предоставления доступа к программам администрирования. Скрипт настройки должен знать:
 - На каком порту запустить веб-сервер. Не должно быть другого веб-сервера, который уже использует этот порт.
 - Имя для входа, необходимое для доступа к веб-серверу.
 - Пароль, необходимый для доступа к веб-серверу.
 - Должен ли веб-сервер использовать SSL (если ваша система это поддерживает).
 - Нужно ли запускать Webmin при загрузке.

Порт веб-сервера (по умолчанию 10000): 
Имя для входа (по умолчанию admin): admin
Пароль для входа: 
Пароль еще раз: 
Использовать SSL (y/n): n
Запускать Webmin при загрузке (y/n): y
*******************************************************************
*********************************************************************
Webmin был успешно установлен и запущен. Используйте ваш веб-браузер, чтобы перейти по адресу

  http://rockylinux:10000/

и войдите с именем и паролем, которые вы ввели ранее.

По умолчанию Webmin слушает на порту 10000. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep 10000

Вы получите следующий вывод:

LISTEN 0      128          0.0.0.0:10000      0.0.0.0:*    users:(("miniserv.pl",pid=6601,fd=7))

Настройка Nginx как обратного прокси для Webmin

Хорошей идеей является использование Nginx в качестве обратного прокси для Webmin. Сначала установите пакет Nginx с помощью следующей команды:

dnf install nginx -y

Затем создайте файл конфигурации виртуального хоста Nginx с помощью следующей команды:

nano /etc/nginx/conf.d/webmin.conf

Добавьте следующие строки:

server {
       listen 80;
       server_name webmin.linuxbuz.com;

       access_log /var/log/nginx/webmin.access;
       error_log /var/log/nginx/webmin.error;

       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 на наличие синтаксических ошибок:

ginx -t

Вы получите следующий вывод:

nginx: файл конфигурации /etc/nginx/nginx.conf имеет корректный синтаксис
nginx: тест файла конфигурации /etc/nginx/nginx.conf успешен

Затем запустите службу Nginx и включите ее для автоматического запуска при перезагрузке системы:

systemctl start nginx  
systemctl enable nginx

Вы можете проверить статус Webmin с помощью следующей команды:

systemctl status nginx

Вы должны увидеть следующий вывод:

? nginx.service - Веб-сервер HTTP и обратный прокси nginx
   Загружено: загружено (/usr/lib/systemd/system/nginx.service; отключено; предустановка поставщика: отключено)
   Активно: активно (работает) с Сб 2022-02-12 08:20:04 UTC; 17s назад
  Процесс: 7051 ExecStart=/usr/sbin/nginx (код=выход, статус=0/УСПЕХ)
  Процесс: 7050 ExecStartPre=/usr/sbin/nginx -t (код=выход, статус=0/УСПЕХ)
  Процесс: 7048 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (код=выход, статус=0/УСПЕХ)
 Main PID: 7053 (nginx)
    Задачи: 2 (лимит: 11412)
   Память: 3.7M
   CGroup: /system.slice/nginx.service
           ??7053 nginx: главный процесс /usr/sbin/nginx
           ??7054 nginx: рабочий процесс

Фев 12 08:20:03 rockylinux systemd[1]: Запуск веб-сервера HTTP и обратного прокси nginx...
Фев 12 08:20:04 rockylinux nginx[7050]: nginx: файл конфигурации /etc/nginx/nginx.conf имеет корректный синтаксис
Фев 12 08:20:04 rockylinux nginx[7050]: nginx: тест файла конфигурации /etc/nginx/nginx.conf успешен
Фев 12 08:20:04 rockylinux systemd[1]: nginx.service: Не удалось разобрать PID из файла /run/nginx.pid: Неверный аргумент
Фев 12 08:20:04 rockylinux systemd[1]: Запущен веб-сервер HTTP и обратного прокси nginx.

Включение SSL на Webmin

Рекомендуется защитить Webmin с помощью SSL Let’s Encrypt. Сначала вам нужно будет установить клиент Certbot для управления SSL Let’s Encrypt. Вы можете установить его с помощью следующей команды:

dnf install epel-release -y  
dnf install python3-certbot-nginx -y

Затем выполните команду certbot для загрузки и установки SSL Let’s Encrypt на домен Webmin.

certbot --nginx -d webmin.linuxbuz.com

Вам будет предложено указать ваш действительный адрес электронной почты и принять условия обслуживания:

Сохранение журнала отладки в /var/log/letsencrypt/letsencrypt.log
Введите адрес электронной почты (используется для срочного продления и уведомлений о безопасности)
 (Введите 'c' для отмены): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Пожалуйста, прочитайте Условия обслуживания по адресу
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Вы должны
согласиться, чтобы зарегистрироваться на сервере ACME. Вы согласны?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Вы бы согласились, после успешной выдачи вашего первого сертификата, поделиться своим адресом электронной почты с Электронным фронтом, учредительным партнером проекта Let's Encrypt и некоммерческой организацией, которая
разрабатывает Certbot? Мы хотели бы отправить вам электронное письмо о нашей работе по шифрованию веба,
новостях EFF, кампаниях и способах поддержки цифровой свободы.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Аккаунт зарегистрирован.
Запрос сертификата для webmin.linuxbuz.com

Успешно получен сертификат.
Сертификат сохранен по адресу: /etc/letsencrypt/live/webmin.linuxbuz.com/fullchain.pem
Ключ сохранен по адресу:         /etc/letsencrypt/live/webmin.linuxbuz.com/privkey.pem
Этот сертификат истекает 2022-05-13.
Эти файлы будут обновлены при продлении сертификата.
Certbot настроил запланированную задачу для автоматического продления этого сертификата в фоновом режиме.

Развертывание сертификата
Успешно развернут сертификат для webmin.linuxbuz.com в /etc/nginx/conf.d/webmin.conf
Поздравляем! Вы успешно включили HTTPS на https://webmin.linuxbuz.com
Мы не смогли подписать вас на рассылку EFF, потому что ваш адрес электронной почты кажется недействительным. Вы можете попробовать снова позже, посетив https://act.eff.org.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Если вам нравится Certbot, пожалуйста, подумайте о поддержке нашей работы:
 * Пожертвование ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Пожертвование EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Настройка Webmin

Затем вам нужно будет отредактировать файл конфигурации Webmin и определить доверенные рефереры.

nano /etc/webmin/config

Добавьте следующую строку:

referers=webmin.linuxbuz.com

Сохраните и закройте файл, затем отредактируйте файл miniserv.conf и отключите режим HTTPS в Webmin:

nano /etc/webmin/miniserv.conf

Добавьте следующие строки:

ssl=0
allow=127.0.0.1

Сохраните и закройте файл, когда закончите.

Затем получите идентификатор процесса Webmin с помощью следующей команды:

ps -ef | grep webmin

Вы получите следующий вывод:

root        6601       1  0 08:12 ?        00:00:00 /usr/bin/perl /usr/local/webmin//miniserv.pl /etc/webmin/miniserv.conf
root        7553    1117  0 08:24 pts/0    00:00:00 grep --color=auto webmin

Затем используйте команду kill, чтобы завершить процесс Webmin.

kill -9 6601

Затем запустите службу Webmin с помощью systemd и включите ее для автоматического запуска при перезагрузке системы:

systemctl start webmin  
systemctl enable webmin

Затем проверьте статус Webmin с помощью следующей команды:

systemctl status webmin

Вы получите следующий вывод:

? webmin.service - Webmin
   Загружено: загружено (/usr/lib/systemd/system/webmin.service; включено; предустановка поставщика: отключено)
   Активно: активно (работает) с Сб 2022-02-12 08:25:05 UTC; 54s назад
  Процесс: 7560 ExecStart=/etc/webmin/start (код=выход, статус=0/УСПЕХ)
 Main PID: 7561 (miniserv.pl)
    Задачи: 1 (лимит: 11412)
   Память: 23.9M
   CGroup: /system.slice/webmin.service
           ??7561 /usr/bin/perl /usr/local/webmin//miniserv.pl /etc/webmin/miniserv.conf

Фев 12 08:25:05 rockylinux systemd[1]: Запуск Webmin...
Фев 12 08:25:05 rockylinux start[7560]: Запуск сервера Webmin в /usr/local/webmin/
Фев 12 08:25:05 rockylinux webmin[7560]: Запуск Webmin
Фев 12 08:25:05 rockylinux systemd[1]: webmin.service: Не удается открыть файл PID /var/webmin/miniserv.pid (пока?) после запуска: Нет такого файла или директории
Фев 12 08:25:05 rockylinux systemd[1]: Запущен Webmin.

Настройка брандмауэра

Если на вашем сервере установлен брандмауэр firewalld, вам нужно будет разрешить порты 80 и 443 через брандмауэр. Вы можете разрешить их с помощью следующей команды:

firewall-cmd --add-port=80/tcp --permanent  
firewall-cmd --add-port=443/tcp --permanent

Наконец, перезагрузите службу брандмауэра, чтобы применить изменения:

firewall-cmd --reload

Доступ к интерфейсу Webmin

Теперь откройте ваш веб-браузер и получите доступ к интерфейсу Webmin, используя URL https://webmin.linuxbuz.com. Вы будете перенаправлены на страницу входа в Webmin:

Вход в Webmin

Укажите ваше имя пользователя администратора и пароль, затем нажмите кнопку Войти. Вы должны увидеть панель управления Webmin на следующей странице:

Панель управления Webmin

Заключение

Поздравляем! Вы успешно установили Webmin с Nginx и SSL Let’s Encrypt на Rocky Linux 8. Теперь вы можете легко управлять вашей системой Linux через веб-браузер. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.