Requisitos
Para configurar sua Hospedagem WordPress em um servidor privado na Vultr você vai precisar apenas de:
- Domínio válido com acesso a DNS
- Cadastro na Vultr
Nota: Neste tutorial estamos utilizando a empresa Vultr para criação do nosso servidor, mas você poderá contratar qualquer provedor desde que cumpra os requisitos mínimos para acompanhar os capítulos do projeto.
Cadastre na Vultr e ganhe $100 dólar grátis para utilizar no primeiro mês: https://www.vultr.com/?ref=8940956-8H
Criando um Servidor Privado na Vultr para seu WordPress
Neste tutorial não vamos abordar o processo inicial de criação do VPS na Vultr, pois temos uma aula ensinando todo o passo a passo e você pode visualizar a aula para aprender o processo.
O tutorial em vídeo também aborda o primeiro acesso via SSH no VPS, e é de suma importância que você aprenda minimamente a acessar o servidor.
No entanto escolha um VPS com os seguintes requisitos
- Ubuntu 20:04 LTS
- Mínimo 1GB RAM
No nosso tutorial eu escolhi um VPS do estilo Cloud Compute por ser um modelo de custo benefício, e nossa máquina é a de 2GB e 1CPU.
Você deve também selecionar uma região mais próxima de você para minimizar o máximo a latência. A Vultr tem data center em América/São Paulo, se sua aplicação WordPress precisa de uma latência bem pequena você pode escolher essa localidade.
Configurações Iniciais
Creio que você já assistiu o vídeo e aprendeu a criar o VPS e também acessar o servidor via SSH. Então está pronto para começarmos as nossas primeiras configurações no nosso servidor VPS WordPress.
Configurando o nome do host
Uma das primeiras coisas que devemos configurar no nosso servidor é o nome do host com um domínio totalmente qualificado (FQDN). Esse nome é único, mas não tem relação com o site WordPress que iremos configurar.
Realizar essa configuração vai facilitar bastante futuras conexões no servidor, uma vez que você poderá acessar o servidor sem utilizar o IP da máquina, e sim, apenas com o nome do host definido.
Para configurar o nome do host execute os comandos abaixo, substituindo o domínio.
echo "wpserver.alexjunio.com.br" > /etc/hostname
hostname -F /etc/hostname
Para colocar em vigor o nome do host associado ao seu domínio é necessário configura-lo no DNS do seu domínio. Nesse tutorial utilizo o DNS da CloudFlare, mas no geral o processo de configuração do apontamento do registro é o mesmo.
Note que eu configurei um registro do tipo (A) onde o nome (wpserver) está apontado para um IP, que será o IP do nosso servidor. Também desabilitei a nuvem de Proxy para não interferir futuramente na emissão do SSL.
Após realizar a configuração acima no seu provedor de DNS a propagação pode demorar de alguns minutos até algumas horas. Uma vez propagado, você vai poder realizar conexão via SSH utilizando o nome de host configurado, veja um exemplo abaixo:
ssh [email protected]
Configurando o horário do servidor
Ter o horário do nosso servidor configurado pode evitar vários problemas desde um agendamento de postagem no WordPress como até mesmo o horário do backup. Para realizar a configuração você precisa do pacote tzdata instalado no servidor, é através dele que definimos o timezone correto que é o America/Sao_Paulo.
Execute os comandos abaixo para instalar o tzdata e configurar o timezone do nosso servidor.
export DEBIAN_FRONTEND=noninteractive
ln -fs /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
apt-get install -y tzdata
dpkg-reconfigure --frontend noninteractive tzdata
Agora veja se o horário do servidor está corretamente atualizado executando o comando abaixo:
date
Atualizando o Sistema
Por mais que você contrate um servidor novo, alguns softwares instalados podem estar desatualizados. Vamos atualizar o nosso sistema para que tenhamos as listas de pacotes atualizados.
Execute os comandos abaixo.
apt update
apt upgrade -y
Quando todas as atualizações forem executadas, você verá quais pacotes foram instalados e também quais pacotes não são mais necessários para o sistema.
Para remover os pacotes desatualizados execute o comando abaixo:
apt autoremove
Configurando Usuário
Utilizar o usuário root do servidor para acessos ssh e tarefas básicas não é algo recomendado, inclusive é algo que deve ser evitado ao máximo. Para resolver esse problema, vamos criar um usuário adicional que será responsável por gerenciar e configurar tudo o que envolve a nossa hospedagem wordpress.
Esse usuário poderá ser utilizado para;
- Acesso SSH e SFTP
- Tarefas administrativas no código do WordPress
- Restart de serviços como MySQL, Nginx, PHP
Para que o usuário tenha todos os privilégios necessários para seu pleno funcionamento, vamos adiciona-lo ao grupo sudo. Desse modo, não terá problemas maiores na execução de comandos de administração.
Para criar o usuário execute os passos abaixo:
adduser alex
# obs: Insira um nome de usuário desejado na linha acima
Em seguida você precisará inserir informações sobre o usuário e também uma senha, lembre que a senha precisa ser minimamente complexa.
[email protected]:~$ sudo adduser alex
Adicionando usuário `alex ...
Adicionando novo grupo `alex' (1002) ...
Adicionando novo usuário `alex' (1002) com o grupo `alex' ...
Criando o diretório inicial `/home/alex' ...
Copiando arquivos de `/etc/skel' ...
Nova Senha:
Redigite a nova senha:
passwd: senha atualizada com sucesso
Alterando as informações do usuário para alex
Insira o novo valor ou pressione ENTER para o valor padrão
Nome Completo []: alex Rich
Número do quarto []:
Telefone de Trabalho []:
Telefone residencial []:
Outro []:
As informações estão corretas? [S/n]
Após confirmar e criar o usuário, adicione ao grupo sudo:
usermod -a -G sudo alex
Agora realize uma nova conexão SSH no seu servidor, no entanto utilizando o usuário que você acabou de configurar.
ssh [email protected]
Se a conexão foi bem sucedida, significa que você configurou o usuário corretamente e está pronto para a próxima etapa.
Configurando o Firewall
O Firewall vai nos ajudar bastante pois oferece uma camada adicional de segurança em nosso servidor WordPress, ele vai bloquear tráfego de rede de entrada. No Ubuntu o UFW é instalado por padrão, caso o seu sistema por algum motivo não tenha, instale executando o comando abaixo:
sudo apt install -y ufw
sudo ufw enable
sudo systemctl start ufw
Agora podemos liberar as portas que nossos serviços irão trabalhar, que respectivamente são as portas para protocolos http, https e ssh.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
Configurando o Fail2ban
O Fail2ban é uma ferramenta gratuita que funciona junto com o firewall. Ele monitora as tentativas de acesso ao nosso servidor e pode bloquear um determinado atacante por um período de tempo. Caso ele detecte algo malicioso, o IP do atacante é bloqueado. Servidores profissionais WordPress precisam de segurança avançada e o Fail2ban pode nos ajudar nessa tarefa.
Para instalar o Fail2ban execute os comandos abaixo:
sudo apt install -y fail2ban
sudo service fail2ban start
Por padrão o Fail2ban irá monitorar e bloquear um usuário/host por 10 minutos após 6 tentativas de ataque ao SSH. Existem muitas configurações avançadas e personalizadas para Fail2ban focado em WordPress, traremos mais conteúdos sobre isso.
Para manter o servidor minimamente seguro sempre execute as tarefas abaixo:
- Atualizar o servidor
- Manter plugins e templates atualizados
- Evitar Nulled
- Configurar senhas complexas e fortes *mínimo 30 dígitos
- Configuração de Firewall
- Utilizar CloudFlare se possível ou Sucuri Firewall na camada Web
Conclusão
Nesse capítulo realizamos todas as configurações mínimas e necessárias para começar a trabalhar no nosso servidor para hospedagem WordPress. No próximo capítulo vou te ensinar a configurar o LEMP e emitir certificados SSL com Let’s Encrypt.