Home Linux DistributionsCentOS Install MEAN.JS Stack In CentOS 7

Install MEAN.JS Stack In CentOS 7

By sk
Published: Updated: 281 views

We already have posted a step by step guide about MEAN.JS installation in Ubuntu 18.04 LTS server in our previous tutorial. In this tutorial, we will see how to install MEAN.JS stack in CentOS 7 64 bit server. This guide might work on other RPM based systems such as RHEL 7, Scientific Linux 7, and Fedora etc.

Install MongoDB

MongoDB is a free, cross-platform, open source, NoSQL document-oriented database. To install MongoDB on your Ubuntu system, refer the following guide:

After installing MongoDB, allow the relevant ports via Firewall using commands:

firewall-cmd --permanent --add-port=27017/tcp
firewall-cmd --permanent --add-port=3000/tcp

Please note that, you need to allow port 3000 via Firewall/Router in-order to access MEAN stack test page from a remote system.

Restart firewalld service:

firewall-cmd --reload

Enable access to the MongoDB ports (e.g. 27017) for SELinux:

semanage port -a -t mongod_port_t -p tcp 27017

If you see semanage command not found error, check the following guide.

Start MongoDB service using command:

systemctl start mongod

Enable MongoDB service at boot:

systemctl enable mongod

You can check whether MongoDB service is running or not using command:

systemctl status mongod

Sample output:

mongod.service - SYSV: Mongo is a scalable, document-oriented database.
 Loaded: loaded (/etc/rc.d/init.d/mongod)
 Active: active (running) since Wed 2016-03-30 13:59:57 IST; 23s ago
 Main PID: 2781 (mongod)
 CGroup: /system.slice/mongod.service
 └─2781 /usr/bin/mongod -f /etc/mongod.conf

Mar 30 13:59:55 server1.ostechnix.local systemd[1]: Starting SYSV: Mongo is a...
Mar 30 13:59:55 server1.ostechnix.local runuser[2777]: pam_unix(runuser:sessi...
Mar 30 13:59:57 server1.ostechnix.local mongod[2770]: Starting mongod: [ OK ]
Mar 30 13:59:57 server1.ostechnix.local systemd[1]: Started SYSV: Mongo is a ...
Hint: Some lines were ellipsized, use -l to show in full.

Now, let us install Node.js,

Install Node.js

NodeJS is an open source, cross-platform, and lightweight JavaScript run-time environment that can be used to build scalable network applications.

To install NodeJS on your system, refer the following guide:

After installing, MongoDB, and Node.js, we need to install the other required components such as Bower, Frunt, and Gulp for MEAN.js stack.

Install Bower package manager

Bower is a package manager used by MEAN.JS stack to manage front-end packages.

To install Bower, run the following command:

npm install -g bower

Sample output:

/usr/bin/bower -> /usr/lib/node_modules/bower/bin/bower
└── bower@1.7.7

Install Grunt Task Runner

Grunt Task Runner is used to to automate the development process.

To install Grunt, run:

npm install -g grunt-cli

Sample output:

/usr/bin/grunt -> /usr/lib/node_modules/grunt-cli/bin/grunt
└─┬ grunt-cli@1.1.0 
 ├─┬ findup-sync@0.3.0 
 │ └─┬ glob@5.0.15 
 │ ├─┬ inflight@1.0.4 
 │ │ └── wrappy@1.0.1 
 │ ├── inherits@2.0.1 
 │ ├─┬ minimatch@3.0.0 
 │ │ └─┬ brace-expansion@1.1.3 
 │ │ ├── balanced-match@0.3.0 
 │ │ └── concat-map@0.0.1 
 │ ├── once@1.3.3 
 │ └── path-is-absolute@1.0.0 
 ├─┬ nopt@3.0.6 
 │ └── abbrev@1.0.7 
 └── resolve@1.1.7

Install Gulp Task Runner (Optional)

This is optional. You can use Gulp instead of Grunt.

To install Gulp Task Runner, run the following command:

sudo npm install -g gulp

We have installed all required prerequisites. Now, let us deploy MEAN.JS stack.

Download and Install MEAN.JS Stack

Git clone the MEAN.JS repository with command:

git clone https://github.com/meanjs/mean.git meanjs

Sample output:

Cloning into 'meanjs'...
remote: Counting objects: 8596, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 8596 (delta 3), reused 0 (delta 0), pack-reused 8584
Receiving objects: 100% (8596/8596), 2.62 MiB | 140.00 KiB/s, done.
Resolving deltas: 100% (4322/4322), done.
Checking connectivity... done.

The above command will clone the latest version of the MEAN.JS repository to a meanjs folder.

Go to the meanjs folder:

cd meanjs/

Run the following command to install the Node.js dependencies required for testing and running our application.

npm install

This will take some time. Please be patient.

Once all dependencies are installed, run the following command to install all the front-end modules needed for the application.

bower --allow-root --config.interactive=false install


MEAN.JS stack has been installed. We can now able to start a sample application using Grunt task runner. To do so, run the following command:


In case the above command for some reason, use --force flag as shown below.

grunt --force

After a few seconds, you will see a message like below. This means MEAN.JS stack is working.

 MEAN.JS - Development Environment

 Environment: development
 Database: mongodb://localhost/mean-dev
 App version: 0.5.0-beta
 MEAN.JS version: 0.5.0-beta


To verify, open up the browser and navigate to http://localhost:3000 or http://IP-Address:3000/. You should see a screen something like below.

MEAN test page

Congratulations! MEAN.JS stack is ready to start building web applications.

For further details, I recommend you to refer MEAN.JS stack official documentation.

That’s all for now folks. Hope this tutorial will help you to setup MEAN.JS stack.

If you find this tutorial useful, please share it on your social networks and support OSTechNix.

Reference links:

Thanks for stopping by!

Help us to help you:

Have a Good day!!

You May Also Like

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More