How to install mongoDB on Ubuntu
This guide shows you how to install MongoDB on Ubuntu.
- Ubuntu 12.10
- MongoDB 2.2.3
1. Add 10gen package to source.list.d
Ubuntu 12 comes with a “mongo” package, but not the latest version.
$ sudo apt-cache search mongodb
mongodb
mongodb-clients
mongodb-dev
mongodb-server
It’s recommended to add 10gen package to /etc/apt/sources.list.d
, as it contains the latest stable MongoDB. Create a /etc/apt/sources.list.d/mongo.list
file, and declared the 10gen distro.
$ sudo vim /etc/apt/sources.list.d/mongo.list
##10gen package location
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
2. Add GPG Key
10gen package required GPG key, imports it :
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
If you didn’t imports the GPG key, apt-get update
will hits following error message :
GPG error: http://downloads-distro.mongodb.org dist Release:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9ECBEC467F0CEB10
3. Update package
Update your apt-get
list.
$ sudo apt-get update
Search “mongodb” again, a new 10gen package is appearing now. Get the “mongodb-10gen
“, it contains the latest stable MongoDB.
$ sudo apt-cache search mongodb
mongodb
mongodb-clients
mongodb-dev
mongodb-server
mongodb-10gen
mongodb18-10gen
mongodb20-10gen
4. Install mongodb-10gen
Everything is ready, now you can Install MongoDB :
$ sudo apt-get install mongodb-10gen
5. Where is MongoDB?
MongoDB is installed and started.
$ ps -ef | grep mongo
mongodb 5262 1 0 15:27 ? 00:00:14 /usr/bin/mongod --config /etc/mongodb.conf
mkyong 5578 3994 0 16:29 pts/0 00:00:00 grep --color=auto mongo
$ mongo -version
MongoDB shell version: 2.2.3
All MongoDB executable files are stored at /usr/bin/
$ ls -ls /usr/bin | grep mongo
4220 -rwxr-xr-x 1 root root 4317928 Feb 2 08:11 mongo
10316 -rwxr-xr-x 1 root root 10563336 Feb 2 08:11 mongod
10320 -rwxr-xr-x 1 root root 10563664 Feb 2 08:11 mongodump
10284 -rwxr-xr-x 1 root root 10526736 Feb 2 08:11 mongoexport
10324 -rwxr-xr-x 1 root root 10567768 Feb 2 08:11 mongofiles
10296 -rwxr-xr-x 1 root root 10539056 Feb 2 08:11 mongoimport
10272 -rwxr-xr-x 1 root root 10514544 Feb 2 08:11 mongooplog
10272 -rwxr-xr-x 1 root root 10518512 Feb 2 08:11 mongoperf
10320 -rwxr-xr-x 1 root root 10563632 Feb 2 08:11 mongorestore
6644 -rwxr-xr-x 1 root root 6802848 Feb 2 08:11 mongos
10312 -rwxr-xr-x 1 root root 10556560 Feb 2 08:11 mongostat
10272 -rwxr-xr-x 1 root root 10515856 Feb 2 08:11 mongotop
The “mongodb control script” is generated at /etc/init.d/mongodb
$ ls -ls /etc/init.d | grep mongo
0 lrwxrwxrwx 1 root root 21 Feb 2 08:11 mongodb -> /lib/init/upstart-job
The MongoDB config file is at /etc/mongodb.conf
# mongodb.conf
# Where to store the data.
# Note: if you run mongodb as a non-root user (recommended) you may
# need to create and set permissions for this directory manually,
# e.g., if the parent directory isn't mutable by the mongodb user.
dbpath=/var/lib/mongodb
#where to log
logpath=/var/log/mongodb/mongodb.log
logappend=true
#port = 27017
#......
6. Controlling MongoDB
Some commands to control the MongoDB.
Starting MongoDB
$ sudo service mongodb start
Stoping MongoDB
$ sudo service mongodb stop
Restarting MongoDB
$ sudo service mongodb restart
Thank you so much!
I got error like this what can do for it.
E: Type ‘ckage’ is not known on line 1 in source list /etc/apt/sources.list.d/mongo.list
E: The list of sources could not be read.
Very nice, thanks!
Just a question, I was trying to get this to work with the newest versions of MongoDB, PHP 5.5.1 and Nginx.
For some reason I can’t install the driver by saying sudo apt-get install php5-mongo. I think it has to do with the fact that I’m using a newer version of PHP so it’s looking for the wrong version.
Any suggestions on how to install a newer php5-mongo driver?
Nice post!
Is it possible to install MongoDB without root privileges? Ideally I’d like to install it in my home directory. I can’t seem to get it working. Any help would be appreciated. Thanks.
nice!!
Thanks Mkyong 🙂
Thanks!!!!!!!!!!
Thanks alot…:)
This worked nicely for me. However, I found that I kept getting socket error while trying to replace my MongoDB 2.0.+ install with this 2.2.+ version, so I found that I had to run the following remove command first:
Try autoremove to remove everything, and get the latest from 10gen source.
I hope you can help: i followed your instructions and it appears mongo started, because the command “mongo” works from so far every folder where i navigate – yet, your step 5 above:
“Now, MongoDB is installed, started, and auto start MongoDB script is generated to “/etc/init/mongo” and “/etc/init.d/mongo“…”,
when i try those at the cmd line, result in this: “No such file or directory”.
what am i doing wrong? i am thinking now that if i reboot my system [ubuntu 12.04 running as a virtual object on vmplayer], i will be unable to get mongo started again.
how can i start, and stop the mongo db?
The MongoDB may not installed properly. Do you have /etc/init.d/mongodb ? and what you get with the following command
Nice!
Thanks for the tutorial. Couple of points:
1- I had to import the keys (step 3) before step 2, otherwise step 2 always fails
2- It appears that I can only connect to the db if I run mongo with sudo
So please update your tutorial, thanks a lot.
Tutorial is updated and tested with Ubuntu 12 and MongoDB 2.2.3
Awesome. Thank you.
what is mongo db ?? is it a database ??
MongoDB is killing the web app now 🙂 Try – http://www.mongodb.org/
What is google? Is it a search engine where people can lookup mongodb to know what it is?
Thank you!
Nice tutorial 🙂
Perfect tutorial thanks.
Thanks a lot….!!! This article helped a lot !!!
thanks mongo db 2 is now up and running on ubuntu11
going to test with pymongo and flask
thank you!