Cómo instalar MongoDB en Ubuntu 18.04 LTS

En esta entrada veremos cómo instalar MongoDB en Ubuntu 18.04 LTS Bionic Beaver paso a paso, de modo que al final de esta entrada dispondrás de este servicio de bases de datos, imprescindible en muchos desarrollos backend, en tu servidor o VPS Ubuntu.

Antes de instalar MongoDB en Ubuntu 18.04

Para completar esta guía de instalación de MongoDB Server en Ubuntu 18.04 necesitarás cumplir estos requerimientos mínimos:

  • Un sistema Ubuntu 18.04 LTS Bionic Beaver actualizado.
  • El paquete gnupg.
  • Acceso a línea de comandos con un usuario con permisos de sudo.
  • Conexión a Internet.

Si estás leyendo este artículo es porque seguramente ya cumples los requisitos, así que podemos pasar directamente a hacer el trabajo.

Cómo instalar el repositorio oficial de MongoDB en Ubuntu 18.04

Vamos a instalar el repositorio oficial de MongoDB para Ubuntu 18.04 LTS, ya que aunque existen paquetes de MongoDB en los repositorios del sistema, pertenecen a la versión 3.6.3, cuando la versión estable actual pertenece a la rama 4.4.

Como se trata de un repositorio firmado, tendremos que importar la clave pública para comprobar las firmas de los paquetes:

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

Creamos el archivo para el nuevo repositorio:

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

Y añadimos esta única línea:

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

Guardamos y cerramos el archivo. Ahora actualizamos las listas de paquetes, que incluirán el nuevo repositorio de MongoDB:

~$ sudo apt update

Cómo instalar MongoDB en Ubuntu 18.04

Para instalar el servidor MongoDB en Ubuntu 18.04 necesitamos el paquete mongodb-org, perteneciente al repositorio que acabamos de configurar. Lo instalaremos directamente con el comando apt:

~$ sudo apt install -y mongodb-org

Tras la descarga e instalación de MongoDB y sus dependencias se crea un nuevo servicio en nuestro sistema Ubuntu 18.04, llamado mongod.service, aunque también podemos utilizar el nombre corto, mongod. Este servicio mongod no queda habilitado ni iniciado tras la instalación, por lo que tendremos que realizar estas acciones manualmente.

Para habilitar el servicio MongoDB y que así inicie con cada arranque de Ubuntu 18.04 LTS, usaremos la opción enable del comando systemctl:

~$ sudo systemctl enable mongod

Y si quieres empezar a trabajar de inmediato con el servicio, será necesario iniciarlo de forma manual por primera vez:

~$ sudo systemctl start mongod

Podemos comprobar en cualquier momento el estado de MongoDB con el comando systemctl status mongod:

como instalar mongodb en ubuntu server 18.04 lts bionic beaver

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

Si has seguido los pasos anteriores ya dispondrías del cliente, pero si únicamente quieres instalar un cliente de MongoDB para Ubuntu 18.04 LTS para trabajar remotamente, con el repositorio oficial debidamente configurado, necesitarás el paquete mongodb-org-shell, que podrás instalar con apt:

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

Terminada la descarga e instalación del paquete y sus dependencias ya dispondrás en Ubuntu 18.04 del cliente de consola mongo.

Cómo conectar a MongoDB en Ubuntu 18.04 LTS

Una forma de probar MongoDB Server fácil y rápidamente es pasarle un script mínimo directamente en línea de comandos, mediante la opción eval del cliente de consola mongo:

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

Esto nos devolverá toda la información sobre la conexión:

~$ mongo --eval 'db.runCommand({ connectionStatus: 1 })'
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("23a59491-dec7-45e6-9518-b693271141fd") }
MongoDB server version: 4.4.0
{
        "authInfo" : {
                "authenticatedUsers" : [ ],
                "authenticatedUserRoles" : [ ]
        },
        "ok" : 1
}

También puedes usar el cliente o shell de conexión mongo de forma interactiva, llamándolo sin argumentos:

~$ mongo
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("c408f542-6376-40c1-8c00-c209282f337f") }
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()
---
>

Una de las primeras acciones a realizar será decidir si quieres usar el servicio de estadísticas anónimas o no, ya que en cada conexión al servicio se nos recordará que lo tenemos disponible.

Si quieres activar el servicio, utiliza el siguiente comando:

> db.enableFreeMonitoring()

Y si no deseas usarlo lanza este otro comando:

> db.disableFreeMonitoring()

Para salir del cliente mongo utiliza el comando exit:

> exit

Desde este momento ya puedes integrar MongoDB Server en tus desarrollos sobre tu servidor o VPS Ubuntu 18.04.

Cómo configurar MongoDB en Ubuntu 18.04

Para configurar MongoDB en Ubuntu 18.04 trabajaremos sobre su archivo de configuración, cuya ruta es /etc/mongod.conf. Editando este archivo podremos realizar diferentes ajustes.

Como valores por defecto debemos saber que MongoDB…

  • Sólo atiende conexiones a través de la interfaz loopback (dirección IP 127.0.0.1), según la directiva bindIp.
  • Que el puerto de escucha es el 27017.
  • Que el archivo de registro de eventos o log es /var/log/mongodb/mongodb.log, etc.

Si haces cualquier ajuste en la configuración, después de guardar los cambios deberás reiniciar el servicio:

~$ sudo systemctl restart mongod

El servicio mongod no admite comando reload para recargar configuraciones, es necesario reiniciarlo.

Activar el uso de contraseñas

Por ejemplo, vamos a crear un usuario administrador que sólo pueda conectar mediante contraseña. Editaremos el archivo de configuración mongod.conf:

~$ sudo nano /etc/mongod.conf

Buscamos la directiva security:

...
#security:
...

La activamos, eliminando el carácter # al principio de línea, y añadimos la directiva authorization:

...
security:
  authorization: enabled
...

Es importante señalar que no podemos usar tabulaciones en los archivos de configuración de MongoDB, sólo se permiten espacios en blanco.

Guardamos los cambios, cerramos el archivo y reiniciamos el servicio:

~$ sudo systemctl restart mongod

Ahora conectamos con el servicio usando el cliente mongo:

~$ mongo

Seleccionamos la base de datos admin:

> use admin

Y creamos el nuevo usuario administrador, indicando su contraseña, rol y base de datos:

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

Cerramos la conexión:

> exit

Y volvemos a conectar, especificando el usuario con el que queremos trabajar (el que acabamos de crear):

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

Veremos que se nos pedirá la contraseña para establecer la conexión.

Cómo acceder remotamente a MongoDB en Ubuntu 18.04

Para permitir conexiones entrantes al servicio MongoDB de tu máquina Ubuntu 18.04 será necesario posibilitar que el servicio escuche peticiones desde red en lugar de solamente locales, para lo que editaremos mongod.conf:

~$ sudo nano /etc/mongod.conf

Buscaremos el bloque de configuración net:

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

Cambiaremos el valor 127.0.0.1 de la directiva bindIp por 0.0.0.0:

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

Guardamos los cambios y reiniciamos MongoDB Server:

~$ sudo systemctl restart mongod

Configuración del firewall UFW de Ubuntu 18.04 para MongoDB

Si tienes activado el firewall UFW de Ubuntu 18.04, será necesario añadir una regla para permitir conexiones a MongoDB. El puerto en el que espera conexiones MongoDB es el 27017, así que crearemos la regla adecuada:

~$ sudo ufw allow 27017/tcp

Este ajuste hará efecto de inmediato.

Probar el acceso remoto a MongoDB

Para probar el acceso remoto al servicio MongoDB de nuestro sistema Ubuntu 18.04, conectaremos desde otra máquina en red con algún cliente.

Por ejemplo, desde otra máquina Ubuntu con el cliente mongo especificaremos la dirección IP o nombre DNS del servidor con el parámetro –host, y el usuario con el que queremos acceder con el parámetro -u:

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

Tras autenticarnos facilitando la contraseña, se iniciará la sesión y podremos trabajar como si se tratase de una conexión local.

como instalar y configurar mongodb en ubuntu 18.04 lts bionic beaver

Conclusión

Ahora que ya sabes cómo instalar y configurar MongoDB en Ubuntu Server 18.04 LTS Bionic Beaver estás listo para integrarlo en las pilas de desarrollo backend y frontend que usan este motor de bases de datos como soporte.

Si tienes preguntas, dudas, sugerencias, notificaciones, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Te ha resultado útil esta guía de instalación y configuración de MongoDB en Ubuntu 18.04? Si es así quizás quieras aportar una mínima contribución al mantenimiento de este sitio, y puedes hacerlo invitándome a un café:

 

O también podrías dejar 1 $ de propina en PayPal:

¡Gracias!

Valora esta entrada

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

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