O autor selecionou o Tech Education Fund para receber uma doação de $100 como parte do programa Write for DOnations.
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.
Para completar este tutorial, você precisará de:
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:
- sudo nano /etc/apt/sources.list
Então, adicione esta linha ao final do arquivo para adicionar o novo repositório:
. . .
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:
- wget http://www.webmin.com/jcameron-key.asc
- sudo apt-key add jcameron-key.asc
Em seguida, atualize a lista de pacotes para incluir o repositório do Webmin:
- sudo apt update
Então, instale o Webmin:
- sudo apt install webmin
Assim que a instalação terminar, você será apresentado com o seguinte resultado:
OutputWebmin 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.
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:
- 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:
<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:
- sudo nano /etc/webmin/miniserv.conf
Encontre a seguinte linha:
...
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:
- sudo nano /etc/webmin/config
Adicione a seguinte linha ao final do arquivo, substituindo o your_domain
pelo seu domínio totalmente qualificado.
. . .
referers=your_domain
Salve o arquivo e saia do editor.
Em seguida, reinicie o Webmin para aplicar as alterações de configuração:
- sudo systemctl restart webmin
Então, habilite o módulo proxy_http
do Apache:
- sudo a2enmod proxy_http
Você verá o seguinte resultado:
OutputConsidering 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:
- sudo a2ensite your_domain
Você verá o seguinte resultado indicando que seu site está ativo:
OutputEnabling 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:
- 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:
- sudo certbot --apache --email your_email -d your_domain --agree-tos --redirect --noninteractive
Você verá o seguinte resultado:
OutputSaving 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.
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.
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:
deploy
.Deployment user
.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.
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:
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.
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.
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!