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:
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:
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.