Publicado en

Instalación de MongoDB en Linux y Conexión Remota

MongoDB es una de las bases de datos NoSQL más populares, utilizada por su rendimiento, escalabilidad y flexibilidad. En este artículo, te guiaremos paso a paso sobre cómo instalar y configurar MongoDB en un sistema Linux, así como cómo habilitar el acceso remoto a la base de datos.

Requisitos de Hardware para MongoDB

Antes de comenzar con la instalación de MongoDB en tu servidor Linux, es importante asegurarte de que tu hardware sea adecuado para soportar la base de datos, especialmente si planeas usar MongoDB para aplicaciones en producción. Los requisitos de hardware pueden variar según la carga esperada, pero aquí te damos una guía general:

1. Requisitos Mínimos de Hardware:

  • CPU: Procesador de 64 bits, con al menos 2 núcleos.
  • Memoria RAM: 2 GB de RAM como mínimo (recomendado 4 GB o más para un rendimiento óptimo).
  • Almacenamiento: Al menos 10 GB de espacio libre en disco (más si planeas almacenar grandes volúmenes de datos).
  • Conexión de red: Conexión estable y rápida para evitar latencias en aplicaciones distribuidas.

2. Requisitos Recomendados para Producción:

  • CPU: Procesador de 64 bits, con 4 núcleos o más.
  • Memoria RAM: 8 GB o más de RAM para asegurar un rendimiento eficiente, especialmente en sistemas con una gran cantidad de datos.
  • Almacenamiento: Se recomienda utilizar discos SSD para mejorar la velocidad de lectura y escritura. La capacidad dependerá del volumen de datos que manejará tu base de datos.
  • Red: En caso de utilizar MongoDB en un entorno distribuido o en clústeres, es recomendable contar con una red de 1 Gbps o superior para garantizar la velocidad de replicación entre nodos.

3. Requisitos de Red para Conexión Remota:

  • Dirección IP pública o privada: Si planeas acceder a MongoDB desde máquinas remotas, debes asegurarte de que tu servidor esté accesible desde las máquinas cliente, ya sea mediante una IP pública o dentro de una red privada.
  • Puertos abiertos: El puerto por defecto para MongoDB es el 27017, por lo que es necesario abrir este puerto en el firewall de tu servidor.

Requisitos Previos

Antes de comenzar con la instalación de MongoDB en Linux, asegúrate de tener acceso a un sistema con privilegios de usuario sudo o root.

Paso 1: Instalación de MongoDB en Linux

1.1. Actualiza los paquetes del sistema

Antes de instalar cualquier nuevo paquete, es importante actualizar los repositorios locales. Abre una terminal y ejecuta:

sudo apt update
sudo apt upgrade

1.2. Agregar el repositorio de MongoDB

MongoDB no siempre está disponible en los repositorios predeterminados de algunas distribuciones de Linux. Para instalarlo, debes agregar su repositorio oficial. Ejecuta los siguientes comandos:

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

A continuación, agrega el repositorio de MongoDB a tus fuentes de paquetes:

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

1.3. Instalar MongoDB

Una vez agregado el repositorio, instala MongoDB con:

sudo apt update
sudo apt install -y mongodb-org

1.4. Iniciar y habilitar MongoDB

Para iniciar MongoDB y asegurarte de que se inicie automáticamente al arrancar el sistema, ejecuta:

sudo systemctl start mongod
sudo systemctl enable mongod

Puedes verificar que MongoDB está funcionando correctamente con:

sudo systemctl status mongod

Paso 2: Configuración de Red y Acceso Remoto

De manera predeterminada, MongoDB solo permite conexiones locales (desde la misma máquina donde está instalado). Si deseas habilitar el acceso remoto, debes realizar algunos ajustes en el archivo de configuración.

2.1. Modificar la configuración de bind IP

Abre el archivo de configuración de MongoDB:

sudo nano /etc/mongod.conf

Busca la línea que contiene:

bindIp: 127.0.0.1

Modifica esta línea para permitir conexiones desde cualquier dirección IP, o configura un rango de IPs específicas si deseas restringir el acceso a determinadas máquinas:

bindIp: 0.0.0.0

Este cambio permitirá que MongoDB acepte conexiones desde cualquier IP.

2.2. Reiniciar MongoDB

Para aplicar los cambios, reinicia el servicio de MongoDB:

sudo systemctl restart mongod

Paso 3: Configuración de Seguridad (Opcional)

Si planeas acceder a MongoDB de manera remota, es esencial configurar medidas de seguridad para proteger tu base de datos.

3.1. Activar autenticación

Para habilitar la autenticación en MongoDB y garantizar que solo los usuarios autorizados puedan acceder a la base de datos, abre nuevamente el archivo de configuración de MongoDB:

sudo nano /etc/mongod.conf

Busca la siguiente línea:

#security:
# authorization: "enabled"

Descomenta y habilita la autenticación:

security:
authorization: "enabled"

Reinicia MongoDB nuevamente para aplicar los cambios:

sudo systemctl restart mongod

3.2. Crear un usuario administrador

Inicia sesión en el shell de MongoDB:

mongo

Crea un usuario administrador con el siguiente comando:

use admin
db.createUser({
user: "admin",
pwd: "yourpassword",
roles: [{ role: "root", db: "admin" }]
})

Sustituye "yourpassword" por una contraseña segura.

Paso 4: Pruebas de Conexión Remota

Ahora que MongoDB está configurado para permitir conexiones remotas, puedes probar la conexión desde otra máquina.

  1. Conexión usando mongo shell:

Desde otro servidor o máquina, usa el siguiente comando para conectar a tu base de datos MongoDB:

mongo --host <IP_del_servidor> --port 27017 -u admin -p yourpassword --authenticationDatabase admin
  1. Conexión con una aplicación:

Si planeas conectar tu aplicación a MongoDB, simplemente usa la IP del servidor y las credenciales configuradas en tu cadena de conexión.

Conclusión

Has instalado MongoDB en tu servidor Linux y configurado correctamente el acceso remoto. Recuerda que siempre es recomendable seguir buenas prácticas de seguridad y crear usuarios con permisos limitados según sea necesario. ¡Ahora puedes empezar a usar MongoDB para gestionar tus bases de datos en proyectos remotos!

Si necesitas más ayuda o tienes alguna pregunta, no dudes en dejar un comentario abajo.

Un comentario en «Instalación de MongoDB en Linux y Conexión Remota»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *