Para começar este tutorial primeiro você precisa ter uma ótima hospedagem de sites. Se o seu site é pequeno ou estático, recomendamos uma hospedagem de sites compartilhada. No entanto, se o site tem muitos acessos, recomendamos o uso de uma VPS. Neste artigo, vamos orientar como configurar uma VPS de maneira segura para posteriormente instalar o PHP 8.2, NGINX, MariaDB e WordPress. Dito isso, você vai precisar de acesso SSH ao servidor. Vamos dividir este tutorial em várias etapas, nesta primeira etapa vamos configurar a VPS, trocando usuários, criando regras de firewall e em seguida configuramos tudo para ser utilizado com o WordPress super rápido com NGINX, cache de objetos e até o FastCGI.
Além disso, vamos também nos próximos capítulos configurar cache de página e cache de objetos, mas é muito importante que você nunca pule nenhuma etapa. Assim, vamos inicialmente fazer alguns ajustes antes mesmo de configurar um servidor WordPress com NGINX, PHP e MariaDB ou MySQL. Se você tem dúvidas, pode ler o artigo sobre como escolher uma hospedagem de sites.
Configurando o hostname da nossa VPS
Para começar a manter tudo organizado, vamos atribuir um nome a nossa máquina. Este nome, que é o hostname, não vai influenciar em nada em seu domínio final. Mas, eu prefiro manter tudo organizado e padronizado, se você não gosta disso pode pular para a próxima etapa.
No entanto, caso queira, pode ajuste o hostname tendo como exemplo o comando abaixo, troque o “vps.sempreupdate.com.br”, pelo nome que desejar, lembre-se de manter as aspas.
echo "vps.sempreupdate.com.br" > /etc/hostname
hostname -F /etc/hostname
Configurando o fuso horário na VPS
Neste exemplo de instalação do NGINX + MariaDB + PHP-FPM estamos usando o Ubuntu 22.04, mas este comando funcionará em qualquer distribuição Linux, é nele que vamos definir o nosso horário local, execute o comando abaixo e utilize as setas do teclado. Assim, vá até América e quando o campo for selecionado pressione ENTER para abrir outras opções.
dpkg-reconfigure tzdata
Em seguida uma lista em ordem alfabética será exibida, se você estiver no Nordeste brasileiro pode escolher Recife ou Brasília como fuso horário base, mas não se preocupe, isso não quer dizer que você está morando nestas cidades, isso é apenas para definir o seu fuso, já que no Brasil são múltiplos.
Atualizando o Ubuntu 22.04 em uma VPS
Agora que já temos uma configuração básica do Ubuntu em uma VPS, vamos para as atualizações. Essa etapa é muito importante, com ela é possível evitar ataques ou bugs que podem travar o seu servidor. Para atualizar tudo execute o comando abaixo, lembre-se que após a atualização do Ubuntu 22.04 na VPS vamos precisar reiniciar a VPS. Você pode fazer isso pelo painel da sua hospedagem ou executando comando posterior.
Para atualizar o sistema completamente, execute o comando abaixo, se estiver como root execute sem o sudo.
sudo apt update && sudo apt dist-upgrade -y
Agora, reinicie a VPS com o comando abaixo:
sudo reboot
Após reiniciar você vai precisar informar o usuário originalmente criado e depois a senha.
Criando um novo usuário para a VPS
Para manter o nosso servidor web para WordPress mais seguro, não vamos usar o usuário padrão da VPS. Isso é recomendado com uma certa urgência, às vezes os provedores de hospedagem criam usuários e utilizam senhas com um certo padrão, e isso pode facilitar brechas para que crackers tente explorá-las. E tendo me vista que ninguém quer perder seu site, vamos criar um outro usuário, troque o nome do usuário pelo o que você for usar, além disso memorize bem a senha.
Execute o comando abaixo para criar um novo usuário na VPS:
adduser joao
Você verá algo como as saídas abaixo, lembre-se que criar uma senha forte, afinal você não quer que um software descubra sua senha, nada de usar senhas fáceis em sua VPS.
root@vps.sempreupdate.com.br:~# adduser joao
Adicionando o usuário `joao ...
Adicionando novo grupo `joao '(1000) ...
Adicionando novo usuário `joao' (1000) com o grupo `joao' ...
Criando diretório inicial `/home/joao' ...
Copiando arquivos de `/etc/skel' ...
Nova Senha:
Digite novamente a nova senha:
passwd: senha atualizada com sucesso
Alterando as informações do usuário para Joao
Insira o novo valor ou pressione ENTER para o padrão
Nome completo []: Joao Negromonte
Número do quarto []:
Telefone de Trabalho []:
Telefone residencial []:
Outro []:
A informação está correta? [S/n]
Agora, adicione o novo usuário, no exemplo “joao”, para o grupo sudo. Como já avisamos antes, esteja atendo ao uso do sudo, se estiver usando o root pode executar o comando como no exemplo trocando apenas o nome do usuário.
usermod -a -G sudo joao
Agora, vamos precisar sair do usuário padrão da VPS e logar novamente com o novo usário criado, a partir de agora vamos usar o comando sudo em todos os comandos.
Execute o comando abaixo para sair do usuário root da VPS:
logout
Configurando o Firewall da VPS NGINX com Ubuntu para sites WordPress
No Ubuntu temos o ufw que é uma interface muito simples de usar, para isso execute o comando abaixo para instalar, em alguns provedores ele já vem instalado.
sudo apt install ufw
Agora vamos adicionar as portas para SSH (22), HTTP (80) e HTTPS (443) com o comando abaixo:
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
Em seguida, confira tudo o que está liberado no firewall da sua VPS até agora com o comando abaixo:
sudo ufw show added
Você deve ver algo como no exemplo abaixo:
Added user rules (see 'ufw status' for running firewall):
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
Agora, vamos ativar o Firewall, lembre-se de ficar atento especialmente a porta 22, que é o que estamos usando em nosso acesso SSH.
sudo ufw enable
Se por ventura, você ainda queira chegar tudo novamente execute o comando abaixo:
sudo ufw status verbose
Você verá a seguinte saída:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
80/tcp (v6) ALLOW IN Anywhere (v6)
443/tcp (v6) ALLOW IN Anywhere (v6)
Configurando o fail2ban em uma VPS
Agora, que já configuramos algumas portas SSH e da própria internet, precisamos melhorar a segurança do nosso servidor. Como vamos criar, configurar uma VPS com Nginx para WordPress, saiba que há um plugin fail2ban para WordPress, ele é gratuito e você pode instalar no WordPress e monitorar todos os acessos indevidos ao seu servidor.
Além disso, o plugin também exibe logs de acessos, banimentos e possui a opção de configurar algumas regras caso você queira. Para instalar o Fail2ban execute o comando abaixo:
sudo apt install fail2ban
Agora, ative o fail2ban com o comando abaixo:
sudo service fail2ban start
Aproveite e já guarde o link ou faça o download do arquivo do plugin fail2ban, afinal ainda não temos o WordPress instalado neste momento, então já separe o link ou o plugin para uso posterior.
Ainda sobre segurança de uma VPS é recomendável que você sempre verifique o seu servidor. Além disso, mantenha as atualizações em dia. Em breve vamos prosseguir com a instalação e configuração do servidor web com NGINX, MariaDB e WordPress.