Learn How To Install RockMongo on CentOS 7

March 6, 2019

Table of Contents

RockMongo is a web-based MongoDB Management tool that is similar to the MySQL Management tool: phpMyAdmin.

This tutorial will cover the process of installing and using RockMongo on CentOS 7 x64.

Prerequisites

In order to get hands-on experiences from this tutorial, you need to:

  • An ITWeb.Services instance running CentOS 7 x64
  • https://www.itweb.services/tutorials/linux-guides/hot-backups-with-percona-xtrabackup-on-the-one-click-wordpress-app”>sudo user.

Step 1: Update and reboot your server

sudo yum update
sudo shutdown -r now

After the reboot, use the same sudo user to log in again.

Step 2: Install Apache

Since RockMongo is web-based, you need to have a running web server. For the purpose of this tutorial, we will be using Apache:

sudo yum install httpd
sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Step 3: Setup the firewall

In order to access RockMongo from your browser, you need to allow the http traffic to get through the firewall.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Then you can visit http://[YourServerIP] from your browser to verify your setup.

Step 4: Install PHP 5 and all the necessary extensions

RockMongo is a PHP 5-based software. You need to install PHP 5 and some extensions in order for RockMongo to function properly:

sudo yum install php php-devel php-pear php-pecl-mongo
sudo yum install gcc openssl.x86_64 openssl-devel.x86_64
sudo pecl install mongodb
echo 'extension=mongodb.so' | sudo tee -a /etc/php.ini

Step 5: Install the latest stable version of MongoDB

Here, I will use Yum to install MongoDB 3.2.1 which as of writing is the latest stable version of MongoDB.

First, create a Yum repo for MongoDB:

cd /etc/yum.repos.d
sudo vi mongodb-org-3.2.repo

Populate this file with:

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

Save and quit:

:wq!

Then install and setup MongoDB using the following commands:

sudo yum install -y mongodb-org
sudo systemctl start mongod.service
sudo systemctl enable mongod.service

Step 6: Configure the system to prevent warning messages when using MongoDB

Some configuration tweaks are required before you can start using MongoDB:

a) Disable the transparent huge pages

For this purpose, you need to create a startup script:

sudo vi /etc/init.d/disable-transparent-hugepages

Copy the following code section into it:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          disable-transparent-hugepages
# Required-Start:    $local_fs
# Required-Stop:
# X-Start-Before:    mongod mongodb-mms-automation-agent
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Disable Linux transparent huge pages
# Description:       Disable Linux transparent huge pages, to improve
#                    database performance.
### END INIT INFO
case $1 in
  start)
    if [ -d /sys/kernel/mm/transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/transparent_hugepage
    elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/redhat_transparent_hugepage
    else
      return 0
    fi
    echo 'never' > $/enabled
    echo 'never' > $/defrag
    unset thp_path
    ;;
esac

Save and quit:

:wq!

Make sure the script is executable and added to the system startup:

sudo chmod 755 /etc/init.d/disable-transparent-hugepages
sudo chkconfig --add disable-transparent-hugepages

Additionally, you need to adjust the tuned configuration:

sudo mkdir /etc/tuned/no-thp
sudo vi /etc/tuned/no-thp/tuned.conf

Copy the following content into it:

[main]
include=virtual-guest
[vm]
transparent_hugepages=never

Save and quit:

:wq!

Execute tuned-adm:

sudo tuned-adm profile no-thp

b) Configure ulimit values

sudo vi /etc/security/limits.conf

Append the following 4 rows to the end of this file:

mongod soft nofile 64000
mongod hard nofile 64000
mongod soft nproc 32000
mongod hard nproc 32000

Save and quit:

:wq!

Reboot the system to put your changes into effect:

sudo shutdown -r now

Step 7: Install and Use RockMongo

Download the latest stable release of RockMongo from GitHub:

cd ~
wget https://github.com/iwind/rockmongo/archive/1.1.7.tar.gz
tar zxvf 1.1.7.tar.gz

For security purposes, you need to modify the RockMongo administrator’s username and password:

vi rockmongo-1.1.7/config.php

Find the following row:

$MONGO["servers"][$i]["control_users"]["admin"] = "admin";//one of control users ["USERNAME"]=PASSWORD, works only if mongo_auth=false

In this row, modify the first admin string as your custom username, the second admin string as your custom password. Then save and quit:

:wq!

Finally, move the whole directory to your Web directory:

sudo mv ~/rockmongo-1.1.7 /var/www/html/

Now, you can visit http://[YourServerIP]/rockmongo-1.1.7 from your browser and log in RockMongo with the credentials you setup earlier.

This concludes our tutorial. Thank you for reading.

Need help?

Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!