Como Instalar MongoDB no Ubuntu: Guia Completo para 2024

O MongoDB é um dos gerenciadores de banco de dados de código aberto mais populares entre os chamados NoSQL. Ele armazena dados em um documento formatado em vez de um formato tabular. Como não possui um esquema rígido, o MongoDB oferece escalabilidade e flexibilidade maiores do que os SQL.

Além disso, esse sistema de gerenciamento de banco de dados (DBMS) é bastante popular entre desenvolvedores devido ao seu desempenho e compatibilidade com várias linguagens de programação. No entanto, usuários do Ubuntu podem ter alguns problemas para instalar o MongoDB, pois você precisará usar vários comandos que tornam o processo um tanto quanto desafiador para iniciantes.

Mas você não precisa se preocupar: nos parágrafos abaixo, explicaremos como instalar o MongoDB facilmente em servidor privado virtual (VPS) rodando o Ubuntu. Nós também passaremos pelos passos para criar um novo banco de dados, configurar um usuário e habilitar a autenticação remota. Vamos lá?

MongoDB é um dos sistemas de gerenciamento de banco de dados NoSQL mais populares do mundo. De código aberto, ele é amplamente utilizado em sites e aplicações de grande escala.

Ao contrário do SQL, o MongoDB armazena dados em um documento BSON com um esquema flexível, o que lhe garante maior escalabilidade. Ele também suporta vários sistemas operacionais, linguagens de programação e frameworks.

Pré-Requisitos Para Instalar MongoDB no Ubuntu

Antes de instalar o pacote oficial do MongoDB, verifique a compatibilidade do seu hardware e software. Seu plano de hospedagem VPS deve suportar o Ubuntu, oferecer uma conexão SSH e fornecer acesso root completo.

A hospedagem VPS Linux da Hostinger oferece várias distribuições Linux, incluindo Ubuntu. Você pode instalar facilmente o sistema indo ao seu Painel VPS → SO & Painel → Sistema Operacional.

instalando ubuntu 22.04 com laravel no menu de sistemas operacionais do vps do hpanel

Recomendamos o uso da versão mais recente do Ubuntu para ter a melhor compatibilidade e segurança. De qualquer forma, as etapas para a instalação do MongoDB no Ubuntu 20.04 ou outras versões são semelhantes.

Nossos planos de hospedagem VPS também permitem que você se conecte remotamente via SSH. Além de usar um aplicativo como PuTTY e o Terminal, você pode executar comandos Linux diretamente do seu navegador usando nosso terminal do navegador.

O VPS da Hostinger também oferece acesso root completo, permitindo que os usuários executem comandos de instalação do MongoDB sem enfrentar problemas de permissão.

Como Instalar o MongoDB no Ubuntu

Sem mais delongas, explicaremos como instalar o MongoDB no Ubuntu 20.04 ou em outras versões do sistema. Antes de prosseguir, certifique-se de que você se conectou ao seu VPS via SSH usando uma conta de root ou superusuário.

1. Instale o MongoDB

Antes de instalar o pacote MongoDB, baixe o GnuPG e o utilitário cURL executando este comando na sua interface de linha de comando:

sudo apt-get install -y gnupg curl

Use o cURL e o GnuPG para importar a chave pública GPG do MongoDB e recuperar o pacote de instalação:

curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

Observe que a URL pode variar dependendo dos pacotes MongoDB. Neste tutorial, faremos a instalação do MongoDB Community Edition 7.0, a versão estável mais recente no momento que escrevemos este artigo.

Após importar os pacotes oficiais do MongoDB, crie um arquivo de lista para instalação. O comando varia dependendo da sua versão do Ubuntu. Para o Ubuntu 22.04 ou posterior, execute:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Como alternativa, execute o seguinte para configurar o arquivo de lista no Ubuntu 20.04:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Atualize o repositório APT para sincronizar o banco de dados local:

sudo apt-get update

Execute o comando abaixo para instalar a versão estável mais recente do MongoDB usando o sistema de gerenciamento de pacotes APT:

sudo apt-get install -y mongodb-org

Como alternativa, escolha uma versão específica do pacote oficial mongodb-org. Por exemplo, execute o seguinte comando para instalar a versão 7.0.2 do MongoDB:

sudo apt-get install -y mongodb-org=7.0.2 mongodb-org-database=7.0.2 mongodb-org-server=7.0.2 mongodb-mongosh=7.0.2 mongodb-org-mongos=7.0.2 mongodb-org-tools=7.0.2

Se você especificar apenas a versão do MongoDB e não os outros componentes, o APT instalará o pacote mais recente.

Como o APT atualiza automaticamente o pacote, você pode fixar a instalação para manter a versão atual. Aqui estão os exemplos de comandos:

echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-mongosh hold" | sudo dpkg --set-selections

Dica

Se você não importar a chave GPG pública para o seu banco de dados de pacotes local, o APT instalará o pacote MongoDB não oficial. Isso pode causar problemas de compatibilidade, segurança e legalidade, além de falta de suporte.

2. Inicie o Serviço MongoDB

Após a instalação, execute o MongoDB Community Edition inserindo o seguinte:

sudo systemctl start mongod

O comando systemctl é essencial para a gestão do serviço MongoDB. Por exemplo, se você encontrar um erro, execute o seguinte para reiniciar os serviços em execução e tente iniciar o DBMS novamente:

sudo systemctl daemon-reload

Para descobrir se o MongoDB carregou corretamente, verifique seu status com este comando:

sudo systemctl status mongod

Se o serviço MongoDB estiver funcionando, você deverá ver a inscrição active (running) , como na imagem abaixo.

status de serviço do mongodb no terminal

Por padrão, o serviço não inicia a partir da inicialização. Para que ele seja carregado automaticamente na inicialização, habilite o MongoDB usando o seguinte comando:

sudo systemctl enable mongod

Verifique o status do serviço usando systemctl. Se o resultado for Enabled em vez de Loaded, o MongoDB estará pronto para uso.

Importante! O processo daemon principal do MongoDB é chamado de mongod. Ele lida com solicitações de dados, gerencia o acesso e executa operações de gerenciamento em segundo plano.

3. Configure o MongoDB

Em seguida, é hora de alterar a configuração do banco de dados MongoDB modificando o arquivo de configuração principal. Este arquivo é criado automaticamente durante o processo de instalação e pode ser acessado pelo caminho /etc/mongod.conf.

Use um editor de texto como o nano para abrir e modificar o arquivo. Aqui está o comando:

sudo nano /etc/mongod.conf

Existem várias opções de configuração que determinam o comportamento do servidor MongoDB. Por exemplo, systemLog define as configurações de registro do seu banco de dados, enquanto net permite que você modifique as configurações relacionadas à rede.

Atenção! Tenha cuidado ao editar o arquivo de configuração do mongod, pois você pode interromper o serviço ou expor seu servidor a riscos de segurança.

Todas as opções têm vários parâmetros. Por exemplo, a opção systemLog  tem o parâmetro path  para determinar a localização padrão de armazenamento de log, que é /var/log/mongodb/mongod.log.

conteúdo do arquivo mongodb.conf no editor nano

Em vez de excluir os parâmetros e opções, adicione um símbolo de hash (#) para desativá-los. Esta é uma boa prática, pois você pode reativá-los com facilidade simplesmente removendo o caractere.

Após editar o arquivo de configuração, reinicie o MongoDB usando este comando para aplicar as alterações:

sudo systemctl restart mongod

4. Crie um Novo Banco de Dados

O processo de instalação do MongoDB cria automaticamente o banco de dados admin . Como ele geralmente é usado para fins administrativos, como armazenar dados de autenticação, recomendamos a criação de outro banco para seus projetos.

Para fazer isso, entre no shell do Mongo executando o seguinte comando:

mongosh
mensagem de boas-vindas do mongodb shell

O MongoDB tem o mesmo comando para criar e acessar bancos de dados. Se um banco com o nome especificado existir, o shell irá mudar para ele.

Por exemplo, o comando abaixo irá levar você para o banco de dados padrão, já que o banco “admin” já existe:

use admin

Como alternativa, execute este comando no shell do MongoDB para criar o banco de dados clientes:

use clientes

Para verificar todos os bancos de dados MongoDB no seu sistema, execute o seguinte:

show dbs
terminal exibindo todos os bancos de dados no mongodb

5. Crie um Novo Usuário

Como o MongoDB não tem uma conta padrão, você deve criar um novo usuário para cada banco de dados e definir seus privilégios. Você pode fazer isso usando a função db.createUser().

Por exemplo, criaremos uma novo conta de usuário root no MongoDB com permissões totais. Após mudar para o banco de dados admin usando o comando use, insira:

db.createUser(
{
user: "root",
pwd: "$tr0ngPa$$w0rD",
roles: [ { role: "root", db: "admin" } ]
}
)

Você pode escrever a função em uma ou várias linhas. Lembre-se de prestar atenção ao escrever o nome de usuário e a senha, pois ela diferencia maiúsculas de minúsculas.

MongoDB tem várias funções, como dbAdmindbOwner e readWrite. Recomendamos conceder apenas as permissões estritamente necessárias às novas contas de usuário, para evitar modificações não autorizadas e acesso indevido a dados.

Importante! O gerenciamento de usuários do MongoDB depende de bancos de dados, o que significa que você deve executar o comando use antes de inserir uma função.

Para mostrar todos os usuários dentro do seu banco de dados atual, use este comando:

show users
mongodb listando usuários no banco de dados

Para testar a conexão do banco de dados, saia do console MongoDB inserindo o comando exit no Terminal e execute o seguinte:

mongosh --port [porta] -u [nome de usuário] -p '[senha]' '[banco de dados]'

Por exemplo, nós iremos conectar ao usuário root usando a porta padrão 27017:

mongosh --port 27017 -u root -p 'sua_senha' 'admin'

6. Ative a Autenticação Remota

Por padrão, o MongoDB autoriza todos os logins vindos do servidor hospedeiro. Embora isso seja suficiente para um projeto local, você pode ter problemas ao usar uma aplicação vinda de outro dispositivo.

Para acessar o MongoDB de outro sistema, modifique o parâmetro bindIP do arquivo mongod.conf. Seu valor padrão é o seu endereço IP local, o que significa que ele nega acesso a outras máquinas que não o servidor de hospedagem.

Atenção! Tenha cuidado ao alterar endereços IP em seu arquivo de configuração do MongoDB, pois isso pode tornar seu banco de dados público, expondo seu serviço a sérios riscos de segurança.

Use o  nano  para abrir o arquivo  mongod . conf  e adicionar o endereço IP público do seu VPS ao parâmetro  bindIP , da seguinte forma:

bindIP: 127.0.0.1,123.123.12.1

Não recomendamos alterar o valor para 0.0.0.0 pois permitir que todos os endereços IP se conectem aos bancos de dados irá expor seu servidor a ataques cibernéticos.

Para garantir que apenas usuários aprovados possam acessar seu banco de dados, habilite a autenticação adicionando a seguinte linha na seção security:

authorization: enabled

Certifique-se de ter removido o símbolo de hash ao início da opção security. Pressione Ctrl + XY, e Enter para salvar as alterações. Reinicie o MongoDB usando o seguinte comando:

sudo systemctl restart mongod

Após instalar o utilitário Mongo no seu sistema local, você deve ser capaz de se conectar ao servidor de banco de dados executando esta sintaxe de comando:

mongo "mongodb://usuário:senha@ip:porta/?authSource=nome_do_banco_de_dados"

Por exemplo, nos conectaremos ao MongoDB usando o usuário root, com o banco de dados admin como autenticador. Aqui está o comando:

mongo "mongodb://root:sua_senha@123.123.1.1:27017/?authSource=admin"

Para melhorar a segurança do acesso remoto, limite a porta de escuta do MongoDB apenas para o endereço IP do seu sistema local. No Ubuntu, você pode fazer isso usando um comando do Uncomplicated Firewall (UFW):

sudo ufw allow from endereco_ip_da_sua_maquina to any port 27017

Isso significa que o firewall só aceitará conexões do endereço IP especificado e bloqueará os demais.

Conclusão

O MongoDB é um sistema de gerenciamento de banco de dados NoSQL gratuito e de código aberto (DBMS), muito popular para sites ou aplicações de grande escala. Como ele não usa uma estrutura esquemática fixa para armazenar dados, seu uso é mais flexível e escalável do que o SQL.

Neste artigo, passamos por todo o guia de instalação do MongoDB no Ubuntu. Aqui está um resumo:

  1. Instale o MongoDB . Importe a chave oficial do repositório MongoDB usando o GnuPG e o cURL. Crie o arquivo de lista e instale-o usando o gerenciador de pacotes APT.
  2. Inicie o MongoDB . Execute a instância do MongoDB usando o comando systemctl . Habilite o daemon para garantir que ele inicie automaticamente durante a inicialização do sistema.
  3. Configure o MongoDB . Abra o arquivo de configuração mongod.conf usando um editor de texto. Modifique as configurações do seu banco de dados e reinicie o Mongod para aplicar as alterações.
  4. Crie um novo banco de dados. Insira o shell Mongo usando o comando mongosh. Execute o comando use para criar um novo banco de dados MongoDB ou acessar um existente se o nome especificado já existir.
  5. Crie um novo usuário. Acesse o shell do MongoDB e insira a função db.createUser() para criar um novo usuário em seu banco de dados atual. Em seguida, defina sua senha e permissões.
  6. Habilite a autenticação remota. Altere as configurações bindIP do seu arquivo mongod.conf para habilitar o acesso remoto ao seu banco de dados. Para melhorar a segurança, ative a configuração de autenticação do MongoDB e limite os endereços IP permitidos usando o UFW.

Ao implantar o MongoDB, use um VPS com acesso root completo e boa compatibilidade de software, como o da Hostinger, para garantir um processo de configuração suave. Nós também fornecemos um instalador de sistema operacional de apenas um clique, além de um terminal para navegador, para simplificar essas tarefas.

Como Instalar MongoDB Ubuntu: Perguntas Frequentes

Nesta seção, responderemos a várias perguntas comuns sobre a instalação do MongoDB no Ubuntu.

Como Verificar se o MongoDB está Instalado Corretamente?

Para verificar se o seu sistema Ubuntu já tem o MongoDB instalado, verifique o número da versão usando o comando mongod –version .

Se você conseguir ver a versão do MongoDB, significa que o banco de dados está configurado corretamente. Alternativamente, use o comando mongosh  e verifique se o Terminal retorna um erro.

Como Desinstalar o MongoDB?

Para desinstalar o MongoDB Community Edition, interrompa a instância executando o comando sudo service mongod stop. Então, remova o pacote usando o comando apt purge “mongodb-org*” .

Por fim, exclua bancos de dados e arquivos de log em /var/log/mongodb e var/lib/mongodb diretórios usando o comando rm.

Qual é a Diferença entre MongoDB e MongoDB Community Edition?

MongoDB Community Edition é a versão gratuita e de código aberto do MongoDB. Em outras palavras, a designação genérica “MongoDB”pode se referir também à edição Enterprise Advanced ou ao Atlas, que é baseado na nuvem.

Author
O autor

Bruno Santana

Jornalista formado pela Universidade Federal da Bahia, além de colaborador eventual do site MacMagazine e da editoria de cultura do Jornal A Tarde, de Salvador. Fascinado por tecnologia desde criança, criei meu primeiro blog no Wordpress aos 13 anos e nunca mais parei. Nas horas vagas, gosto de ir ao cinema e fazer experimentos na cozinha.