Install MongoDB on Red Hat Enterprise, CentOS, or Fedora¶
This tutorial outlines the steps to install MongoDB on Red Hat Enterprise Linux, CentOS Linux, Fedora Linux and related systems. The tutorial uses .rpm packages to install. While some of these distributions include their own MongoDB packages, the official MongoDB packages are generally more up to date.
The MongoDB downloads repository contains two packages:
This package contains the mongod and mongos daemons from the latest stable release and associated configuration and init scripts. Additionally, you can use this package to install daemons from a previous release of MongoDB.
This package contains all MongoDB tools from the latest stable release. Additionally, you can use this package to install tools from a previous release of MongoDB. Install this package on all production MongoDB hosts and optionally on other systems from which you may need to administer MongoDB systems.
Configure Package Management System (YUM)¶
Create a /etc/yum.repos.d/mongodb.repo file to hold the following configuration information for the MongoDB repository:
For production deployments, always run MongoDB on 64-bit systems.
If you are running a 64-bit system, use the following configuration:
[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1
If you are running a 32-bit system, which is not recommended for production deployments, use the following configuration:
[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/ gpgcheck=0 enabled=1
Issue the following command (as root or with sudo) to install the latest stable version of MongoDB and the associated tools:
yum install mongo-10gen mongo-10gen-server
When this command completes, you have successfully installed MongoDB!
Manage Installed Versions¶
You can use the mongo-10gen and mongo-10gen-server packages to install previous releases of MongoDB. To install a specific release, append the version number, as in the following example:
yum install mongo-10gen-2.2.3 mongo-10gen-server-2.2.3
This installs the mongo-10gen and mongo-10gen-server packages with the 2.2.3 release. You can specify any available version of MongoDB; however yum will upgrade the mongo-10gen and mongo-10gen-server packages when a newer version becomes available. Use the following pinning procedure to prevent unintended upgrades.
To pin a package, add the following line to your /etc/yum.conf file:
With the introduction of systemd in Fedora 15, the control scripts included in the packages available in the MongoDB downloads repository are not compatible with Fedora systems. A correction is forthcoming, see SERVER-7285 for more information, and in the mean time use your own control scripts or install using the procedure outlined in Install MongoDB on Linux Systems.
The packages include various control scripts, including the init script /etc/rc.d/init.d/mongodb. These packages configure MongoDB using the /etc/mongodb.conf file in conjunction with the control scripts.
You must configure SELinux to allow MongoDB to start on Fedora systems. Administrators have two options:
The MongoDB instance stores its data files in the /var/lib/mongo and its log files in /var/log/mongo, and run using the mongod user account. If you change the user that runs the MongoDB process, you must modify the access control rights to the /var/lib/mongo and /var/log/mongo directories.
Start the mongod process by issuing the following command (as root or with sudo):
service mongod start
You can verify that the mongod process has started successfully by checking the contents of the log file at /var/log/mongo/mongod.log.
You may optionally ensure that MongoDB will start following a system reboot by issuing the following command (with root privileges:)
chkconfig mongod on
Stop the mongod process by issuing the following command (as root or with sudo):
service mongod stop