MongoDB - Cómo instalar MongoDB en Ubuntu 18.04

Publicado: por

1. Prerequisitos

Disponer de ubuntu 18.04

2. Instalar MongoDB

$ sudo apt update
$ sudo apt install -y mongodb

3. Comprobando el servicio y base de datos

$ sudo apt install -y mongodb

Verás esto como salida:

● mongodb.service - An object/document-oriented database
   Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-11-20 10:33:54 CET; 26min ago
     Docs: man:mongod(1)
 Main PID: 17055 (mongod)
    Tasks: 23 (limit: 4915)
   CGroup: /system.slice/mongodb.service
           └─17055 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

Según systemd, el servidor MongoDB está en funcionamiento.

Podemos verificar esto aún más, conectándonos al servidor de la base de datos y ejecutando un comando de diagnóstico

Ejecuta este comando:

$ mongo --eval 'db.runCommand({ connectionStatus: 1 })'

Esto generará la versión actual de la base de datos, la dirección del servidor y el puerto, y la salida del comando de estado:

MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
{
	"authInfo" : {
		"authenticatedUsers" : [ ],
		"authenticatedUserRoles" : [ ]
	},
	"ok" : 1
}

Un valor de 1 para el campo ok en la respuesta indica que el servidor está funcionando correctamente.

4. Manejando el servicio MongoDB

MongoDB se instala como un servicio de systemd, lo que significa que puedes administrarlo utilizando los comandos estándar de systemd junto con todos los demás servicios de sistema en Ubuntu.

Para verificar el estado del servicio, escribe:

$ sudo systemctl status mongodb

Puedes detener el servidor en cualquier momento escribiendo:

$ sudo systemctl stop mongodb

Para iniciar el servidor cuando está parado, escribe:

$ sudo systemctl start mongodb

También puedes reiniciar el servidor con el comando:

$ sudo systemctl restart mongodb

Por defecto, MongoDB está configurado para iniciarse automáticamente con el servidor. Si desea deshabilitar el inicio automático, escriba:

$ sudo systemctl disable mongodb

Es igual de fácil habilitarlo de nuevo. Para ello, utiliza:

$ sudo systemctl enable mongodb

5. Ajustando el Firewall (opcional)

Por defecto, no se podrá acceder al servidor MongoDB desde Internet.

$ sudo ufw status

Si pretendes usar el servidor MongoDB solo localmente con aplicaciones que se ejecutan en el mismo servidor, esta es la configuración recomendada y segura.

Sin embargo, si deseas poder conectarse a su servidor MongoDB desde Internet, debes permitir las conexiones entrantes en ufw.

Para permitir el acceso a MongoDB en su puerto predeterminado 27017 desde cualquier lugar, puedes usar sudo ufw allow 27017. Sin embargo, habilitar el acceso de Internet al servidor MongoDB en una instalación predeterminada le da a cualquier persona acceso sin restricciones al servidor de la base de datos y sus datos.

En la mayoría de los casos, solo se puede acceder a MongoDB desde ciertas ubicaciones de confianza, como otro servidor que aloja una aplicación. Para llevar a cabo esta tarea, puedes permitir el acceso en el puerto predeterminado de MongoDB mientras especificas la dirección IP de otro servidor al que se le permitirá explícitamente conectarse:

sudo ufw allow from tu_otro_servidor_ip/32 to any port 27017 

Ejemplo: sudo ufw allow from 15.15.15.0/24 to any port 27017