Cómo crear un MongoDB en un VPS ⋆ ALexHost SRL

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills
06.01.2025
No categories

Cómo crear un MongoDB en un VPS

MongoDB es una popular base de datos NoSQL conocida por su flexibilidad, escalabilidad y rendimiento. Almacena datos en documentos flexibles, similares a JSON, lo que es perfecto para los desarrolladores que trabajan con aplicaciones dinámicas y de rápida evolución. Si ha optado por ejecutar MongoDB en su propio Servidor Privado Virtual (VPS), le espera una experiencia gratificante que le proporcionará un control total sobre su entorno de base de datos. Esta guía le llevará paso a paso por el proceso de configuración de MongoDB en un VPS.

Requisitos previos

Antes de empezar, asegúrate de tener lo siguiente:

  1. Un VPS con acceso root.
  2. Ubuntu 20.04 o una distribución Linux similar.
  3. Acceso SSH a su VPS.
  4. Al menos 2GB de RAM (recomendado) para MongoDB.
  5. Conocimientos básicos de interfaz de línea de comandos (CLI) y comandos Linux.

Paso 1: Actualizar el sistema

En primer lugar, asegúrese de que su VPS está actualizado. Inicie sesión a través de SSH y ejecute los siguientes comandos para actualizar la lista de paquetes de su sistema e instalar las actualizaciones pendientes:

sudo apt update
sudo apt upgrade -y

Una vez actualizado el sistema, es una buena práctica reiniciar el servidor para asegurarse de que todas las actualizaciones se aplican correctamente:

sudo reboot

Paso 2: Instalar MongoDB

MongoDB no está incluido en los repositorios por defecto de Ubuntu, por lo que tendrás que añadir su repositorio oficial antes de instalarlo. He aquí cómo instalar MongoDB:

Añadir el repositorio de MongoDB

  1. Importar la clave GPG pública de MongoDB:
    wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
  2. Crear un archivo de lista para MongoDB:
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
  3. Actualice su lista de paquetes local:
    sudo apt update

Instalar paquetes MongoDB

Ahora, instale los paquetes MongoDB ejecutando el siguiente comando:

sudo apt install -y mongodb-org

Esto instala MongoDB junto con otros componentes necesarios (como mongod, el demonio de MongoDB).

Paso 3: Iniciar y habilitar MongoDB

Una vez instalado, debe iniciar MongoDB y habilitarlo para que se ejecute al inicio:

sudo systemctl start mongod
sudo systemctl enable mongod

Para confirmar que MongoDB se está ejecutando, comprueba su estado:

sudo systemctl status mongod

Deberías ver MongoDB listado como activo (ejecutándose). Si todo se ve bien, estás listo para pasar a la configuración.

Paso 4: Asegurar MongoDB

Por defecto, MongoDB permite el acceso sin autenticación, lo que no es ideal para un entorno de producción. Para asegurar MongoDB, deberías habilitar la autenticación.

Crear un usuario administrador

  1. Primero, accede al shell de MongoDB:
    mongo
  2. Cambia a la base de datos admin:
    use admin
  3. Cree un usuario admin ejecutando el siguiente comando, sustituyendo adminuser y password por el nombre de usuario y password que desee:
    db.createUser({
    usuario: "adminuser",
    pwd: "password",
    roles: [ { rol: "userAdminAnyDatabase", db: "admin" } ]
    })
  • Salga del intérprete de comandos de MongoDB:
    exit

Activar autenticación

  1. Abra el archivo de configuración de MongoDB con un editor de texto:
    sudo nano /etc/mongod.conf
  2. En el archivo de configuración, busque la siguiente línea:
    #seguridad:
  3. Descoméntala y añade la siguiente línea debajo de ella:
    security:
    authorization: enabled
  4. Guarda los cambios y sal del editor (en Nano, pulsa Ctrl X , luego Y y Enter).
  5. Reinicie MongoDB para aplicar los cambios:
    sudo systemctl restart mongod

Paso 5: Configurar el acceso remoto a MongoDB (opcional)

Por defecto, MongoDB sólo escucha en localhost (127.0.0.1), lo que significa que sólo es accesible desde el propio VPS. Si necesitas acceso remoto, tendrás que configurar MongoDB para permitir conexiones desde direcciones IP externas. He aquí cómo:

  1. Abra el archivo de configuración de MongoDB:
    sudo nano /etc/mongod.conf
  2. Encuentra la siguiente línea:
    bindIp: 127. 0.0.1
  3. Sustitúyala por:
    bindIp: 0. 0.0.0

    Esto permite a MongoDB aceptar conexiones desde todas las direcciones IP.

  4. Guarde los cambios y salga del editor.
  5. Reinicie MongoDB:
    sudo systemctl restart mongod

Acceso remoto seguro con un cortafuegos

Permita que sólo las direcciones IP de confianza se conecten a MongoDB configurando el cortafuegos de su VPS. Si estás usando UFW (Uncomplicated Firewall), aquí tienes cómo permitir conexiones remotas en el puerto por defecto de MongoDB (27017):

  1. Permitir el acceso desde una IP específica (sustituye tu_ip por tu dirección IP ):
    sudo ufw allow desde tu_ip a cualquier puerto 27017
  2. Para habilitar UFW (si no está habilitado):
    sudo ufw enable
  3. Compruebe el estado de UFW para confirmar que se ha añadido la regla:
    sudo ufw status

Paso 6: Probar la configuración de MongoDB

Para verificar que MongoDB funciona correctamente, puede acceder al shell de MongoDB y autenticarse utilizando el usuario que creó anteriormente:

  1. Conectarse a MongoDB:
    mongo -u adminuser -p --authenticationDatabase admin
  2. Ahora deberías estar conectado al shell de MongoDB como usuario admin.

Paso 7: Copia de seguridad y mantenimiento

Es fundamental realizar copias de seguridad de las bases de datos MongoDB con regularidad, especialmente en un entorno de producción. Puedes usar la herramienta mongodump para hacer copias de seguridad de tus datos:

mongodump --out /ruta/al/respaldo/directorio

Puedes restaurar los datos con mongorestore:

mongorestore /ruta/al/backup/directorio

Conclusión

Siguiendo estos pasos, has instalado y configurado MongoDB con éxito en tu VPS. Ahora tiene control total sobre su entorno MongoDB, que puede ajustarse para satisfacer sus necesidades específicas. Tanto si usas MongoDB para aplicaciones web, big data o simplemente para experimentar, tu instalación de MongoDB basada en VPS te ofrecerá flexibilidad y rendimiento.

Recuerda monitorizar tu instancia de MongoDB regularmente y mantenerla segura habilitando la autenticación y limitando el acceso a través de cortafuegos. ¡Feliz programación!

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills