Então você decidiu usar o MongoDB, um ótimo alternative to MariaDB para construir um aplicativo de pilha MERN, uma plataforma analítica ou qualquer sistema baseado em documentos, mas se deparou com as boas e antigas linhas de comando do Linux e inúmeros erros de terminal.
Não se preocupe, porque este guia fornece tudo o que você precisa saber de A a Z para instalar o MongoDB no Ubuntu.
MongoDB usa X.Y.Z versionamento. 8.0 é um principal série de lançamentos e 8.2 é um menor lançamento dentro desse ciclo 8.0. Versões secundárias adicionam recursos dentro do mesmo ciclo principal e, a partir da versão 8.0, também são oferecidas para instalações locais para casos de uso específicos (por exemplo, Pesquisa e Pesquisa vetorial). MongoDB 8.0 no Ubuntu suporta 24,04 (Nobre), 22,04 (Jammy) e 20,04 (Focal) em sistemas de 64 bits, com suporte ARM64 em plataformas selecionadas.
Pré-requisitos GnuPG e Curl
Antes de instalar o oficial mongodb-org pacote, o Ubuntu requer dois pré-requisitos: GnuPG e Enrolar. Essas ferramentas dão permissão ao Ubuntu para baixar o MongoDB, porque o próprio Ubuntu mongodb pacote não é mantido pela MongoDB Inc. e entra em conflito com o 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 do MongoDB. GnuPG é o que o Ubuntu usa para verificar a autenticidade do software. Se o GnuPG estiver faltando, o Ubuntu não consegue verificar os pacotes MongoDB.
Certifique-se de que seu terminal tenha instalado com sucesso o GnuPG e o Curl. Se assim fosse, deveria ficar assim:
Importando chave GPG do MongoDB
O gerenciador de pacotes do Ubuntu, APT, usa chaves GPG para verificar os pacotes antes da instalação. Sem esta chave GPG, o Ubuntu não permite a adição de repositórios do MongoDB. Digite o seguinte comando em 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 deverá ficar assim:
Simplificando, este comando baixa a assinatura de segurança do MongoDB, converte-a em um formato que o Ubuntu pode ler e salva-a em uma pasta segura do sistema. Aqui está uma análise da linha de comando seção por seção:
- URL curl -fsSL baixa a chave oficial do MongoDB
- –querido converte a chave do formato de texto em binário para o Ubuntu entender
- -o /usr/share/keyrings/mongodb-server-8.0.gpg salva o arquivo binário em uma pasta onde o Ubuntu armazena chaves confiáveis
Se você combinar perfeitamente todas as linhas de comando, a chave GPG pública será adicionada sem problemas. Alguns usuários, no entanto, encontram problemas ao baixar o MongoDB devido a uma chave GPG incompatível. Erros como:
NO_PUBKEY
The following signatures couldn't be verified
public key not available
Acontece quando você não segue os comandos exatos da tecla GPG anteriormente e, em vez disso, usa sudo apt-key porque o Ubuntu moderno não o recomenda.
Adicionar repositório MongoDB
Adicionar o Repositório do MongoDB cria um arquivo informando ao Ubuntu que os pacotes do MongoDB estão ativos 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 eco… | sudo camiseta…
É aqui que fica complicado, já que diferentes versões do Ubuntu exigem uma variação diferente deste comando. Examinaremos agora como importar o arquivo de lista nas três versões do Ubuntu mencionadas anteriormente.
Ubuntu 24.04 (nobre)
Para criar o arquivo de lista no Ubuntu 24.04, basta colocar echo “deb [arch=amd64,arm64 assinado por=/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.
Isso pode parecer confuso, mas não se preocupe. Assim que dividirmos o comando em seções, ele ficará bem claro.
- eco imprime texto
- /etc/apt/sources.list.d é a pasta na qual o Ubuntu armazena as definições de origem do software. Cada arquivo com .lista formato dentro da pasta aponta o Ubuntu para um local específico para baixar o software
- Você não pode escrever nada nas pastas do sistema por padrão como um usuário normal. camiseta dá ao usuário permissão especial para escrever texto em arquivos do sistema, enquanto usa sudo
- nobre é o codinome do Ubuntu 24.04. Cada versão do Ubuntu tem um codinome como:
| Versão | Codinome |
| 20.04 | Focal |
| 22.04 | Jammy |
| 24.04 | Nobre |
Se você não combinar sua versão do Ubuntu com a linha de comando correta, o Ubuntu não reconhecerá o repositório do MongoDB.
Ubuntu 22.04 (Jammy)
Adicionar o arquivo de lista ao Ubuntu Jammy parece o mesmo, mas você deve inserir a linha de comando ao substituir nobre com doce, assim:
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 é aquele que corresponde à sua versão do Ubuntu, caso contrário, falhará novamente.
Ubuntu 20.04 (Focal)
Siga os mesmos passos aqui, mas em vez de nobre or doce, coloque em focal:
echo “deb [arch=amd64,arm64 assinado por=/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
Agora 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 do pacote dentro dele, então a partir de agora ele inclui o MongoDB também. Emita o comando mencionado abaixo:
sudo apt-get update
Este comando permanece o mesmo em todas as versões do Ubuntu e, se for ignorado, o Ubuntu não incluirá o MongoDB. Se o comando funcionar, a saída do seu terminal deverá ser:
Agora, depois de recarregar seu banco de dados de pacotes, é hora de baixar os pacotes MongoDB.
Instale o servidor da comunidade MongoDB
Existem várias versões do MongoDB para instalar, mas os usuários tendem a usar a 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. Até agora, já abordamos como baixar o MongoDB no Ubuntu. Agora vamos começar.
Como iniciar o MongoDB
Agora, para executar o MongoDB, precisamos informar ao gerenciador de serviços do Ubuntu, “systemd”, para reconhecer o MongoDB como um serviço de segundo plano, e para fazer isso, você precisa digitar o seguinte comando em seu terminal:
sudo systemctl start mongod
Se o comando funcionar, o Ubuntu abrirá agora o MongoDB como um aplicativo em segundo plano. Se o comando não funcionar, no entanto, você poderá 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 recuo YAML são comuns)
- Conflito portuário (a porta 27017 já está ocupada)
- Problema de permissão em diretórios de dados ou log (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 com sua configuração de que o MongoDB não funciona, mas é muito mais difícil identificar a causa exata. Três maneiras fáceis de diagnosticar a origem do erro são:
- Verifique o status do serviço: sudo systemctl status mongod –no-pager
- Verifique os registros detalhados (o mais importante): sudo journalctl -u mongod –no-pager -n 100
- Verifique o próprio arquivo de log do MongoDB
Mas observe que se o seu disco estiver cheio ou os arquivos do sistema estiverem corrompidos, a correção será mais relacionada ao hardware do que ao software. Os usuários podem ter que comprar equipamentos melhores para a configuração do servidor, a fim de executar o MongoDB com eficiência se a configuração atual estiver desatualizada.
Se a compra de um servidor completo não estiver no seu orçamento, considere verificar o Cloudzy's Ubuntu VPS para uma experiência limpa em seu próprio servidor privado com uma distribuição Ubuntu de sua preferência. Ele vem com 24/7 suporte e até 40Gbps velocidade da rede, graças ao seu SSD NVMe e RAM DDR5 armazenar.
Além disso, tem latência mínima, 99.95% tempo de atividade e um 14 dias garantia de devolução do dinheiro. Não só isso, mas também está disponível em 12 locais em todo o mundo a um preço acessível.
Três correções mais comuns para fazer o MongoDB funcionar
Não há uma maneira absoluta de reconhecer o problema exato do seu sistema com o MongoDB e de corrigi-lo com uma etapa fácil. Então, aqui estão algumas correções comuns que você pode usar para fazer seu MongoDB começar a funcionar.
- Erro de recuo de configuração YAML. Suponha que você editou /etc/mongod.conf verifique novamente o recuo solicitando sudo nano /etc/mongod.conf. O arquivo YAML é bastante sensível a espaços em branco, portanto, certifique-se de que haja apenas dois espaços por nível /etc/mongod.conf.
- Porto ocupado 27017. Se outra coisa estiver usando a porta 27017, desligue-a ou altere a porta do MongoDB em mongod.conf. Se você não tiver certeza sobre algo em execução na porta 27017, sinta-se à vontade para executar sudo ss -lntp | grep27017 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, nem é executado. Primeira corrida sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodbe reinicie o MongoDB com sudo systemctl reiniciar mongod
De acordo com Site oficial do MongoDB, uma outra maneira de contornar esse problema é recarregar o daemon com sudo systemctl daemon-reloade execute o primeiro comando, sudo systemctl iniciar mongod, de novo.
Se não houver mongod.service, a instalação não colocou a unidade systemd, então reinstale o mongodb-org conjunto de pacotes.
Com tudo isso dito, você pode verificar se o MongoDB foi iniciado com sucesso com sudo systemctl status mongod. Se o terminal disser ativo (em execução), você está pronto para ir. Mas ainda existem algumas configurações adicionais que tornam sua experiência muito mais tranquila.
Torne o MongoDB automatizado
O MongoDB não abre automaticamente toda vez que você liga o servidor; você terá que repetir algumas das etapas mencionadas a cada vez. Opcionalmente, você pode dizer ao Ubuntu para iniciar o MongoDB após inicializar em sua área de trabalho.
Simplesmente execute sudo systemctl habilitar mongod no seu terminal, que, a partir de agora, dirá ao seu sistema para executar o MongoDB após cada reinicialização. Além disso, você pode reiniciar o mondeus processo emitindo o comando sudo systemctl reiniciar mongod. Além disso, os usuários podem precisar seguir o processo em busca de erros ou mensagens importantes, 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 emitindo o comando mangusto. Pense nisso como um terminal de prompt de comando dedicado para MongoDB ou um console MySQL. Alternativamente, você pode interagir com o MongoDB com ferramentas GUI, como drivers MongoDB. Mas se você quiser interagir com ele a partir do terminal, mangusto é feito para que isso aconteça.
Seu MongoDB agora estará totalmente funcional, mas há algumas etapas adicionais que você deve considerar para torná-lo seguro.
Torne o MongoDB autenticado
O MongoDB, por padrão, não possui proteção por senha porque você já deve ter acesso para criar um usuário. Esta é uma maneira simples de fazer isso acontecer
Crie um usuário administrador
Primeiro, você precisa mudar para o banco de dados administrativo com:
use admin
Em seguida, crie um usuário com db.createUser({…}). Preencha-o com o seu
- Nome de usuário
- Senha
- Papel
Para função, de preferência digite raiz o que significa controle total ou administrador.
Habilitar autenticação
Agora que temos nosso próprio usuário configurado, precisamos editar o /etc/mongod.conf arquivo. Isso ocorre porque este arquivo controla como o MongoDB se comporta. Mas lembre-se que ao editar o arquivo você deve sempre reiniciar o mondeus serviço depois com sudo systemctl reiniciar mongod. O que precisamos mudar aqui é um parâmetro chamado autorização que se parece com isto:
security:
authorization:
Para concluir o processo de autenticação, basta alterar o valor da autorização assim:
security:
authorization: enabled
A partir de agora, o MongoDB requer um login, então sua autenticação está finalizada. Vamos agora prosseguir para outra configuração que utiliza totalmente o MongoDB.
Abra seu firewall
Conforme mencionado anteriormente, o MongoDB é executado na porta 27017. Como os firewalls bloqueiam as portas por padrão, você deve informar ao seu firewall para permitir que os aplicativos sejam executados na 27017. Para que isso aconteça, basta emitir o comando:
ufw allow from YOUR_IP to any port 27017
Alternativamente, você também pode emitir o comando ufw permitir 27017, mas tome cuidado, pois executar isso permitirá que toda a Internet acesse essa porta. Pode ser sua aposta mais segura escolher a primeira opção, pois ela permite que o tráfego acesse a porta apenas a partir do seu endereço IP.
Os usuários ainda podem enfrentar desafios ao executar o MongoDB, como o problema de acesso remoto. Fique por aqui para descobrir como consertar isso.
Problema de acesso remoto
MongoDB é lançado com vincularIp. vincularIp limita o MongoDB a 127.0.0.1, permitindo apenas conexões locais. Portanto, se você se conectasse ao seu servidor MongoDB de outro lugar, o acesso não seria permitido, pois o MongoDB é configurado por padrão para permitir apenas conexões no local, a menos que seja configurado de outra forma.
Novamente, vá para /etc/mongod.conf, e você verá três linhas como esta:
net:
port: 27017
bindIp: 127.0.0.1
Se você quiser permitir conexões remotas ao seu mondeus usuário, altere os valores apresentados acima assim:
net:
port: 27017
bindIp: 0.0.0.0
Depois, reinicie o seu mondeus serviço com sudo systemctl reiniciar mongod como acontece com qualquer outra edição que você fizer no arquivo.
Você agora concedeu o seu mondeus permissão de serviço para aceitar conexões remotas. Mas tome cuidado, pois ao fazer isso você exporá seu banco de dados para toda a internet caso ainda não tenha autenticado seu mondeus usuário. Existem muitos bots que procuram constantemente portas abertas do MongoDB, portanto, sempre certifique-se de que seu usuário mongod tenha uma senha.
Resumo geral
Parabéns, agora você fez tudo para criar um serviço MongoDB otimizado para o seu sistema Ubuntu. Aqui está também um mapa mental para acompanhar cada etapa apresentada neste artigo.
| Comando | O que isso faz |
| atualização adequada | Atualizar lista de software |
| apto instalar | Instalar software |
| enrolar | Baixar arquivo |
| gpg | Gerenciar chaves de criptografia |
| eco | Imprimir texto |
| camiseta | Gravar em arquivo protegido |
| início do systemctl | Iniciar serviço |
| ativar systemctl | Comece na inicialização |
| status do systemctl | Verifique o serviço |
| mangusto | Entre no shell do MongoDB |
| Editar /etc/mongod.conf | Habilitar autenticação |
| ufw | Gerenciar firewall |
| vincularIp | Permitir acesso remoto |
Isso deve ajudá-lo a entender melhor todo o processo. Mas se configurar o MongoDB por conta própria for demais para você, certifique-se de ativar o Cloudzy's VPS MongoDB para o seu próprio servidor privado Ubuntu 24.04 LTS com MongoDB pré-instalado.
Ele vem com 99.95% tempo de atividade, 24/7 apoio, e um 14 dias garantia de devolução do dinheiro. Além disso, suporta até 40 Gbps de largura de banda graças ao seu RAM DDR5 e SSD NVMe armazenar. Nem se preocupe com onde você mora, porque também está disponível em 12 locais em todo o mundo a um preço acessível.
Mas com tudo isso dito, você finalmente conseguiu configurar seu próprio serviço MongoDB capaz, equipado com todas as configurações para oferecer suporte a cargas de trabalho e negócios em nível de produção.