Skip to content

Instantly share code, notes, and snippets.

@danielnunesdc
Last active April 20, 2023 03:50
Show Gist options
  • Save danielnunesdc/82e9ef5a1f2e70198a5e0b1c6e151c5f to your computer and use it in GitHub Desktop.
Save danielnunesdc/82e9ef5a1f2e70198a5e0b1c6e151c5f to your computer and use it in GitHub Desktop.
Fazendo esse trem funcionar (MongoDB 4.0.5).

Fazendo esse trem funcionar (MongoDB 4.0.5).

Esse gist é simplesmente para que eu(ou qualquer outro) não esqueça de como fazer esse trem funcionar.

Remova versões anteriores

Se você possui alguma versão mais antigas e pretende remover, siga os comandos abaixo:

Obs: Após realizar esses comandos você perderá todos os bancos de dados que tiver previamente criado.

Para desinstalar todos os pacotes do MongoDB:

sudo apt-get purge mongodb-org*

Para remover outros dados e logs do MongoDB:

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

Antes de instalar a versão 4.0.5 ou qualquer outra que deseje, remova os arquivos referentes a versões anteriores, digite:

cd /etc/apt/sources.list.d/

Agora liste os arquivos existentes com o comando ls:

Procure os arquivos do MongoDB, como exemplo os arquivos das versões 3.0 e 3.2, mongodb-org-3.0.list, mongodb-org-3.0.list.save, mongodb-org-3.2.list, mongodb-org-3.2.list.save, exclua esses arquivos antes de seguir o passo a passo para instalação da versão 4.0.5:

Instale a nova versão 4.0.5

Importe a chave pública usada pelo sistema de gerenciamento de pacotes:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Cria um arquivo de lista para sua versão do sistema:

Ubuntu 16.4

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Ubuntu 18.4

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Atualize sua lista local de pacotes:

sudo apt-get update

Para instalar a última versão disponível:

sudo apt-get install -y mongodb-org

para instalar uma versão específica, a 4.0.5:

sudo apt-get install -y mongodb-org=4.0.5 mongodb-org-server=4.0.5 mongodb-org-shell=4.0.5 mongodb-org-mongos=4.0.5 mongodb-org-tools=4.0.5

Vamos criar um arquivo de unidade para gerenciar o serviço MongoDB. Crie um arquivo de configuração de nome mongodb.service no diretório /etc/systemd/system utilizando o nano ou o seu editor de textos favorito.

sudo nano /etc/systemd/system/mongodb.service

O arquivo criado estará vazio, caso ele tenha sido automaticamente e já possua configuração não remova nada, apenas adicione a configuração abaixo se ela já não estiver no arquivo:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

Feche e salve o arquivo.

O arquivo anterior tem uma estrutura simples:

A seção Unit contém uma visão geral (isto é, uma descrição legível para o serviço MongoDB) bem como dependências que devem ser satisfeitas antes do serviço ser iniciado. No nosso caso, o MongoDB depende da rede já estar disponível, por isso network.target está aqui.

A seção Service informa como o serviço deve ser iniciado. A diretiva User especifica que o servidor vai executar sob o usuário mongodb, e a diretiva ExecStart define o comando de inicialização para o servidor MongoDB.

A última seção, Install, diz ao systemd quando o serviço deve ser automaticamente iniciado. O multi-user.target é uma sequência padrão de inicialização de sistema, o que significa que o servidor será iniciado durante o boot.

Inicie o MongoDB:

sudo systemctl start mongodb

Verifique se está funcionando:

sudo systemctl status mongodb

O próximo passo é habilitar o MongoDB para iniciar quando o sistema inicializar.

sudo systemctl enable mongodb

Verifique novamente se está funcionando:

sudo systemctl status mongodb

Agora acesse seu MongoDB:

mongo --port 27017

O comando anterior está passando o parâmetro --port com o valor 27017porque esse é o número da porta padrão que o MongoDB utiliza, no entanto pode ser alterada de acordo com a vontade de quem está configurando.

O próximo passo é criar o usuário root. Então, selecione o banco de dados admin

use admin

E então, com o banco de dados setado basta criar o seu usuário:

db.createUser({user: "usuarioFulando", pwd: "senha4567", roles: [ "userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]})

Se tudo deu certo, seu usuário admin está criado e pronto para ser usado.

Acesse o Mongo já se autenticando com usuário root:

mongo admin -u usuarioFulando -p senha4567

Habilitando o Acesso Externo

Para habilitar o acesso externo é necessária a edição do arquivo mongod.conf. Sendo assim:

sudo nano /etc/mongod.conf

Adicione esse configuração no arquivo:

# network interfaces
	net:
  		port: 27017
  		bindIp: 0.0.0.0

Salve o arquivo e reinicie o serviço:

sudo systemctl restart mongodb

caso necessário, use o comando para recarregar o arquivo daemon:

sudo systemctl daemon-reload

Habilitar a autenticação no MongoDB

Se vocẽ estiver buscando mais segurança, siga os passos abaixo.

A autenticação no MongoDB não vem habilitada por padrão. Caso deseje habilitar acesse o arquivo de configuração.

sudo nano /etc/mongod.conf

Insira a seguinte configuração:

security:
   authorization: enabled

Caso ela já exista, apenas troque o disabled por enabled.

Caso deseje que suas aplicações acessem o banco sem autenticação é necessário deixar a opção disabled setada.

Salve o arquivo e reinicie o serviço:

sudo systemctl restart mongodb

caso necessário, use o comando para recarregar o arquivo daemon:

sudo systemctl daemon-reload

Fonte:

Exta:

sudo service mongodb stop && sudo rm /var/lib/mongodb/mongod.lock && sudo mongod --repair --dbpath /var/lib/mongodb && sudo mongod --fork --logpath /var/lib/mongodb/mongodb.log --dbpath /var/lib/mongodb && sudo service mongodb start
@felippetaw
Copy link

Caso vc esteja tentando instalar a versão 5.0.3 e esteja com algum problema no service do mongodb roda essa parada aqui:

sudo apt remove mongodb-org*
sudo apt remove mongodb
sudo apt autoremove

e ai na sequência manda essa:

sudo apt install mongodb-org

e no mais é só continuar os passos da documentação https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

@viniciosComerciante
Copy link

Cara, muito obrigado, sou iniciante no ubuntu, comecei há pouco tempo tava com um erro nessa joça e só sua postagem me ajudou a remover por completo essa merda e reinstalar... Vida longa ao Felippeaw

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment