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

La pila MERN está compuesta por cuatro componentes: MongoDB, Express, React y Node. Proporciona un paquete de tecnologías JavaScript utilizadas para crear 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 sólidas. Express.js es un marco de aplicación web de Node.js que se utiliza para desarrollar aplicaciones híbridas basadas en web. React.js es un marco JavaScript de código abierto que se utiliza para crear una interfaz de usuario para aplicaciones móviles. Node.js es un entorno de JavaScript que permite a los desarrolladores ejecutar códigos en el servidor.
En esta guía, le mostraremos cómo instalar la pila MERN en Ubuntu 20.04.
requisitos previos
- Un servidor con Ubuntu 20.04.
- Una contraseña de root está configurada en el servidor.
Empezando
Primero, actualice los paquetes del sistema a la versión actualizada ejecutando el siguiente comando:
apt-get update -y
Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.
Instalar el servidor MongoDB
De forma predeterminada, la última versión de MongoDB no está incluida en el repositorio predeterminado de Ubuntu 20.04. Por lo tanto, deberá agregar el repositorio MongoDB a su sistema.
Primero, instale todas las dependencias requeridas usando el siguiente comando:
apt-get install gnupg2 wget curl unzip git -y
Después de instalar todas las dependencias, agregue 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, agregue 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
Luego, actualice el repositorio e instale el servidor MongoDB usando el siguiente comando:
apt-get update -y apt-get install mongodb-org -y
Una vez que se haya instalado MongoDB, inicie el servicio MongoDB y habilítelo para que se inicie al reiniciar el sistema:
systemctl start mongod systemctl enable mongod
Luego, verifique el estado del servicio MongoDB usando el siguiente comando:
systemctl status mongod
Debería ver el siguiente resultado:
? 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, verifique la instalación de MongoDB con el siguiente comando:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Deberías obtener el siguiente resultado:
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éctese a la instancia de MongoDB con el siguiente comando:
mongo
Una vez que esté conectado, cambie la base de datos a admin con el siguiente comando:
> use admin
A continuación, cree un usuario administrador y establezca una contraseña con el siguiente comando:
> db.createUser({user: "admin" , pwd: passwordPrompt() , roles: [{ role: "userAdminAnyDatabase" , db: "admin"}]}) Enter password:
Deberías obtener el siguiente resultado:
Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
A continuación, salga del shell de MongoDB con el siguiente comando:
> quit()
Instalar Node.js
De forma predeterminada, la última versión de Node.js no está incluida en el repositorio predeterminado de Ubuntu. Por lo tanto, deberá agregar el repositorio de origen de Node a su sistema.
Para agregar el repositorio de origen de Node, ejecute el siguiente comando:
curl -sL https://deb.nodesource.com/setup_14.x | bash -
Una vez que se agrega el repositorio, instale Node.js con el siguiente comando:
apt-get install nodejs -y
Después de la instalación, verifique la versión de Node.js con el siguiente comando:
node --version
Debería ver el siguiente resultado: Anuncio
v14.17.2
También puede verificar la versión de NPM usando el siguiente comando:
npm --version
Debería ver el siguiente resultado:
6.14.13
Instalar React.js
Primero, deberá instalar una herramienta create-react-app para crear una aplicación React.js.
Puedes instalarlo con el siguiente comando:
npm install -g create-react-app
Después de la instalación, cree una aplicación React.js con el siguiente comando:
create-react-app myapp
Debería ver el siguiente resultado:
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, cambie el directorio a myapp e inicie la aplicación con el siguiente comando:
cd myapp npm start 0.0.0.0
Debería 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 puede acceder a la aplicación React.js usando la URL http://su-servidor-ip:3000. Debería ver su tablero de React.js en la siguiente página:
Ahora presiona CTRL+C en su terminal para cerrar la aplicación.
Instalar Express.js
Primero, instale express-generator con el siguiente comando:
npm install -g express-generator
Después de la instalación, cree un nuevo proyecto con el siguiente comando:
express myproject
Deberías obtener el siguiente resultado:
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, cambie el directorio a su proyecto e instale todas las dependencias de NPM usando el siguiente comando:
cd myproject npm install
Ahora, inicie el servidor web Express usando el siguiente comando:
npm start 0.0.0.0
Ahora, abra su navegador web y acceda a la aplicación Express usando la URL http://su-servidor-ip:3000. Deberías ver la siguiente página:
Conclusión
¡Felicidades! Ha instalado con éxito la pila MERN en el servidor Ubuntu 20.04. Ahora puede iniciar el desarrollo de aplicaciones MERN. No dude en preguntarme si tiene alguna pregunta.