Então você escolheu usar MongoDB, uma ótima alternative to MariaDB para construir uma aplicação MERN stack, uma plataforma de análise ou qualquer sistema baseado em documentos, mas você esbarra em linhas de comando Linux complicadas e inúmeros erros de terminal.
Mas não se preocupe: este guia traz tudo o que você precisa saber para instalar MongoDB em Ubuntu.
MongoDB utiliza X.Y.Z controle de versão 8.0 é um principal série de lançamento, e 8.2 é um menor lançamento dentro desse ciclo 8.0. Lançamentos menores adicionam recursos no mesmo ciclo principal e, a partir da versão 8.0, também são oferecidos para instalações on-prem em casos de uso específicos (por exemplo, Search e Vector Search). MongoDB 8.0 em Ubuntu suporta 24.04 (Noble), 22.04 (Jammy) e 20.04 (Focal) em sistemas de 64 bits, com suporte ARM64 em plataformas selecionadas.
GnuPG e Curl — Pré-requisitos
Antes de instalar o mongodb-org pacote oficial, Ubuntu requer dois pré-requisitos: GnuPG e Curl. Essas ferramentas permitem que Ubuntu baixe MongoDB, porque o mongodb próprio pacote de Ubuntu não é mantido pela MongoDB Inc. e entra em conflito com o pacote oficial mongodb-org pacote. Se você já instalou mongodb certifique-se de desinstalá-lo.
Em seguida, execute o comando sudo apt-get install gnupg curl. Curl é uma ferramenta para baixar arquivos da internet e é necessária para recuperar a chave de segurança de MongoDB. GnuPG é o que Ubuntu usa para verificar a autenticidade do software. Se GnuPG estiver ausente, Ubuntu não consegue verificar os pacotes de MongoDB.
Verifique se seu terminal instalou com sucesso GnuPG e Curl. Se instalou, deve ser semelhante a isto:
Importando a Chave GPG de MongoDB
O gerenciador de pacotes Ubuntu, APT, usa chaves GPG para verificar pacotes antes da instalação. Sem essa chave GPG, Ubuntu não permite que os repositórios de MongoDB sejam adicionados. Digite o seguinte comando no seu terminal para adicionar a chave:
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
Se funcionar, a saída do seu terminal deve ser assim:
Simplificando, este comando baixa a assinatura de segurança de MongoDB, a converte em um formato que Ubuntu consiga ler e a salva em uma pasta segura do sistema. Aqui está um detalhamento do comando, seção por seção:
- curl -fsSL URL baixa a chave oficial de MongoDB
- –dearmor converte a chave do formato de texto em binário para Ubuntu entender
- -o /usr/share/keyrings/mongodb-server-8.0.gpg salva o arquivo binário em uma pasta onde Ubuntu armazena chaves confiáveis
Se você seguir cada comando da linha exatamente, a chave GPG pública será adicionada sem problemas. Alguns usuários, porém, enfrentam erros ao baixar MongoDB por causa de uma chave GPG incompatível. Erros como:
NO_PUBKEY
The following signatures couldn't be verified
public key not available
Acontecem quando você não segue os comandos de chave GPG exatos anteriormente e usa sudo apt-key porque Ubuntu moderno não recomenda isso.
Adicionar Repositório MongoDB
Adicionar o repositório de MongoDB cria um arquivo informando a Ubuntu que os pacotes de MongoDB estão disponíveis em um endereço de internet específico. Crie o arquivo de lista em /etc/apt/sources.list.d/mongodb-org-8.0.list escrevendo a linha do repositório nele usando echo … | sudo tee …
É aqui que fica complicado, pois versões diferentes de Ubuntu exigem uma variação diferente desse comando. Vamos agora examinar como importar o arquivo de lista nas três versões de Ubuntu mencionadas anteriormente.
Ubuntu 24.04 (Noble)
Para criar o arquivo de lista em Ubuntu 24.04, simplesmente coloque echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list no seu terminal.
Pode parecer confuso, mas não se preocupe. Assim que dividirmos o comando em seções, ficará cristalino.
- echo imprime texto
- /etc/apt/sources.list.d é a pasta onde Ubuntu armazena as definições de fontes de software. Cada arquivo com .list formato dentro da pasta aponta Ubuntu para um local específico de onde baixar software
- Você não pode escrever nada em pastas do sistema por padrão como usuário normal. camiseta dá ao usuário permissão especial para escrever texto em arquivos do sistema, enquanto sudo
- nobre é o nome de código de Ubuntu 24.04. Cada versão de Ubuntu tem um nome de código assim:
| Versão | Nome do código |
| 20.04 | Focal |
| 22.04 | Jammy |
| 24.04 | Nobre |
Se você não combinar sua versão de Ubuntu com a linha de comando correta, Ubuntu falha em reconhecer o repositório de MongoDB.
Ubuntu 22.04 (Jammy)
Adicionar o arquivo de lista a Ubuntu Jammy parece exatamente igual, mas você deve inserir a linha de comando substituindo nobre com jammyI don't see any English text to translate in your message. Could you please provide the English text you'd like me to translate to Portuguese?
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Certifique-se de que seja aquela que corresponde à sua versão de Ubuntu, senão falhará novamente.
Ubuntu 20.04 (Focal)
Siga as mesmas etapas aqui, mas em vez de nobre or jammy, colocar em focal:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Com o repositório configurado, você pode prosseguir com a instalação mongodb-org.
Atualizar o banco de dados de pacotes
Agora que o repositório é reconhecido pelo Ubuntu, você precisa recarregar o banco de dados de pacotes dentro dele, para que a partir de agora ele inclua também o MongoDB. Execute o comando abaixo:
sudo apt-get update
Este comando permanece o mesmo em todas as versões do Ubuntu, e se for pulado, o Ubuntu não incluirá o MongoDB. Se o comando funcionar corretamente, a saída do seu terminal será:
Agora, após recarregar seu banco de dados de pacotes, é hora de baixar os pacotes do MongoDB.
Instalar MongoDB Community Server
Existem vários lançamentos do MongoDB para instalar, mas os usuários geralmente optam pela versão estável mais recente, pois é mais preferível. Para instalar a versão estável mais recente, execute sudo apt-get install -y mongodb-org
O Ubuntu agora baixou os pacotes do MongoDB, instalou-os, criou uma conta de usuário do MongoDB e um diretório de dados, e registrou o MongoDB como um serviço do sistema. Neste ponto, cobrimos como baixar o MongoDB no Ubuntu. Agora vamos iniciá-lo.
Como iniciar o MongoDB
Agora, para executar o MongoDB, você precisa informar ao gerenciador de serviços do Ubuntu, o "systemd", para reconhecer o MongoDB como um serviço em execução, e para fazer isso, você precisa digitar o seguinte comando no seu terminal:
sudo systemctl start mongod
Se o comando funcionar corretamente, o Ubuntu agora abrirá o MongoDB como um aplicativo em execução. Se o comando não funcionar corretamente, porém, você pode receber um erro semelhante a Falha ao iniciar mongod.service.
Isso pode acontecer devido a vários problemas comuns:
- Erro no arquivo de configuração in /etc/mongod.conf (erros de indentação YAML são comuns)
- Conflito de porta (porta 27017 já está em uso)
- Problema de permissão nos diretórios de dados ou logs (var/lib/mongodb ou var/log/mongodb)
- Disco cheio or estado do sistema de arquivos corrompido
Três comandos para diagnosticar o problema
É fácil dizer o que pode estar errado na sua configuração que impede o MongoDB de executar, mas é muito mais difícil identificar a causa exata. Três maneiras simples para diagnosticar de onde o erro pode vir são:
- Verifique o status do serviço: sudo systemctl status mongod –no-pager
- Verifique os logs detalhados (o mais importante): sudo journalctl -u mongod –no-pager -n 100
- Verifique o arquivo de log do MongoDB
Mas observe que se o disco está cheio ou os arquivos do sistema estão corrompidos, a solução dependerá mais do hardware do que do software. Os usuários podem precisar adquirir equipamentos melhores para sua configuração de servidor a fim de executar o MongoDB de forma eficiente se sua configuração atual estiver desatualizada.
Se comprar um servidor completo não cabe no seu orçamento, considere conferir o Cloudzy Ubuntu VPS para uma experiência limpa em seu próprio servidor privado com a distribuição Ubuntu de sua preferência. Ele oferece 24/7 suporte e até 40Gbps velocidade de rede, graças ao seu armazenamento NVMe SSD e DDR5 RAM armazenamento.
Além disso, tem latência mínima, 99.95% disponibilidade, e um 14 dias garantia de reembolso. E mais, também está disponível em 12 localidades espalhadas por todo o mundo a um preço acessível.
Três Correções Mais Comuns para Fazer o MongoDB Funcionar
Não existe uma maneira única de identificar exatamente qual é o problema do seu sistema com o MongoDB e resolvê-lo em um único passo. Aqui estão algumas correções comuns que você pode tentar para fazer o MongoDB voltar a funcionar.
- Erro de indentação no config YAML. Suponha que você editou /etc/mongod.conf verifique novamente a indentação executando sudo nano /etc/mongod.conf. O arquivo YAML é muito sensível a espaços em branco, então certifique-se de que há apenas dois espaços por nível em /etc/mongod.conf.
- Porta 27017 ocupada. Se algo mais estiver usando a porta 27017, encerre-o ou altere a porta do MongoDB em mongod.conf. Se não tem certeza sobre o que está rodando na porta 27017, execute sudo ss -lntp | grep 27017 para conferir
- Problema de permissão no diretório de dados. Às vezes o MongoDB não tem permissão para ser executado em seu sistema e, portanto, não funciona. Primeiro execute sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, depois reinicie o MongoDB com sudo systemctl restart mongod
De acordo com Site oficial do MongoDB, outra forma de contornar esse problema é recarregar o daemon com sudo systemctl daemon-reload, e execute o primeiro comando, sudo systemctl start mongod, novamente.
Se não houver mongod.service, a instalação não colocou a unidade systemd, então reinstale o mongodb-org pacote definido.
Com tudo isso feito, você pode verificar se MongoDB iniciou com sucesso usando sudo systemctl status mongod. Se o terminal exibir ativo (em execução), está tudo certo. Mas ainda há algumas configurações adicionais que tornam sua experiência muito melhor.
Automatizar MongoDB
MongoDB não abre automaticamente toda vez que você inicia o servidor; você terá que repetir alguns dos passos mencionados cada vez. Opcionalmente, você pode instruir Ubuntu para iniciar MongoDB após inicializar seu desktop.
Basta executar sudo systemctl enable mongod no seu terminal, que, a partir de agora, instruirá o seu sistema a executar MongoDB após cada reinicialização. Além disso, você pode reiniciar o mongod processo executando o comando sudo systemctl restart mongod. Além disso, os usuários podem precisar analisar qualquer erro ou mensagem importante revisando a saída no arquivo:
/var/log/mongodb/mongod.log
Agora que tudo está configurado, vamos começar a usar seu mongod.
Abrindo o Shell do MongoDB
Para interagir com seu banco de dados, os usuários devem abrir um shell MongoDB executando o comando mongosh. Pense nele como um prompt de comando dedicado para MongoDB ou um console MySQL. Como alternativa, você pode interagir com MongoDB usando ferramentas gráficas, como drivers MongoDB. Mas se você quiser interagir a partir do terminal, mongosh foi feito para que isso aconteça.
Seu MongoDB agora será totalmente funcional, mas há alguns passos adicionais que você deve considerar para mantê-lo seguro.
Proteger MongoDB com Autenticação
MongoDB não possui proteção por senha por padrão, porque você já precisa ter acesso para criar um usuário. Veja como fazer isso de forma simples
Criar um Usuário Admin
Primeiro, você precisa trocar para o banco de dados de admin com:
use admin
Depois crie um usuário com db.createUser({…}). Preencha com sua
- Nome de usuário
- Senha
- Papel
Para role, de preferência digite root que significa controle total ou admin.
Ativar Autenticação
Agora que temos nosso próprio usuário configurado, precisamos editar o /etc/mongod.conf arquivo. Isso ocorre porque este arquivo controla o comportamento do MongoDB. Mas lembre-se de que ao editar o arquivo você sempre precisa reiniciar o mongod serviço depois com sudo systemctl restart mongod. O que precisamos alterar aqui é um parâmetro chamado authorization que se parece com isto:
security:
authorization:
Para completar o processo de autenticação, basta alterar o valor de authorization assim:
security:
authorization: enabled
A partir de agora, MongoDB exige login, então sua autenticação está finalizada. Vamos agora passar para outra configuração que aproveita totalmente MongoDB.
Abra Seu Firewall
Como mencionado antes, MongoDB roda na porta 27017. Como firewalls bloqueiam portas por padrão, você precisa instruir seu firewall a permitir aplicações na porta 27017. Para fazer isso, simplesmente execute o comando:
ufw allow from YOUR_IP to any port 27017
Alternativamente, você também pode executar o comando ufw allow 27017, mas cuidado, porque executar isto permitirá que a internet inteira acesse essa porta. Provavelmente sua opção mais segura é ficar com a primeira, já que ela permite tráfego na porta apenas a partir do seu endereço IP.
Usuários podem ainda enfrentar desafios ao rodar MongoDB, como o problema de acesso remoto. Fique por aqui para descobrir como corrigir.
Problema de Acesso Remoto
MongoDB é lançado com bindIp. bindIp limita MongoDB a 127.0.0.1, permitindo apenas conexões locais. Portanto, se você tentasse conectar ao seu servidor MongoDB de outro lugar, você não teria acesso, já que MongoDB está configurado por padrão para permitir apenas conexões locais, a menos que configurado de outra forma.
Novamente, vá para /etc/mongod.conf, e você verá três linhas assim:
net:
port: 27017
bindIp: 127.0.0.1
Se você quer permitir conexões remotas para seu mongod usuário, altere os valores acima desta forma:
net:
port: 27017
bindIp: 0.0.0.0
Depois, reinicie seu mongod serviço com sudo systemctl restart mongod como você faz com qualquer outra edição no arquivo.
Você concedeu permissão para seu mongod serviço aceitar conexões remotas. Mas tome cuidado: ao fazer isso, você expõe seu banco de dados para a internet inteira se ainda não tiver autenticado seu mongod usuário. Há muitos bots que constantemente scanneiam portas MongoDB abertas, então sempre certifique-se de que seu usuário mongod tem uma senha.
Resumo geral
Parabéns, você fez tudo para criar um serviço MongoDB otimizado para seu sistema Ubuntu. Aqui está também um mapa mental para acompanhar cada etapa apresentada neste artigo.
| Comando | O Que Faz |
| atualizar apt | Atualizar lista de software |
| instalar apt | Instalar software |
| curl | Baixar arquivo |
| gpg | Gerenciar chaves de criptografia |
| echo | Imprimir texto |
| camiseta | Escrever em arquivo protegido |
| systemctl start | Iniciar serviço |
| ativar systemctl | Iniciar na inicialização |
| estado do systemctl | Verificar serviço |
| mongosh | Entrar no shell MongoDB |
| Editar /etc/mongod.conf | Ativar autenticação |
| ufw | Gerenciar firewall |
| bindIp | Permitir acesso remoto |
Isso deve ajudá-lo a entender melhor o processo todo. Mas se configurar MongoDB por conta própria for demais para você, considere iniciar uma instância de MongoDB VPS para seu próprio servidor Ubuntu 24.04 LTS com MongoDB pré-instalado.
Vem com 99.95% uptime, 24/7 suporte e 14 dias garantia de reembolso. Além disso, ele suporta até 40 Gbps de largura de banda graças ao seu DDR5 RAM e armazenamento NVMe SSD armazenamento. Nem se preocupe com onde você mora, pois ele também está disponível em 12 locais ao redor do mundo com preço acessível.
Mas enfim, você conseguiu configurar seu próprio serviço MongoDB robusto com todas as configurações para suportar cargas de trabalho e negócios em nível de produção.