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 /usr/lib └── 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 /usr/lib └─┬ 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
Test MEAN.JS
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:
grunt
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 Server: http://0.0.0.0:3000 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.
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:
- Subscribe to our Email Newsletter : Sign Up Now
- Support OSTechNix : Donate Via PayPal
- Download free E-Books and Videos : OSTechNix on TradePub
- Connect with us: Facebook | Twitter | Google Plus | LinkedIn | RSS feeds
Have a Good day!!