Categories: TutorialsUbuntu

How to Install MERN Stack for JS Based Applications on Ubuntu 20.04

MERN is a popular stack that comprises MongoDB, Express, React, NodeJS. This stack is based on JavaScript and is used to build modern and scalable web applications. It is composed of the front-end (React), back-end (Node and Express), and database components (MongoDB).

This guide will take you through the installation of the MERN Stack on Ubuntu 20.04.

Step 1: Install MongoDB

MongoDB is a cross-platform document-oriented database program that is part of the NoSQL family.NoSQL differs from traditional table-based SQL databases in that it saves data in binary JSON format using documents and collections. This allows for large changes to databases with no downtime.

Sponsored

MongoDB is available in the official Ubuntu repository but not in the latest version. At the time of this writing, the latest version of MongoDB available for download is 5.0.

To install MongoDB 5.0 Community edition on Ubuntu 20.04, we first need to import and the GPG key as shown:

$ wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

Next, add MongoDB repository to the APT package manager with the command:

$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

Thereafter, update your Ubuntu package repository:

$ sudo apt update

Next, install MongoDB with the command:

$ sudo apt install mongodb-org* -y

After the installation is done, start and enable MongoDB to run automatically on system boot. Execute the command:

$ sudo systemctl start mongod
$ sudo systemctl enable mongod

To verify successful installation, run the following command to check the status of MongoDB:

$ sudo systemctl status mongod

The MongoDB service is now up and running.

Create MongoDB Admin User

Now let’s create an Admin user for the database. Log into MongoDB with the command:

$ sudo mongo

Once connected to the Mongo shell, run these commands to create and set a password for the admin user.

$ use admin
$ db.createUser({user: "admin" , pwd: passwordPrompt() , roles: [{ role: "userAdminAnyDatabase" , db: "admin"}]})

Exit the Mongo shell with the command:

$ exit

Step 2: Install NodeJS

Node.js is an open-source, cross-platform Javascript runtime environment that allows us to build fast and scalable server-side applications. Node.js is usually used with JavaScript frontend frameworks such as React, Vue, and Angular.

Just like MongoDB, the latest version of Node.js is not available in the Ubuntu default package repository. You need to add the Node source repository to system packages as shown:

$ curl -sL https://deb.nodesource.com/setup_14.x | bash -

After the repository is added, proceed to install Node.js with the command:

$ sudo apt-get install nodejs -y

Then, verify the Node.js version with the command:

$ node --version

You can also verify the version of npm installed. NPM is a node package manager that contains all libraries and other tools for the development of JavaScript applications. Run the command:

$ npm --version

Sponsored

Step 3: Install ReactJS

ReactJS is a JavaScript library for creating responsive modern user interfaces.

First, you need to install the create-react-app tool using the npm package manager. Create-react-app installs the tools required to build and run a React application. Execute the command:

$ npm install -g create-react-app

Now you are ready to create a React.js application. Run the command:

$ create-react-app my-app

You will see the output shown below:

Next, go into the my-app directory in order to start the ReactJS application with the command:

$ cd my-app
$ npm start 0.0.0.0

Next, open your web browser and access React using the following address:

http://your-server-ip:3000 

Step 3: Install ExpressJS

ExpressJS is a minimal web application framework for NodeJS, which comes with robust features for modern mobile and web applications. After installing React, we can now install the express-generator as shown:

$ npm install -g express-generator

Next, create a new express application with the command:

$ express new-app

You should get the following output:

Next, navigate to your project directory and install all NPM dependencies by executing the following command:

$ cd new-app
$ npm install

Now, start the Express web server using the following command:

$ npm start 0.0.0.0

To access your Express application, open your web browser and navigate to the address:

$ http://your-server-ip:3000

You will see the following output:

Conclusion

You have successfully installed the MERN stack on your Ubuntu 20.04 system.

Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications including CCNA RS, SCP, and ACE. As an IT engineer and technical author, he writes for various websites.

Ubuntu Server Admin

Recent Posts

Canonical announces 12 year Kubernetes LTS

Canonical’s Kubernetes LTS (Long Term Support) will support FedRAMP compliance and receive at least 12…

15 hours ago

Ubuntu Weekly Newsletter Issue 878

Welcome to the Ubuntu Weekly Newsletter, Issue 878 for the week of February 2 –…

1 day ago

How your feedback shapes the way we support open source software

At Canonical, we firmly believe that delivering an outstanding, customer-centric support experience is impossible without…

2 days ago

How To Install osTicket v1.14 On Ubuntu 20.04

I want to share how to install osTicket v1.14 for Ubuntu 20.04 server. osTicket written…

3 days ago

How To Install WordPress On Ubuntu 20.04

Now I want to share how to install WordPress on ubuntu 20.04 server. WordPress is…

3 days ago

How To Install DNS Server (Bind9) On Ubuntu 20.04

Now I want to share the DNS server installation process on your Ubuntu 20.04 server.…

3 days ago