Установка 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 с Nginx и SSL Let’s Encrypt на Rocky Linux 8. Теперь вы можете легко управлять вашей системой Linux через веб-браузер. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.
Get new posts in your inbox
No spam. Unsubscribe anytime.