VPS - Tutorial - Crie seu servidor

Neste artigo irei explicar como configurar e gerenciar um VPS (Virtual Private Server) para a hospedagem de websites e e-mails. Este material será útil para os administradores de sistema que queiram migrar de servidores VPS comerciais, para sua própria infraestrutura, ou para os desenvolvedores que desejam criar ambientes de desenvolvimento e de homologação de seus sistemas.

[ Hits: 9.867 ]

Por: Diego Mendes Rodrigues em 23/09/2020 | Blog: https://www.linkedin.com/in/diegomendesrodrigues/


VPS - Tutorial - Crie seu servidor



Neste artigo irei explicar como configurar e gerenciar um VPS (Virtual Private Server, ou Servidor Privado Virtual) para a hospedagem de websites e e-mails. Este material será útil para os administradores de sistema que queiram migrar de servidores VPS comerciais, para sua própria infraestrutura, ou para os desenvolvedores que desejam criar ambientes de desenvolvimento e de homologação de seus sistemas. Para que o administrador gerencie o servidor em uma interface através da web, iremos utilizar o painel de controle Virtualmin, sendo ele um software de código aberto com diversas opções disponíveis.

Gerenciar seu próprio VPS possui algumas vantagens:
  • As páginas web costumam carregar de forma mais rápida, estando na sua rede local;
  • Você possui um controle total sobre o ambiente;
  • O acesso através do shell seguro (SSH) viabiliza a transferências de arquivos de forma fácil e rápida, além de backups remotos e acesso ao terminal;
  • Isolamento do seu ambiente nos seus servidores;
  • Você pode disponibilizar o acesso de forma privada para seus clientes;
  • Adquirir conhecimento relativo ao funcionamento dos servidores web.

Caso você não esteja acostumado com a utilização de VPS, eles costumam ser máquinas virtuais vendidas por empresas de hospedagem na web, como servidores virtuais. O servidor virtual possui seu próprio sistema operacional dedicado (como Linux ou Windows) e o cliente possui acesso superusuário (root no caso do Linux), permitindo a instalação de qualquer software que seja compatível com o sistema operacional instalado. Esses servidores virtuais dividem um espaço e alocam parte de um servidor físico, como espaço em disco, memória RAM e processador, em um processo conhecido como virtualização.

A contratação de um servidor virtual (VPS) costuma ser bem mais barata do que a contratação de um servidor dedicado, ou em nuvem (cloud), pois estes servidores virtuais compartilham os recursos físicos de um servidor dedicado com outros clientes. Servidores virtuais privados (VPS) são utilizados na maioria das vezes para hospedagem de sites e aplicações web.

A escolha do sistema operacional e do painel de controle

Eu particularmente prefiro as hospedagens baseadas no LAMP (Linux, Apache, MySQL, PHP) ou LEMP (Linux, Nginx que se pronuncia Engine-X, MySQL, PHP), por serem softwares de código aberto e compatíveis com os gerenciadores de conteúdo mais populares da atualidade. Dentre os principais gerenciadores, devemos levar em consideração que eles costumam ser completos e muito seguros. Neste material iremos utilizar o LAMP, portanto bancos de dados como PostgreSQL, MariaDB, dentre outros não serão utilizados.

Para a configuração e o gerenciamento do servidor, recomendo a utilização do Virtualmin ao invés de um sistema licenciado como o cPanel ou o Plesk, pois esta solução é cheia de recursos, além de ser uma forma extremamente acessível para configurar e gerenciar diversos servidores ao mesmo tempo. Com essa solução você pode alterar arquivos de configuração manualmente, caso sejam necessárias essas configurações adicionais, e eles não serão sobrescritos, como no caso da utilização de outros softwares. Desta forma, durante este artigo iremos utilizar o Virtualmin.

No gerenciamento do conteúdo individual dos sites, recomendo a utilização de CMS (Content Management System, ou Sistema de Gerenciamento de Conteúdo) bem conhecidos como o WordPress, Drupal ou Joomla.

