La pila MERN es una popular tecnología de desarrollo web que incluye MongoDB, Express.js, React y Node.js. Es ampliamente utilizada para construir aplicaciones web modernas y dinámicas. En este artículo, te guiaremos a través del proceso de instalación de la pila MERN en Debian 12, proporcionando comandos detallados y ejemplos prácticos para que los principiantes puedan seguir fácilmente.

Prerrequisitos

Antes de comenzar, asegúrate de que tu sistema está actualizado y tienes los permisos necesarios:

  1. Actualizar el sistema:
   sudo apt update && sudo apt upgrade -y
  1. Instalar curl y wget: Estas herramientas se utilizarán para descargar archivos y realizar solicitudes HTTP.
   sudo apt install curl wget -y

Instalación de Node.js y npm

Node.js es la plataforma en la que se ejecutan tanto Express.js como React. npm es el gestor de paquetes para Node.js.

Paso 1: Descargar e instalar Node.js

Descarga e instala Node.js desde el repositorio oficial de NodeSource:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

Paso 2: Verificar la instalación de Node.js y npm

Verifica que Node.js y npm se hayan instalado correctamente:

node -v
npm -v

Deberías ver las versiones instaladas de Node.js y npm.

Instalación de MongoDB

MongoDB es una base de datos NoSQL que forma parte de la pila MERN.

Paso 1: Importar la clave GPG pública de MongoDB

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

Paso 2: Añadir el repositorio de MongoDB

Añade el repositorio de MongoDB al archivo de fuentes de APT:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/debian buster/mongodb-org/6.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

Paso 3: Instalar MongoDB

Actualiza la lista de paquetes e instala MongoDB:

sudo apt update
sudo apt install -y mongodb-org

Paso 4: Iniciar y habilitar MongoDB

Inicia el servicio de MongoDB y habilítalo para que se inicie automáticamente al arrancar:

sudo systemctl start mongod
sudo systemctl enable mongod

Paso 5: Verificar el estado de MongoDB

Verifica que MongoDB esté funcionando correctamente:

sudo systemctl status mongod

Instalación de Express.js

Express.js es un framework web para Node.js que facilita la creación de aplicaciones web y APIs.

Paso 1: Crear un proyecto de Node.js

Crea un directorio para tu proyecto y navega a él:

mkdir mern-project
cd mern-project

Paso 2: Inicializar el proyecto de Node.js

Inicializa un nuevo proyecto de Node.js:

npm init -y

Paso 3: Instalar Express.js

Instala Express.js como dependencia:

npm install express

Instalación de React

React es una biblioteca de JavaScript para construir interfaces de usuario.

Paso 1: Instalar create-react-app

Instala create-react-app, una herramienta para crear proyectos de React:

npx create-react-app client

Paso 2: Navegar al directorio del cliente

Navega al directorio recién creado para la aplicación de React:

cd client

Paso 3: Iniciar la aplicación de React

Inicia la aplicación de React:

npm start

Esto debería abrir la aplicación React en tu navegador en http://localhost:3000.

Conectar todos los componentes de la pila MERN

Ahora que has instalado todos los componentes de la pila MERN, puedes conectarlos para crear una aplicación completa.

Paso 1: Crear el servidor Express.js

Dentro del directorio mern-project, crea un archivo server.js:

nano server.js

Añade el siguiente código para configurar un servidor básico de Express.js:

const express = require('express');
const mongoose = require('mongoose');
const app = express();
const port = 5000;

app.use(express.json());

mongoose.connect('mongodb://localhost:27017/mern-db', {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});

app.get('/', (req, res) => {
  res.send('Hola Mundo desde el servidor Express!');
});

app.listen(port, () => {
  console.log(`Servidor corriendo en http://localhost:${port}`);
});

Paso 2: Ejecutar el servidor Express.js

Ejecuta el servidor:

node server.js

Deberías ver un mensaje indicando que el servidor está corriendo en http://localhost:5000.

Si estás buscando un proveedor confiable para tus necesidades de hospedaje en la nube, considera Shape.host. Ofrecen servicios de Cloud VPS que son ideales para desplegar tu aplicación MERN y otros proyectos web. Con Shape.host, puedes asegurar que tus aplicaciones se ejecuten en un entorno de alta disponibilidad y rendimiento