Tutorial

Como Instalar o Webmin no Ubuntu 18.04

Published on December 12, 2019
Português
Como Instalar o Webmin no Ubuntu 18.04

O autor selecionou o Tech Education Fund para receber uma doação de $100 como parte do programa Write for DOnations.

Introdução

O Webmin é um painel de controle baseado na Web para qualquer máquina Linux que permite que você gerencie seu servidor através de uma interface moderna baseada em Web. Com o Webmin, você pode alterar as configurações de pacotes comuns rapidamente, incluindo servidores e bancos de dados Web, além de gerenciar pacotes de usuários, grupos e software.

Neste tutorial, você irá instalar e configurar o Webmin no seu servidor e garantir o acesso à interface com um certificado válido utilizando o Let’s Encrypt e o Apache. Então, você usará o Webmin para adicionar novas contas de usuário, e atualizar todos os pacotes no seu servidor a partir do painel de controle.

Pré-requisitos

Para completar este tutorial, você precisará de:

Passo 1 — Instalando o Webmin

Primeiramente, precisamos adicionar o repositório Webmin para que possamos instalar e atualizar facilmente o Webmin utilizando nosso gerenciador de pacotes. Fazemos isso adicionando o repositório ao arquivo /etc/apt/sources.list.

Abra o arquivo no seu editor:

  1. sudo nano /etc/apt/sources.list

Então, adicione esta linha ao final do arquivo para adicionar o novo repositório:

/etc/apt/sources.list
. . . 
deb http://download.webmin.com/download/repository sarge contrib

Salve o arquivo e saia do editor.

Em seguida, adicione a chave Webmin PGP para que seu sistema confie no novo repositório:

  1. wget http://www.webmin.com/jcameron-key.asc
  2. sudo apt-key add jcameron-key.asc

Em seguida, atualize a lista de pacotes para incluir o repositório do Webmin:

  1. sudo apt update

Então, instale o Webmin:

  1. sudo apt install webmin

Assim que a instalação terminar, você será apresentado com o seguinte resultado:

Output
Webmin install complete. You can now login to https://your_server_ip:10000 as root with your root password, or as any user who can use `sudo`.

Agora, vamos proteger o acesso ao Webmin colocando ele por trás do servidor Web Apache e adicionando um certificado TLS/SSL válido.

Passo 2 — Protegendo o Webmin com o Apache e o Let’s Encrypt

Para acessar o Webmin, você precisa especificar a porta 10000 e garantir que a porta está aberta no seu firewall. Isso é inconveniente, especialmente se estiver acessando o Webmin utilizando um FQDN como o webmin.your_domain. Vamos usar um host virtual do Apache para pedidos de proxy no servidor do Webmin funcionando na porta 10000. Então, vamos proteger o host virtual utilizando um certificado TLS/SSL do Let’s Encrypt.

Primeiramente, crie um novo arquivo de host virtual do Apache no diretório de configuração do Apache:

  1. sudo nano /etc/apache2/sites-available/your_domain.conf

Adicione o que vem a seguir ao arquivo, substituindo o endereço de e-mail e domínio por seus próprios:

/etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>
        ServerAdmin your_email
        ServerName your_domain
        ProxyPass / http://localhost:10000/
        ProxyPassReverse / http://localhost:10000/
</VirtualHost>

Esta configuração diz ao Apache para passar os pedidos para http://localhost:10000, o servidor do Webmin. Ela também garante que os links internos gerados do Webmin também irão passar pelo Apache.

Salve o arquivo e saia do editor.

Em seguida, precisamos dizer ao Webmin para parar de usar o TLS/SSL, uma vez que o Apache irá fornecer isso para nós a partir de agora.

Abra o arquivo /etc/webmin/miniserv.conf no seu editor:

  1. sudo nano /etc/webmin/miniserv.conf

Encontre a seguinte linha:

/etc/webmin/miniserv.conf
...
ssl=1
...

Altere o 1 para 0. Isto irá dizer ao Webmin para parar de usar o SSL.

Em seguida, vamos adicionar nosso domínio à lista de domínios permitidos, para que o Webmin compreenda que quando acessarmos o painel do nosso domínio, não é algo malicioso, como um ataque Cross-Site Scripting (XSS).

Abra o arquivo /etc/webmin/config no seu editor:

  1. sudo nano /etc/webmin/config

Adicione a seguinte linha ao final do arquivo, substituindo o your_domain pelo seu domínio totalmente qualificado.

/etc/webmin/config
 . . . 
referers=your_domain

Salve o arquivo e saia do editor.

Em seguida, reinicie o Webmin para aplicar as alterações de configuração:

  1. sudo systemctl restart webmin

Então, habilite o módulo proxy_http do Apache:

  1. sudo a2enmod proxy_http

Você verá o seguinte resultado:

Output
Considering dependency proxy for proxy_http: Enabling module proxy. Enabling module proxy_http. To activate the new configuration, you need to run: systemctl restart apache2

