Instalação Webmin · 9 min read · Nov 02, 2025
Como Instalar Webmin com SSL Let's Encrypt gratuito no Rocky Linux 8

Webmin é uma ferramenta de administração e gerenciamento de Linux gratuita, de código aberto e baseada na web que permite configurar o sistema Linux através de um navegador da web. É escrito em Perl e fornece uma interface web amigável com monitoramento em tempo real da CPU e da RAM. Com o Webmin, você pode realizar várias tarefas administrativas, incluindo gerenciamento de contas de usuário, gerenciamento de pacotes, gerenciamento de firewall, criação de tarefas cron e muito mais.
Neste tutorial, vou mostrar como instalar o Webmin com Nginx e SSL Let’s Encrypt no Rocky Linux 8.
Pré-requisitos
- Um servidor rodando Rocky Linux 8.
- Um nome de domínio válido apontado para o IP do servidor.
- Uma senha de root configurada no servidor.
Instalar Webmin
O Webmin é escrito na linguagem Perl, então você precisará instalar o Perl em seu sistema. Execute o seguinte comando para instalar o Perl:
dnf install perl -yEm seguida, baixe a versão mais recente do tarball do Webmin usando o seguinte comando:
wget https://www.webmin.com/download/webmin-current.tar.gzUma vez que o Webmin é baixado, extraia o arquivo baixado com o seguinte comando:
tar xvf webmin-current.tar.gzEm seguida, crie um diretório de instalação do Webmin e execute o seguinte script para instalar o Webmin:
mkdir -p /usr/local/webmin
./webmin-1.984/setup.sh /usr/local/webmin/Você será solicitado a fornecer o caminho do diretório de configuração, nome de usuário e senha do administrador, conforme mostrado abaixo:
*********************************************************************
Bem-vindo ao script de configuração do Webmin, versão 1.984
*******************************************************************
Webmin é uma interface baseada na web que permite que sistemas operacionais semelhantes ao Unix e serviços Unix comuns sejam facilmente administrados.
Instalando o Webmin de /root/webmin-1.984 para /usr/local/webmin/ ...
*******************************************************************
O Webmin usa diretórios separados para arquivos de configuração e arquivos de log. A menos que você queira executar várias versões do Webmin ao mesmo tempo, você pode apenas aceitar os padrões.
Diretório de arquivos de configuração [/etc/webmin]:
Diretório de arquivos de log [/var/webmin]:
*******************************************************************
O Webmin é escrito inteiramente em Perl. Por favor, insira o caminho completo para o interpretador Perl 5 em seu sistema.
Caminho completo para perl (padrão /usr/bin/perl):
Testando Perl ...
O Perl parece estar instalado corretamente
*******************************************************************
Nome do sistema operacional: Rocky Linux
Versão do sistema operacional: 8.5
*******************************************************************
O Webmin usa seu próprio servidor web protegido por senha para fornecer acesso aos programas de administração. O script de configuração precisa saber:
- Em qual porta executar o servidor web. Não deve haver outro servidor web já usando esta porta.
- O nome de login necessário para acessar o servidor web.
- A senha necessária para acessar o servidor web.
- Se o servidor web deve usar SSL (se seu sistema suportar).
- Se deve iniciar o webmin na inicialização.
Porta do servidor web (padrão 10000):
Nome de login (padrão admin): admin
Senha de login:
Senha novamente:
Usar SSL (s/n): n
Iniciar o Webmin na inicialização (s/n): y
*******************************************************************
*********************************************************************
O Webmin foi instalado e iniciado com sucesso. Use seu navegador da web para acessar
http://rockylinux:10000/
e faça login com o nome e a senha que você inseriu anteriormente.
Por padrão, o Webmin escuta na porta 10000. Você pode verificar isso com o seguinte comando:
ss -antpl | grep 10000Você receberá a seguinte saída:
LISTEN 0 128 0.0.0.0:10000 0.0.0.0:* users:(("miniserv.pl",pid=6601,fd=7))
Configurar Nginx como um Proxy Reverso para Webmin
É uma boa ideia usar o Nginx como um proxy reverso para o Webmin. Primeiro, instale o pacote Nginx usando o seguinte comando:
dnf install nginx -yEm seguida, crie um arquivo de configuração de host virtual do Nginx com o seguinte comando:
nano /etc/nginx/conf.d/webmin.confAdicione as seguintes linhas:
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;
}
}
Salve e feche o arquivo, depois verifique o Nginx para qualquer erro de sintaxe:
ginx -tVocê receberá a seguinte saída:
nginx: o arquivo de configuração /etc/nginx/nginx.conf tem sintaxe correta
ginx: o teste do arquivo de configuração /etc/nginx/nginx.conf foi bem-sucedido
Em seguida, inicie o serviço Nginx e habilite-o para iniciar na reinicialização do sistema:
systemctl start nginx
systemctl enable nginxVocê pode verificar o status do Webmin com o seguinte comando:
systemctl status nginxVocê deve ver a seguinte saída:
? nginx.service - O servidor HTTP e proxy reverso nginx
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2022-02-12 08:20:04 UTC; 17s ago
Process: 7051 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 7050 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 7048 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 7053 (nginx)
Tasks: 2 (limit: 11412)
Memory: 3.7M
CGroup: /system.slice/nginx.service
??7053 nginx: processo mestre /usr/sbin/nginx
??7054 nginx: processo trabalhador
Feb 12 08:20:03 rockylinux systemd[1]: Iniciando o servidor HTTP e proxy reverso nginx...
Feb 12 08:20:04 rockylinux nginx[7050]: nginx: o arquivo de configuração /etc/nginx/nginx.conf tem sintaxe correta
Feb 12 08:20:04 rockylinux nginx[7050]: nginx: o teste do arquivo de configuração /etc/nginx/nginx.conf foi bem-sucedido
Feb 12 08:20:04 rockylinux systemd[1]: nginx.service: Falha ao analisar PID do arquivo /run/nginx.pid: Argumento inválido
Feb 12 08:20:04 rockylinux systemd[1]: Iniciado o servidor HTTP e proxy reverso nginx.
Habilitar SSL no Webmin
É recomendado proteger o Webmin com SSL Let’s Encrypt. Primeiro, você precisará instalar o cliente Certbot para gerenciar o SSL Let’s Encrypt. Você pode instalá-lo com o seguinte comando:
dnf install epel-release -y
dnf install python3-certbot-nginx -yEm seguida, execute o comando certbot para baixar e instalar o SSL Let’s Encrypt no domínio do Webmin.
certbot --nginx -d webmin.linuxbuz.comVocê será solicitado a fornecer seu endereço de e-mail válido e aceitar os termos de serviço:
Salvando log de depuração em /var/log/letsencrypt/letsencrypt.log
Digite o endereço de e-mail (usado para renovações urgentes e avisos de segurança)
(Digite 'c' para cancelar): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Por favor, leia os Termos de Serviço em
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Você deve
concordar para se registrar no servidor ACME. Você concorda?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(S)im/(N)ão: Y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Você estaria disposto, uma vez que seu primeiro certificado seja emitido com sucesso, a
compartilhar seu endereço de e-mail com a Electronic Frontier Foundation, um parceiro fundador do projeto Let's Encrypt e a organização sem fins lucrativos que
desenvolve o Certbot? Gostaríamos de enviar e-mails sobre nosso trabalho de criptografia na web,
notícias da EFF, campanhas e maneiras de apoiar a liberdade digital.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(S)im/(N)ão: Y
Conta registrada.
Solicitando um certificado para webmin.linuxbuz.com
Certificado recebido com sucesso.
Certificado salvo em: /etc/letsencrypt/live/webmin.linuxbuz.com/fullchain.pem
Chave salva em: /etc/letsencrypt/live/webmin.linuxbuz.com/privkey.pem
Este certificado expira em 2022-05-13.
Esses arquivos serão atualizados quando o certificado for renovado.
O Certbot configurou uma tarefa agendada para renovar automaticamente este certificado em segundo plano.
Implantando certificado
Certificado implantado com sucesso para webmin.linuxbuz.com em /etc/nginx/conf.d/webmin.conf
Parabéns! Você habilitou com sucesso o HTTPS em https://webmin.linuxbuz.com
Não conseguimos inscrevê-lo na lista de e-mails da EFF porque seu endereço de e-mail parece ser inválido. Você pode tentar novamente mais tarde visitando https://act.eff.org.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Se você gosta do Certbot, considere apoiar nosso trabalho:
* Doando para ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Doando para EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Configurar Webmin
Em seguida, você precisará editar o arquivo de configuração do Webmin e definir os referenciadores confiáveis.
nano /etc/webmin/configAdicione a seguinte linha:
referers=webmin.linuxbuz.com
Salve e feche o arquivo, depois edite o arquivo miniserv.conf e desative o modo HTTPS no Webmin:
nano /etc/webmin/miniserv.confAdicione as seguintes linhas:
ssl=0
allow=127.0.0.1
Salve e feche o arquivo quando terminar.
Em seguida, obtenha o ID do processo do Webmin com o seguinte comando:
ps -ef | grep webminVocê receberá a seguinte saída:
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
Em seguida, use o comando kill para encerrar o processo do Webmin.
kill -9 6601Em seguida, inicie o serviço Webmin com systemd e habilite-o para iniciar na reinicialização do sistema:
systemctl start webmin
systemctl enable webminEm seguida, verifique o status do Webmin usando o seguinte comando:
systemctl status webminVocê receberá a seguinte saída:
? webmin.service - Webmin
Loaded: loaded (/usr/lib/systemd/system/webmin.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-02-12 08:25:05 UTC; 54s ago
Process: 7560 ExecStart=/etc/webmin/start (code=exited, status=0/SUCCESS)
Main PID: 7561 (miniserv.pl)
Tasks: 1 (limit: 11412)
Memory: 23.9M
CGroup: /system.slice/webmin.service
??7561 /usr/bin/perl /usr/local/webmin//miniserv.pl /etc/webmin/miniserv.conf
Feb 12 08:25:05 rockylinux systemd[1]: Iniciando o Webmin...
Feb 12 08:25:05 rockylinux start[7560]: Iniciando o servidor Webmin em /usr/local/webmin/
Feb 12 08:25:05 rockylinux webmin[7560]: Webmin iniciando
Feb 12 08:25:05 rockylinux systemd[1]: webmin.service: Não é possível abrir o arquivo PID /var/webmin/miniserv.pid (ainda?) após a inicialização: Nenhum arquivo ou diretório>
Feb 12 08:25:05 rockylinux systemd[1]: Iniciado o Webmin.
Configurar Firewall
Se o firewall firewalld estiver instalado em seu servidor. Então, você precisará permitir as portas 80 e 443 através do firewall. Você pode permiti-las com o seguinte comando:
firebase-cmd --add-port=80/tcp --permanent
firebase-cmd --add-port=443/tcp --permanentFinalmente, recarregue o serviço de firewall para aplicar as alterações:
firebase-cmd --reloadAcessar a Interface do Webmin
Agora, abra seu navegador da web e acesse a interface do Webmin usando a URL https://webmin.linuxbuz.com. Você será redirecionado para a página de login do Webmin:

Forneça seu nome de usuário e senha de administrador e clique no botão Login. Você deve ver o painel do Webmin na página seguinte:

Conclusão
Parabéns! você instalou com sucesso o Webmin com Nginx e SSL Let’s Encrypt no Rocky Linux 8. Agora você pode gerenciar seu sistema Linux facilmente através do navegador da web. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.