Cómo instalar MongoDB en Ubuntu 20.04 LTS

En esta entrada veremos cómo instalar MongoDB en Ubuntu Server 20.04 LTS Focal Fossa paso a paso, (es válido también para Ubuntu Desktop) de modo que puedas trabajar con este motor de bases de datos NoSQL desde tu servidor o VPS Ubuntu.

Antes de instalar MongoDB en Ubuntu 20.04 LTS

Si quieres seguir los pasos de esta guía de instalación de MongoDB en Ubuntu 20.04 LTS tan sólo tendrás que asegurarte de cumplir estos mínimos:

  • Una máquina Ubuntu 20.04 LTS Focal Fossa actualizada.
  • Un usuario con privilegios de sudo.
  • Acceso a Internet.

En el momento de redactar este artículo la versión de MongoDB disponible en los repositorios de Ubuntu 20.04 es la 3.6.3, mientras que el repositorio oficial de MongoDB ofrece en estos momentos la versión 4.4. Puedes optar por una u otra.

Cómo configurar el repositorio de MongoDB en Ubuntu 20.04 LTS

Si prefieres instalar MongoDB 4.4 habrá que configurar el repositorio oficial de MongoDB para Ubuntu 20.04 LTS. Empezaremos instalando la clave pública para verificar las firmas de los paquetes del nuevo repositorio:

~$ wget https://www.mongodb.org/static/pgp/server-4.4.asc -O- | sudo apt-key add -

Creamos el archivo de repositorio:

~$ sudo nano /etc/apt/sources.list.d/mongodb-org.list

Con la siguiente línea como contenido:

deb http://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse

Guardamos el archivo y actualizamos las listas de paquetes:

~$ sudo apt update

Cómo instalar MongoDB en Ubuntu 20.04 LTS

Vamos a instalar MongoDB en Ubuntu 20.04 LTS desde el repositorio oficial, para lo que instalamos el paquete mongodb-org-server:

~$ sudo apt install mongodb-org-server

Tras la descarga e instalación de MongoDB Server se crea un nuevo servicio en Ubuntu 20.04, el servicio mongod.service o simplemente mongod. MongoDB no queda en ejecución ni está habilitado para iniciar automáticamente, por lo que debemos hacer estas tareas manualmente.

Iniciamos MongoDB por primera vez en Ubuntu 20.04 con el comando systemctl:

~$ sudo systemctl start mongod

El servicio quedará en ejecución, listo para aceptar conexiones, como podremos comprobar con el comando systemctl status mongod:

como instalar mongodb en ubuntu 20.04 lts focal fossa

Para que MongoDB inicie automáticamente con cada arranque de Ubuntu 20.04, habilitaremos el servicio mongod:

~$ sudo systemctl enable mongod

Cómo instalar el cliente de MongoDB para Ubuntu 20.04 LTS

Hasta ahora sólo hemos instalado el servicio, pero seguramente querrás también instalar el cliente de MongoDB para Ubuntu 20.04 LTS, de modo que puedas conectar con el servicio desde consola. Para ello instalaremos el paquete mongodb-org-shell:

~$ sudo apt install -y mongodb-org-shell

Una vez descargado es intalado el paquete, dispondremos del cliente de consola mongo.

Cómo conectar al servicio MongoDB en Ubuntu 20.04 LTS

Una vez instalado el servicio y el cliente, conectar a MongoDB en Ubuntu 20.04 LTS es tan sencillo como lanzar en consola el comando mongo:

~$ mongo
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("9ae2f3b6-b85a-4b3e-b59a-1e27596c64f2") }
MongoDB server version: 4.4.0
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
        https://community.mongodb.com
---
The server generated these startup warnings when booting:
        ...: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
        ...: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
---
---
        Enable MongoDB's free cloud-based monitoring service, which will then receive and display
        metrics about your deployment (disk utilization, CPU, operation statistics, etc).

        The monitoring data will be available on a MongoDB website with a unique URL accessible to you
        and anyone you share the URL with. MongoDB may use this information to make product
        improvements and to suggest MongoDB products and deployment options to you.

        To enable free monitoring, run the following command: db.enableFreeMonitoring()
        To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>

instalar mongodb en ubuntu 20.04 lts focal fossa

Obtenemos bastante información y avisos en pantalla.

Parte de estos avisos nos informan sobre la existencia de un servicio de monitorización basado en la nube con el que podremos consultar estadísticas de uso. Si te interesa activar este servicio lanza el comando db.enableFreeMonitoring():

> db.enableFreeMonitoring()

Y si prefieres no usarlo lanza el comando db.disableFreeMonitoring():

> db.disableFreeMonitoring()

Ahora podemos salir del cliente:

> exit

Y al volver a conectar obtendremos menos avisos:

como instalar y configurar mongodb en ubuntu 20.04 lts focal fossa

Cómo configurar MongoDB en Ubuntu 20.04 LTS

Vamos a configurar MongoDB en Ubuntu 20.04 LTS teniendo en cuenta que su archivo de configuración principal está ubicado en la ruta /etc/mongod.conf. Cualquier ajuste en la configuración de MongoDB requerirá reiniciar el servicio mongod:

~$ sudo systemctl restart mongod

Cómo habilitar el uso de contraseñas en MongoDB

Uno de los avisos al conectar al servicio MongoDB nos informa de que no está activado el control de acceso, por lo que no existen restricciones para las operaciones de acceso, lectura y escritura de datos.

Para cambiar esto editaremos mongod.conf:

~$ sudo nano /etc/mongod.conf

Y buscaremos la directiva security:

...
#security:
...

Podemos apreciar que está desactivada, así que la activaremos y especificaremos el tipo de seguridad:

...
security:
  authorization: enabled
...

Para realizar el sangrado o indentación, no uses tabulaciones, sino espacios en blanco.

No uses tabulaciones en el archivo mongod.conf, sólo está permitido el uso de espacios en blanco para indentar o sangrar el texto de la configuración.

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart mongod

Si volvemos a conectar al servicio, veremos que ya no se emiten avisos sobre control de acceso:

instalar y configurar mongodb en ubuntu 20.04 lts focal fossa

Ahora necesitamos un usuario administrador con contraseña, por lo que activaremos la base de datos admin:

> use admin

Y creamos el nuevo usuario administrador con contraseña:

> db.createUser({user: "chacho", pwd: "XXXXXXXX", roles: [{role: "root", db: "admin"}]})

Salimos del cliente mongo:

> exit

Al existir ya un usuario administrador no podremos conectar de forma anónima y realizar acciones privilegiadas, como la que acabamos de hacer.

Volvemos a conectar, pero esta vez especificando el nuevo usuario:

~$ mongo -u chacho
MongoDB shell version v4.4.0
Enter password:
...
---
>

Se nos solicitará la contraseña antes de establecer la conexión.

Acceso remoto a MongoDB en Ubuntu 20.04 LTS

Por defecto MongoDB sólo atiende peticiones locales, desde la propia máquina Ubuntu 20.04 en la que está instalado el servicio. Si queremos permitir conexiones remotas a MongoDB tendremos que editar mongod.conf:

~$ sudo nano /etc/mongod.conf

Y buscaremos este bloque de configuración:

...
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1
...

Podemos cambiar el valor de la directiva bindIp o desactivarla y añadir otra con el valor adecuado:

...
# network interfaces
net:
  port: 27017
#  bindIp: 127.0.0.1
  bindIp: 0.0.0.0
...

Recuerda usar únicamente espacios en blanco (nada de tabulaciones).

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart mongod

Cómo configurar el firewall UFW de Ubuntu 20.04 para MongoDB

Si tienes activado el firewall UFW en Ubuntu 20.04 será necesario añadir una regla para permitir conexiones entrantes a MongoDB, especificando el puerto de conexión que por defecto es el 27017:

~$ sudo ufw allow 27017/tcp

Cómo acceder remotamente a MongoDB

Desde otra máquina con un cliente de MongoDB, por ejemplo otra máquina Ubuntu que disponga del cliente mongo, especificaremos la dirección IP o nombre DNS del servidor Ubuntu 20.04 y el usuario de MongoDB con el que queremos conectar:

~$ mongo --host ubuntu2004.local.lan -u chacho

Se nos solicitará la contraseña y tras autenticarnos podremos trabajar como si lo hiciéramos localmente.

mongodb en ubuntu 20.04 lts focal fossa

Conclusión

Ahora que sabes cómo instalar MongoDB en Ubuntu 20.04 LTS Focal Fossa ya puedes empezar a desarrollar tus propias bases de datos NoSQL, o preparar el soporte de otras aplicaciones que las utilizan.

Si tienes dudas, preguntas, sugerencias de mejoras o actualizaciones de este artículo, o quieres notificar algún error, puedes dejar tu comentario y lo responderemos tan pronto como sea posible.

¡Apoya comoinstalar.me!

¿Ya tienes listo el motor de bases de datos gracias a nuestra guía de instalación y configuración de MongoDB en Ubuntu 20.04 LTS Focal Fossa? En ese caso tal vez quieras expresar tu agradecimiento colaborando con el mantenimiento de este sitio y la creación de más artículo sobre temas como Ubuntu 20.04 y MongoDB; puedes hacerlo invitándome a un café:

 

O dejando una propina de 1 $ en PayPal:

¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votos, promedio: 5,00 de 5)
Cargando...

4 comentarios en «Cómo instalar MongoDB en Ubuntu 20.04 LTS»

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies