Alex Junio
Voltar para o Blog
WordPress

Configurando VPS para Hospedagem WordPress na Vultr

admin

admin

Engenheiro Cloud & DevOps

Publicado em

24/04/2022

Compartilhe

Introdução a VPS Vultr para WordPress

Este é um conjunto de artigos criado para ensinar, passo a passo, como configurar um VPS Ubuntu para hospedar WordPress na Vultr com segurança, otimização e alto desempenho. Acompanhe a sequência completa e configure seu servidor de forma profissional!

📌 Confira os artigos na ordem recomendada:

🔹 Parte 01 – Introdução: VPS WordPress na Vultr

🔹 Parte 02 – Configurando VPS Ubuntu Vultr com Nginx, PHP e MySQL

🔹 Parte 03 – Instalando o WordPress no Ubuntu Vultr

🔹 Parte 04 – Como otimizar o Nginx e PHP no VPS Ubuntu Vultr

🔹 Parte 05 – Configurando Cache no Nginx e Redis

🔹 Parte 06 – Configurações de Cron no VPS Ubuntu Vultr

🔹 Parte 07 – Configurando Backups Automáticos no Servidor

🔹 Parte 08 – Segurança no Nginx: Protegendo seu WordPress

🔹 Parte 09 – Monitoramento do VPS Ubuntu: Ferramentas Essenciais

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

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.

hospedagem wordpress

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.

bash
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:

bash
ssh root@wpserver.alexjunio.com.br

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.

bash
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:

bash
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.

bash
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:

bash
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:

bash
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.

bash
root@wpuser.alexjunio.com.br:~$ 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:

bash
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.

bash
ssh alex@wpuser.alexjunio.com.br

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:

bash
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.

bash
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:

bash
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.

admin

Escrito por admin

Engenheiro Cloud & DevOps com mais de 10 anos de experiência construindo e escalando infraestruturas de alto tráfego em AWS, DigitalOcean e Servidores Dedicados.

Conhecer Serviços →

Comentários (4)

Deixe seu comentário

U
Thiago Moreira
Thiago Moreira
Há 2 dias

Excelente artigo, Alex! Estávamos exatamente com esse problema de overprovisioning na nossa startup. Aplicar os Savings Plans salvou quase 30% da nossa conta mensal.

Alex Junio
Alex JunioAutor
Há 1 dia

Fico feliz que ajudou, Thiago! Essa economia faz total diferença no longo prazo. Se precisarem de ajuda para escalar o banco de dados depois, me deem um toque.

Juliana Costa
Juliana Costa
Há 4 dias

Não tinha pensado em usar Spot para as filas do SQS. Existe algum risco do Spot ser finalizado no meio de um processamento pesado de vídeo?

Alex Junio
Alex JunioAutor
Há 4 dias

Sim, Juliana! A AWS te avisa com 2 minutos de antecedência. O segredo é sua aplicação capturar o evento de interrupção e colocar a mensagem de volta na fila (visibility timeout) antes da máquina morrer.

Roberto Freitas
Roberto Freitas
Há 1 semana

Muito bom o conteúdo técnico. Falta só mais detalhes sobre instâncias Graviton.

Carla Mendes
Carla Mendes
Há 1 semana

Sensacional! Usei as dicas de Right-Sizing e deu muito certo no meu e-commerce.