Instalação

Recomendo a instalação de um servidor desde o início, utilizando o Ubuntu Server 20.04.1 LTS, de forma mais limpa possível. Durante a instalação, não instale nenhum servidor web, ou banco de dados, já que essas instalações e configurações serão realizadas através do Virtualmin.

Caso tenha dúvidas nas perguntas realizadas durante o processo de instalação do Ubuntu Server 20.04.1 LTS, seguem algumas sugestões:
  • Keyboard layout, language and country: escolha as melhores opções para o seu servidor, já que você é o administrador dele.
  • Network connection: mantenha o DHCP neste momento, sem proxy. Caso você esteja criando uma máquina virtual com o VirtualBox, selecione a opção "Bridged" ao invés do DHCP, desta forma, seu servidor fica com um IP local na sua rede.
  • Archive mirror: use o padrão.
  • Guided storage configuration: tipicamente você deve aceitar o padrão, utilizando o disco todo.
  • Profile setup: selecione um nome de usuário simples, sua senha, além do hostname do servidor. Não utilize root como seu nome de usuário.
  • Install OpenSSH server: Sim.
  • Featured server snaps: nenhum é necessário, pois o Virtualmin irá instalar o LAMP além de outros arquivos necessários.

Patches de segurança iniciais

Por razões de segurança, a primeira ação que deve ser realizada ao logar inicialmente no servidor, é a instalação dos últimos patches do sistema operacional, utilizando os seguintes comandos:

sudo apt update
sudo apt full-upgrade

A utilização do comando sudo é necessário pois você não deve estar logado com o usuário root. Na sua primeira utilização, você deve informar sua senha de acesso ao servidor.

Verificando o timezone e o locale

Agora verifique se seu servidor está com o timezone correto. É conveniente ajustar essa configuração para o timezone onde o administrador de sistemas, ou a empresa, está localizado, já que as informações de dada e hora serão utilizadas nos arquivos de log. Você pode verificar a timezone configurada no servidor, além das que estão disponíveis, com os seguintes comandos:

timedatectl
timedatectl list-timezones

Irei alterar a timezone do meu servidor para a de São Paulo, desta forma:

sudo timedatectl set-timezone America/Sao_Paulo

Veja se o servidor está com o locale adequado, sendo ele utilizado para o formato de datas e verificações de senhas:

locale

Para ajustar seu locale, utilize:

sudo dpkg-reconfigure locales
sudo shutdown -r now

Instalar o painel de controle Virtualmin

O download e a instalação do Virtualmin, seguindo as instruções disponibilizadas no site deles, é muito simples e fácil de ser executada, através de apenas dois comandos. Durante a instalação você será questionado para informar, e alterar o hostname, para um "fully qualified name", o que significa um subdomínio de um domínio que você possua, como por exemplo, no meu caso seria vps.drsolutions.com.br. Essa utilização é uma boa ideia, mas não é necessária. No meu caso, utilizei vps.drsolutions. Para realizar a instalação, utilize os seguintes comandos:

wget https://software.virtualmin.com/gpl/scripts/install.sh
sudo /bin/sh install.sh

Quando a instalação terminar, você pode se conectar ao Virtualmin utilizando a porta 10000, usando o https para que a navegação aconteça de forma segura. Eu utilizei o IP 192.168.0.50 na configuração do meu servidor, portanto, irei utilizar a URL: https://192.168.0.50:10000

Você receberá um aviso dizendo que o certificado não é seguro, sendo que esse aviso pode ser ignorado neste momento. Utilize o mesmo usuário e senha que você configurou durante a instalação do servidor Ubuntu.
Você será levado para um assistente de pós instalação "Post-Installation Wizard". Execute esse assistente para que a instalação do seu LAMP aconteça no servidor, além de outras configurações que são necessárias.
Durante o assistente de configuração, seguem algumas sugestões:
  • BIND DNS domain: caso você possua apenas um VPS, é melhor utilizar um servidor gratuito como o Cloudflare.
  • Webalizer reporting and Awstats reporting: utiliza muitos recursos, costumo desabilitar. Quando necessário, utilizo o Matomo ou o Google analytics.
  • PostgreSQL database: Eu utilizo apenas o MySQL (ou o MariaDB), pois a maioria dos scripts requer esse banco de dados.
  • ProFTPd virtual FTP: Costumo utilizar métodos de transferência seguros, como SCP ou SFTP), através do SSH, ao invés do FTP.
  • DAV login: considero lento e inseguro, comparado com o SSH.
  • Spam filtering and Virus filtering: inefetivo e consome muita memória. Costumo utilizar o Amavis.

Caso você esteja utilizando uma máquina virtual, este é um bom momento para realizar um "snapshot", ou criar um clone deste servidor, já que este é um excelente ponto de retorno caso tenha problemas com configurações no futuro.

Verifique seu endereço IP

Você pode verificar seu endereço IP em Webmin -> Networking -> Network Configuration -> Network Interfaces
Selecione sua interface de rede correta. No meu caso é a enp0S3. Depois verifique seu endereço IP, sua máscara de rede, dentre outras configurações.
Na tela de "Network Configuration", reveja também as outras opções, como:
  • Routing and Gateways: defina o gateway correto de sua rede nesta tela, caso ainda não esteja configurado.
  • Hostname and DNS Client: quando alterações forem realizadas nessa tela, seu servidor precisará ser reiniciado.

Restringir os logins no Virtualmin

Quanto exposta na internet, a interface do Virtualmin pode ser um ponto de acesso aos hackers, que desejam um acesso privilegiado ao sistema. Portanto, é extremamente recomendado a utilização de uma autenticação em duas vias, o two-factor authentication.

Devemos inicialmente instalar esses pacotes no Ubuntu:

sudo apt install libauthen-oath-perl
sudo shutdown -r now

Agora, acesse a seguinte tela de configuração: Webmin -> Webmin Configuration -> Two-Factor Authentication.
Selecione "Google Authenticator".
Recomendo que você configure o tamanho mínimo das senhas dos usuários para 10, entrando em: Webmin -> Webmin Users -> Password Restrictions.
O próximo passo é configurar a autenticação com o Google em Webmin -> Webmin Configuration -> Two-Factor Authentication e depois em Enable Two-Factor-Authentication.

Agora, para autenticar no sistema, será necessário o código de autenticação gerado pelo "Authenticator" do Google no seu celular.

Desativar serviços desnecessários

Os serviços proftpd e named-service não devem ser necessários no seu servidor, podendo ser desativados em Webmin -> System -> Bootup and Shutdown.
Selecione esses serviços que serão desabilitados, depois clique no botão "Disable Now and On Boot".

Conclusões

Caso tenha seguido este material, você está com um servidor LAMP pronto para ser utilizado como um VPS local!

Se quiser conhecer melhor o Virtualmin, segue o site oficial:
Utiliza esse tipo de sistema? O que achou do Virtualmin?

   

Páginas do artigo
   1. VPS - Tutorial - Crie seu servidor
Outros artigos deste autor

Instalar o Go (Golang) no Debian e Ubuntu

Taskwarrior, o Guerreiro das Tarefas - Gerenciar sua Lista TODO no Terminal

Firewall com o UFW

Instalar o Nagios 4 no Ubuntu ou Debian

Usar o apt-get e o apt

Leitura recomendada

Web proxy Mikrotik V3.XX com controle de acesso

Criando um Ubuntu (6.10/7.04) personalizado

Configuração do modem ADSL Siemens Santis

Slackware descomplicado para iniciantes

Integrando Bind com Active Directory (AD)

  
Comentários
[1] Comentário enviado por maurixnovatrento em 23/09/2020 - 13:12h


Bem legal, muito bom.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts