Como criar um MongoDB em um VPS
O MongoDB é um banco de dados NoSQL popular, conhecido por sua flexibilidade, escalabilidade e desempenho. Ele armazena dados em documentos flexíveis, semelhantes a JSON, o que é perfeito para desenvolvedores que trabalham com aplicativos dinâmicos e de rápida evolução. Se você optou por executar o MongoDB em seu próprio servidor virtual privado (VPS), terá uma experiência gratificante que lhe dará controle total sobre seu ambiente de banco de dados. Este guia o guiará pelo processo passo a passo de configuração do MongoDB em um VPS.
Pré-requisitos
Antes de começarmos, verifique se você tem o seguinte:
- Um VPS com acesso root.
- Ubuntu 20.04 ou uma distribuição Linux semelhante.
- Acesso SSH ao seu VPS.
- Pelo menos 2 GB de RAM (recomendado) para o MongoDB.
- Conhecimento básico da interface de linha de comando (CLI) e dos comandos do Linux.
Etapa 1: Atualizar o sistema
Primeiro, certifique-se de que seu VPS esteja atualizado. Faça login via SSH e execute os seguintes comandos para atualizar a lista de pacotes do seu sistema e instalar as atualizações pendentes:
sudo apt update
sudo apt upgrade -y
Depois que o sistema for atualizado, é recomendável reiniciar o servidor para garantir que todas as atualizações sejam aplicadas corretamente:
sudo reboot
Etapa 2: Instalar o MongoDB
O MongoDB não está incluído nos repositórios padrão do Ubuntu, portanto, você precisará adicionar seu repositório oficial antes de instalá-lo. Veja a seguir como instalar o MongoDB:
Adicionar o repositório do MongoDB
- Importe a chave pública GPG do MongoDB:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
- Crie um arquivo de lista para o MongoDB:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
- Atualize sua lista de pacotes local:
sudo apt update
Instalar os pacotes do MongoDB
Agora, instale os pacotes do MongoDB executando o seguinte comando:
sudo apt install -y mongodb-org
Isso instala o MongoDB junto com outros componentes necessários (como o mongod, o daemon do MongoDB).
Etapa 3: iniciar e habilitar o MongoDB
Depois de instalado, você precisa iniciar o MongoDB e permitir que ele seja executado na inicialização:
sudo systemctl start mongod
sudo systemctl enable mongod
Para confirmar que o MongoDB está em execução, verifique seu status:
sudo systemctl status mongod
Você deverá ver o MongoDB listado como ativo (em execução). Se tudo estiver correto, você está pronto para passar para a configuração.
Etapa 4: proteger o MongoDB
Por padrão, o MongoDB permite acesso não autenticado, o que não é ideal para um ambiente de produção. Para proteger o MongoDB, você deve ativar a autenticação.
Crie um usuário administrador
- Primeiro, acesse o shell do MongoDB:
mongo
- Mude para o banco de dados administrativo:
use admin
- Crie um usuário admin executando o seguinte comando, substituindo adminuser e senha pelo nome de usuário e senha desejados:
db.createUser({
user: "adminuser",
pwd: "password",
roles: [ { { role: "userAdminAnyDatabase", db: "admin" } ]
})
- Saia do shell do MongoDB:
exit
Ativar autenticação
- Abra o arquivo de configuração do MongoDB com um editor de texto:
sudo nano /etc/mongod.conf
- No arquivo de configuração, encontre a seguinte linha:
#security:
- Descomente-a e adicione a seguinte linha abaixo dela:
security:
authorization: enabled
- Salve as alterações e saia do editor (no Nano, pressione Ctrl X , depois Y e Enter).
- Reinicie o MongoDB para aplicar as alterações:
sudo systemctl restart mongod
Etapa 5: Configurar o acesso remoto ao MongoDB (opcional)
Por padrão, o MongoDB escuta somente no localhost (127.0.0.1), o que significa que ele é acessível somente a partir do próprio VPS. Se precisar de acesso remoto, você terá que configurar o MongoDB para permitir conexões de endereços IP externos. Veja como:
- Abra o arquivo de configuração do MongoDB:
sudo nano /etc/mongod.conf
- Encontre a seguinte linha:
bindIp: 127. 0.0.1
- Substitua-a por:
bindIp: 0. 0.0.0
Isso permite que o MongoDB aceite conexões de todos os endereços IP.
- Salve as alterações e saia do editor.
- Reinicie o MongoDB:
sudo systemctl restart mongod
Acesso remoto seguro com um firewall
Permita que apenas endereços IP confiáveis se conectem ao MongoDB configurando o firewall do seu VPS. Se você estiver usando o UFW (Uncomplicated Firewall), veja como permitir conexões remotas na porta padrão do MongoDB (27017):
- Permitir o acesso de um IP específico (substitua your_ip pelo seu endereço IP ):
sudo ufw allow from your_ip to any port 27017
- Para ativar o UFW (se não estiver ativado):
sudo ufw enable
- Verifique o status do UFW para confirmar que a regra foi adicionada:
sudo ufw status
Etapa 6: testar a configuração do MongoDB
Para verificar se o MongoDB está funcionando corretamente, você pode acessar o shell do MongoDB e se autenticar usando o usuário criado anteriormente:
- Conectar-se ao MongoDB:
mongo -u adminuser -p --authenticationDatabase admin
- Agora você deve estar conectado ao shell do MongoDB como o usuário admin.
Etapa 7: backup e manutenção
É fundamental fazer backup dos bancos de dados do MongoDB regularmente, especialmente em um ambiente de produção. Você pode usar a ferramenta mongodump para fazer backup de seus dados:
mongodump --out /path/to/backup/directory
Você pode restaurar os dados usando o mongorestore:
mongorestore /path/to/backup/directory
Conclusão
Seguindo essas etapas, você instalou e configurou com êxito o MongoDB em seu VPS. Agora você tem controle total sobre o seu ambiente do MongoDB, que pode ser ajustado para atender às suas necessidades específicas. Se estiver usando o MongoDB para aplicativos da Web, big data ou apenas para fazer experiências, sua instalação do MongoDB baseada em VPS oferecerá flexibilidade e desempenho.
Lembre-se de monitorar sua instância do MongoDB regularmente e mantê-la segura, ativando a autenticação e limitando o acesso por meio de firewalls. Boa codificação!