O resultado sugere que você reinicie o Apache, mas primeiro, ative o novo host virtual do Apache que você criou:

  1. sudo a2ensite your_domain

Você verá o seguinte resultado indicando que seu site está ativo:

Output
Enabling site your_domain. To activate the new configuration, you need to run: systemctl reload apache2

Agora, reinicie o Apache completamente para ativar o módulo proxy_http e o novo host virtual:

  1. sudo systemctl restart apache2

Nota: Certifique-se de que você permite o tráfego de entrada para seu servidor Web na porta 80 e na porta 443 como mostrado no tutorial pré-requisito Como Instalar Linux, MySQL, pilha PHP (LAMP) no Ubuntu 18.04. Você pode fazer isso com o comando sudo ufw allow in "Apache Full".

Navegue para http://your_domain no seu navegador, e você verá a página de login do Webmin aparecer.

Aviso: NÃO logue no Webmin ainda, pois ainda não habilitamos o SSL. Se você entrar agora, suas credenciais serão enviadas para o servidor em sem proteção.

Agora, vamos configurar um certificado para que sua conexão esteja criptografada enquanto usar o Webmin. Para fazer isso, vamos usar o Let’s Encrypt.

Diga ao Certbot para gerar um certificado TLS/SSL para seu domínio e configurar o Apache para redirecionar o tráfego para o site seguro:

  1. sudo certbot --apache --email your_email -d your_domain --agree-tos --redirect --noninteractive

Você verá o seguinte resultado:

Output
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for your_domain Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/your_domain-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-ssl.conf Enabling available site: /etc/apache2/sites-available/your_domain-le-ssl.conf Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/your_domain.conf to ssl vhost in /etc/apache2/sites-available/your_domain-le-ssl.conf ------------------------------------------------------------------------------- Congratulations! You have successfully enabled https://your_domain You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=your_domain -------------------------------------------------------------------------------

O resultado indica que o certificado foi instalado e o Apache está configurado para redirecionar pedidos do http://your_domain para https://your_domain.

Agora, você configurou uma instância segura e funcional do Webmin. Vamos ver como usá-lo.

Passo 3 — Usando o Webmin

O Webmin tem módulos que podem controlar tudo do Servidor BIND DNS, até algo tão simples quanto adicionar usuários ao sistema. Vamos ver como criar um novo usuário, e então explorar como atualizar pacotes de software utilizando o Webmin.

Para fazer login no Webmin, navegue até http://your_domain e entre com o usuário root ou um usuário com privilégios sudo.

Gerenciando Usuários e Grupos

Vamos gerenciar os usuários e os grupos no servidor.

Primeiramente, clique na página System, e então clique no botão Users and Groups. A partir daqui, você pode adicionar um usuário, gerenciar um usuário, ou adicionar ou gerenciar um grupo.

Vamos criar um novo usuário chamado deploy que possa ser usado para hospedar aplicativos Web. Para adicionar um usuário, clique em Create a new user, que está localizado no topo da tabela de usuários. Isso mostra a **tela **Create User, onde você pode fornecer o nome de usuário, senha, grupos e outras opções. Siga essas instruções para criar o usuário:

  1. Preencha o Username com deploy.
  2. Selecione Automatic para o User ID.
  3. Preencha o Real Name com um nome descritivo como Deployment user.
  4. Para o Home Directory, selecione Automatic.
  5. Para ****o Shell, selecione **/bin/bash **da lista suspensa.
  6. Para o Password, selecione Normal Password e digite uma senha da sua escolha.
  7. Para o Primary Group, selecione New group with same name as user.
  8. Para o Secondary Group, selecione sudo da lista All groups, e pressione o botão -> para adicionar o grupo na lista in groups.
  9. Pressione Create para criar este novo usuário.

Ao criar um usuário, você pode definir as opções para expiração de senha, a shell do usuário, ou se eles tem permissão para um diretório home.

Em seguida, vamos ver como instalar as atualizações no nosso sistema.

Atualizando Pacotes

O Webmin permite que você atualize todos os seus pacotes através da interface de usuário. Para atualizar todos os seus pacotes, clique no link Dashboard, e então, localize o campo Package updates. Se houver atualizações disponíveis, você verá um link que indica o número de atualizações disponíveis, como mostrado na figura a seguir:

Webmin shows the number of package updates available

Clique neste link, e então pressione **Update selected packages **para iniciar a atualização. Você pode ser solicitado a reiniciar o servidor, que você também pode fazer através da interface do Webmin.

Conclusão

Agora, você tem uma instância segura e funcional do Webmin e você usou a interface para criar um usuário e atualizar pacotes. O Webmin te dá acesso a muitas coisas de que você normalmente precisaria acessar através do console, e ele organiza-as de maneira intuitiva. Por exemplo, se tiver o Apache instalado, você encontraria a página de configuração dele sob Servers, e então Apache.

Explore a interface ainda mais, ou examine a Official Webmin wiki para aprender mais sobre gerenciamento do seu sistema com o Webmin.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar
Theo B

author



Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel