Cómo instalar MERN Stack para aplicaciones basadas en JS en Ubuntu 20.04

La pila MERN está formada por cuatro componentes: MongoDB, Express, React y Node. Proporciona un conjunto de tecnologías JavaScript utilizadas para construir sitios web JS dinámicos.

MongoDB es un sistema de base de datos NoSQL de código abierto y el más utilizado para desarrollar aplicaciones web robustas. Express.js es un marco de aplicaciones web Node.js utilizado para desarrollar aplicaciones híbridas basadas en la web. React.js es un marco de trabajo de JavaScript de código abierto que se utiliza para crear una interfaz frontal para aplicaciones móviles. Node.js es un entorno JavaScript que permite a los desarrolladores ejecutar códigos en el servidor.

En esta guía, te mostraremos cómo instalar la pila MERN en Ubuntu 20.04.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Una contraseña de root configurada en el servidor.

Cómo empezar

En primer lugar, actualiza los paquetes del sistema a la versión actualizada ejecutando el siguiente comando:

apt-get update -y

Una vez actualizados todos los paquetes, puedes pasar al siguiente paso.

Instalar el servidor MongoDB

Por defecto, la última versión de MongoDB no está incluida en el repositorio por defecto de Ubuntu 20.04. Así que tendrás que añadir el repositorio de MongoDB a tu sistema.

En primer lugar, instala todas las dependencias necesarias utilizando el siguiente comando:

apt-get install gnupg2 wget curl unzip git -y

Después de instalar todas las dependencias, añade la clave GPG de MongoDB con el siguiente comando:

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

A continuación, añade el repositorio de MongoDB con el siguiente comando:

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

A continuación, actualiza el repositorio e instala el servidor MongoDB con el siguiente comando:

apt-get update -y
apt-get install mongodb-org -y

Una vez instalado MongoDB, inicia el servicio MongoDB y habilítalo para que se inicie al reiniciar el sistema:

systemctl start mongod
systemctl enable mongod

A continuación, verifica el estado del servicio MongoDB mediante el siguiente comando:

systemctl status mongod

Deberías ver la siguiente salida:

? mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-23 12:21:17 UTC; 5s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 8774 (mongod)
     Memory: 58.8M
     CGroup: /system.slice/mongod.service
             ??8774 /usr/bin/mongod --config /etc/mongod.conf

Jul 23 12:21:17 ubuntu systemd[1]: Started MongoDB Database Server.

A continuación, verifica la instalación de MongoDB con el siguiente comando:

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

Deberías obtener la siguiente salida:

MongoDB shell version v4.4.7
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("59c89093-9e9d-413b-aafa-ae0a4ddda087") }
MongoDB server version: 4.4.7
{
	"authInfo" : {
		"authenticatedUsers" : [ ],
		"authenticatedUserRoles" : [ ]
	},
	"ok" : 1
}

Crear usuario administrador de MongoDB

Primero, conéctate a la instancia de MongoDB con el siguiente comando

mongo

Una vez conectado, cambia la base de datos a admin con el siguiente comando:

> use admin

A continuación, crea un usuario admin y establece una contraseña con el siguiente comando:

> db.createUser({user: "admin" , pwd: passwordPrompt() , roles: [{ role: "userAdminAnyDatabase" , db: "admin"}]})
Enter password:

Deberías obtener la siguiente salida:

Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

A continuación, sal del shell de MongoDB con el siguiente comando:

> quit()

Instalar Node.js

Por defecto, la última versión de Node.js no está incluida en el repositorio por defecto de Ubuntu. Así que tendrás que añadir el repositorio de fuentes de Node a tu sistema.

Para añadir el repositorio de fuentes de Node, ejecuta el siguiente comando:

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

Una vez añadido el repositorio, instala el Node.js con el siguiente comando:

apt-get install nodejs -y

Tras la instalación, verifica la versión de Node.js con el siguiente comando:

node --version

Deberías ver la siguiente salida:

v14.17.2

También puedes verificar la versión de NPM con el siguiente comando:

npm --version

Deberías ver la siguiente salida:

6.14.13

Instalar React.js

En primer lugar, tendrás que instalar la herramienta create-react-app para crear una aplicación React.js.

Puedes instalarla con el siguiente comando:

npm install -g create-react-app

Tras la instalación, crea una aplicación React.js con el siguiente comando:

create-react-app myapp

Deberías ver la siguiente salida:

Success! Created myapp at /root/myapp
Inside that directory, you can run several commands:

  npm start
    Starts the development server.

  npm run build
    Bundles the app into static files for production.

  npm test
    Starts the test runner.

  npm run eject
    Removes this tool and copies build dependencies, configuration files
    and scripts into the app directory. If you do this, you can’t go back!

We suggest that you begin by typing:

  cd myapp
  npm start

Happy hacking!

A continuación, cambia el directorio a myapp e inicia la aplicación con el siguiente comando:

cd myapp
npm start 0.0.0.0

Deberías ver el siguiente resultado:

Compiled successfully!

You can now view myapp in the browser.

  http://localhost:3000

Note that the development build is not optimized.
To create a production build, use npm run build.

Ahora puedes acceder a la aplicación React.js utilizando la URL http://your-server-ip:3000. Deberías ver tu panel de control de React.js en la siguiente página:

NodeJS

Ahora, pulsa CTRL+C en tu terminal para cerrar la aplicación.

Instalar Express.js

Primero, instala el generador Express con el siguiente comando:

npm install -g express-generator

Tras la instalación, crea un nuevo proyecto con el siguiente comando:

express myproject

Deberías obtener la siguiente salida:

  warning: the default view engine will not be jade in future releases
  warning: use `--view=jade' or `--help' for additional options


   create : myproject/
   create : myproject/public/
   create : myproject/public/javascripts/
   create : myproject/public/images/
   create : myproject/public/stylesheets/
   create : myproject/public/stylesheets/style.css
   create : myproject/routes/
   create : myproject/routes/index.js
   create : myproject/routes/users.js
   create : myproject/views/
   create : myproject/views/error.jade
   create : myproject/views/index.jade
   create : myproject/views/layout.jade
   create : myproject/app.js
   create : myproject/package.json
   create : myproject/bin/
   create : myproject/bin/www

   change directory:
     $ cd myproject

   install dependencies:
     $ npm install

   run the app:
     $ DEBUG=myproject:* npm start

Ahora, cambia el directorio a tu proyecto e instala todas las dependencias de NPM con el siguiente comando:

cd myproject
npm install

Ahora, inicia el servidor web Express con el siguiente comando:

npm start 0.0.0.0

Ahora, abre tu navegador web y accede a la aplicación Express utilizando la URL http://your-server-ip:3000. Deberías ver la siguiente página:

ExpressJS

Conclusión

Enhorabuena! has instalado con éxito la pila MERN en el servidor Ubuntu 20.04. Ahora puedes empezar a desarrollar aplicaciones MERN. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...