Como instalar o MongoDb no Fedora?

Estou tentando me livrar aos poucos do Mac então instalei o Fedora em um notebook usado e obviamente as primeiras coisas que fui instalar foram as de desenvolvimento, para iniciar fui pelo MongoDb.

E como um bom malandrão já fui tentar instalar o MongoDb sem nem pesquisar o pacote certo, ai rodei:

sudo dnf install mongodb  

Advinhem a merda, fui rodar o mongo e ele rodou porém não conectou, logo pensei:

Bah só rodar o mongod uai!

E para minha surpresa o mongod não era um comando conhecido, aí claramente fiz o que já deveria ter feito e o que todos devem fazer, pesquisei.

Achei esse tutorial e ele me resolveu.

Então vamos lá!

Crie o arquivo /etc/yum.repos.d/mongodb.repo e coloque o seguinte conteúdo:

[MongoDB]
name=MongoDB Repository  
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/  
gpgcheck=0  
enabled=1  

Isso é para sistemas 64bits, caso ele de um erro na url desse repo mude $releasever para 7, ficando assim:

[MongoDB]
name=MongoDB Repository  
baseurl=http://repo.mongodb.org/yum/redhat/7/mongodb-org/3.2/x86_64/  
gpgcheck=0  
enabled=1  

Agora ficou fácil, basta instalar o MongoDB, mas fique esperta(o) no nome do pacote:

sudo dnf install mongodb-org  

Pois é a merda foi que eu tinha tentado instalar o pacote mongodb.

Depois de já ter instalado descobri que tem uma forma mais simples como visto aqui:

sudo dnf config-manager --add-repo https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.0/x86_64/  
sudo dnf install mongodb-org  

Mas não esqueça de mudar para 3.2 que é a versão mais atual enquanto escrevo essa birosca.

Bom depois de instalado basta rodar mongod certo? Então vamos lá.

mongod  
2016-01-08T10:41:22.965-0200 I CONTROL  [initandlisten] MongoDB starting : pid=1039 port=27017 dbpath=/data/db 64-bit host=suissa.corp  
2016-01-08T10:41:22.965-0200 I CONTROL  [initandlisten] db version v3.2.0  
2016-01-08T10:41:22.965-0200 I CONTROL  [initandlisten] git version: 45d947729a0315accb6d4f15a6b06be6d9c19fe7  
2016-01-08T10:41:22.965-0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013  
2016-01-08T10:41:22.965-0200 I CONTROL  [initandlisten] allocator: tcmalloc  
2016-01-08T10:41:22.965-0200 I CONTROL  [initandlisten] modules: none  
2016-01-08T10:41:22.966-0200 I CONTROL  [initandlisten] build environment:  
2016-01-08T10:41:22.966-0200 I CONTROL  [initandlisten]     distmod: rhel70  
2016-01-08T10:41:22.966-0200 I CONTROL  [initandlisten]     distarch: x86_64  
2016-01-08T10:41:22.966-0200 I CONTROL  [initandlisten]     target_arch: x86_64  
2016-01-08T10:41:22.966-0200 I CONTROL  [initandlisten] options: {}  
2016-01-08T10:41:23.002-0200 I STORAGE  [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating  
2016-01-08T10:41:23.002-0200 I CONTROL  [initandlisten] dbexit:  rc: 100  

Claro que deu merda ali né, olha só:

Data directory /data/db not found., terminating  

Para resolver esse problema facilmente, sem mudar o atributo dbpath, vamos criar as pastas /data/db e dar a permissão correta nelas.

sudo mkdir /data  
sudo mkdir /data/db  
sudo chmod -Rf 777 /data  

E depois pronto só rodar o mongod e ser feliz.

Caso você queira aprender mais sobre o MongoDb veja nossos vídeos do Be MEAN

Comentários

comments powered by Disqus