18 de setembro de 20254 min de leitura

Configurando VPS da Locaweb - parte 1

Vou subir um projetinho meu na Locaweb e descreverei aqui um pouco do passo a passo que fiz.

Este conteúdo está sendo dividido em partes para facilitar a leitura, ninguém gosta de posts muito grandes.

Estou subindo um projeto pessoal, gymora.com.br.

Depois de fazer muitas pesquisas sobre como subir o backend e o banco de dados utilizando alguma plataforma tipo Railway, Render, Koyeb, etc. Optei pelo mais simples, uma VPS na Locaweb.

Com ela eu vou ter um trabalho maior para configurar várias coisas, mas o mais importante pra mim no momento é que sempre vou pagar o mesmo preço mensalmente e terei as configurações do servidor que contratei.

E claro, poderei aprender mais sobre Infra, DevOps, deploy com pouco dinheiro, algumas ferramentas como Docker Swarm, Traefik, etc.

Abaixo vou listar cada coisa que fiz para ter o servidor funcionando, como eu acesso ele, monitoro, etc.

Setup do servidor na Locaweb

Criar um servidor na Locaweb é bem simples, após escolher quais as configurações do servidor e efetuar o pagamento. Eles vão enviar um email para o Setup Inicial.

Nós escolhemos um nome, após isso podemos escolher entre um Sistema Operacional zerado ou uma aplicação onde já vêm algumas coisas instaladas. No meu caso, foi um SO zerado. Escolhi o Ubuntu, pois já tenho mais familiaridade.

Depois ele pede pra você configurar uma senha para acessar o servidor ou uma chave ssh. Você escolhe o que for melhor pra você.

Após a instalação do servidor, você consegue acessar o painel administrativo e ver algumas informações do servidor como IPv4, Domínio da Locaweb, entre outras coisas.

Configuração de Zona DNS

Como meu domínio foi comprado pelo registro.br, ele também é gerenciado lá. É preciso configurar para que meu domínio e subdomínios estejam apontando para o IP do meu servidor.

Adicionei uma entrada do Tipo A com o nome que gostaria, por exemplo, server e o endereço IPv4 do meu servidor.

Com isso, quando alguém acessar server.gymora.com.br vai apontar para meu servidor.

Para testar se já está funcionando é só rodar um

ping server.gymora.com.br

E o ping deve responder com o IP do servidor.

Acessando o servidor via SSH

Na primeira vez acessando o servidor, só temos acesso com o usuário root. E como eu configurei acesso via chave ssh, eu acesso da seguinte forma:

ssh -i ~/.ssh/minha_chave root@server.gymora.com.br

Ao acessar o servidor pela primeira vez, gosto e recomendo as seguintes etapas

Primeiro acesso ao servidor via SSH

  • Adicionar um novo usuário e conceder privilégios de root
adduser lucas

usermod -aG sudo lucas

usermod -aG root lucas
  • Remover acesso via senha e acesso root
# Abrir o arquivo de configuração SSH
sudo nano /etc/ssh/sshd_config

# Modificar as seguintes linhas
# PermitRootLogin no # Disabilita o login com root usuário
# PasswordAuthentication no  # Disabilita o login com senha

# Reinicia o serviço SSH
sudo systemctl restart ssh
  • Configurar um Firewall (UFW)
# Instalar o UFW
sudo apt install ufw

# Permitir somente as portas necessárias
sudo ufw allow OpenSSH    # SSH
sudo ufw allow 80/tcp     # HTTP
sudo ufw allow 443/tcp    # HTTPS

# Habilita o UFW
sudo ufw enable

# Verifica UFW
sudo ufw status

Com isso, finalizamos a primeira parte da configuração do servidor.

Dica para facilitar

Agora, gosto de criar uma configuração para facilitar meu dia a dia, pois lido com mais de uma chave ssh.

Podemos criar dentro de .ssh/ um arquivo chamado config.

Abro com o VS Code para simplificar

code ~/.ssh/config

E coloco a seguinte configuração

Host gymora-server
  HostName server.gymora.com.br
  User lucas
  IdentityFile ~/.ssh/minha_chave

Onde:

  • Host é o nome que irei utilizar para acessar futuramente.
  • HostName é o endereço que configurei no Registro.br
  • User é o novo usuário que criei
  • IdentityFile é o caminho da chave ssh que estou usando.

Assim consigo acessar da seguinte forma.

ssh gymora-server

Acesso SSH configurado, hora de configurar o servidor

A primeira coisa que gosto de fazer é atualizar o SO.

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

Assim atualiza tudo que já está instalado nele.

Agora vou instalar as ferramentas que gosto de usar no dia a dia dentro do servidor.

As primeiras ferramentas são

sudo apt install -y \
  curl \
  git \
  ufw \
  build-essential \
  htop \
  software-properties-common \
  ca-certificates \
  unzip

Isso eu considero essencial para ter em qualquer computador Ubuntu.
Como estou acostumado no meu terminal do meu computador, gosto também de instalar o zsh com o oh-my-zsh e alguns plugins.

Assim mantenho o ambiente do meu terminal local com meu servidor o mais parecido possível.

sudo apt install zsh

E deixo a seguinte configuração no meu .zshrc

ZSH_THEME="spaceship"

SPACESHIP_USER_SHOW=always
SPACESHIP_USER_PREFIX="🔥 PROD 🔥 "
SPACESHIP_USER_SUFFIX=" "
SPACESHIP_TIME_SHOW=true

ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#663399,standout"
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE="20"
ZSH_AUTOSUGGEST_USE_ASYNC=1

Instalando Docker

Segui o tutorial de instalação do Docker vindo da própria Locaweb

Final da primeira parte

Esse post já ficou um pouco longo e cobre bastante coisa sobre a VPS em si.
Nos próximos já vou trazer informações sobre como estou configurando a aplicação para rodar na VPS com o Traefik, como estou fazendo o CI/CD usando Gitlab, etc.