Cómo instalar y utilizar MongoDB en Ubuntu 20.04

MongoDB es un sistema de base de datos orientado a documentos, de código abierto y multiplataforma, escrito en C++. Almacena datos en colecciones de documentos flexibles de tipo JSON y se utiliza para crear potentes sitios web y aplicaciones. Debido a su escalabilidad y alto rendimiento, se utiliza para construir aplicaciones modernas que requieren bases de datos potentes, de misión crítica y de alta disponibilidad.

En este tutorial, explicaremos cómo instalar y utilizar el sistema de base de datos MongoDB en el servidor Ubuntu 20.04.

Requisitos previos

  • Un servidor que ejecute Ubuntu 20.04.
  • Una contraseña de root configurada en tu servidor.

Instalar MongoDB

Por defecto, la última versión de MongoDB no está disponible en el repositorio por defecto de Ubuntu 20.04. Así que tendrás que añadir el repositorio oficial de MongoDB en tu sistema.

Primero, instala el paquete Gnupg con el siguiente comando:

apt-get install gnupg -y

A continuación, descarga y añade la clave GPG de MongoDB con el siguiente comando:

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -

A continuación, añade el repositorio de MongoDB con el siguiente comando:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list

A continuación, actualiza el repositorio e instala MongoDB con el siguiente comando

apt-get update -y
apt-get install mongodb-org -y

Una vez completada la instalación, inicia el servicio MongoDB y habilítalo para que se inicie al reiniciar con el siguiente comando:

systemctl start mongod
systemctl enable mongod

Ahora puedes comprobar el estado del servicio MongoDB con el siguiente comando:

systemctl status mongod

Deberías obtener la siguiente salida:

? mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-05-15 05:30:39 UTC; 18s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 106996 (mongod)
     Memory: 76.0M
     CGroup: /system.slice/mongod.service
             ??106996 /usr/bin/mongod --config /etc/mongod.conf

May 15 05:30:39 ubuntu2004 systemd[1]: Started MongoDB Database Server.
May 15 05:30:48 ubuntu2004 systemd[1]: /lib/systemd/system/mongod.service:11: PIDFile= references a path below legacy directory /var/run/, upd>
lines 1-11/11 (END)

También puedes verificar la versión de MongoDB y la dirección del servidor con el siguiente comando:

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

Deberías obtener la siguiente salida:

MongoDB shell version v4.2.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e1575445-f441-4b30-a5d7-4cf68852e68f") }
MongoDB server version: 4.2.6
{
	"authInfo" : {
		"authenticatedUsers" : [ ],
		"authenticatedUserRoles" : [ ]
	},
	"ok" : 1  
}

Configurar MongoDB

El archivo de configuración por defecto de MongoDB se encuentra en /etc/mongod.conf. Por defecto, cada usuario tendrá acceso a todas las bases de datos y podrá realizar cualquier acción. Para entornos de producción, se recomienda habilitar la autenticación de MongoDB.

Puedes hacerlo editando el archivo /etc/mongod.conf:

nano /etc/mongod.conf

Añade las siguientes líneas:

security:
  authorization: enabled

Guarda y cierra el archivo y luego reinicia el servicio MongoDB para aplicar los cambios:

systemctl restart mongod

Crear un usuario administrador de MongoDB

Tras habilitar la autenticación de MongoDB, tendrás que crear un usuario administrador para acceder y gestionar la base de datos MongoDB.

Primero, accede a la consola de MongoDB con el siguiente comando:

mongo

Deberías ver la siguiente salida:

MongoDB shell version v4.2.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("9ee0ea0c-cf95-4b83-9e88-00dc3a61e0a6") }
MongoDB server version: 4.2.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	http://docs.mongodb.org/
Questions? Try the support group
	http://groups.google.com/group/mongodb-user

A continuación, conéctate a la base de datos admin con el siguiente comando:

> use admin

Deberías ver la siguiente salida:

switched to db admin

A continuación, crea un nuevo usuario admin y establece la contraseña con el siguiente comando

> db.createUser( { user: "admin", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )

Deberías obtener la siguiente salida:

Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

A continuación, sal de la consola de MongoDB con el siguiente comando

> quit()

Verificar la autenticación de MongoDB

En este punto, MongoDB está configurado con autenticación.

Ahora, intenta conectarte a MongoDB utilizando el usuario que has creado anteriormente:

mongo -u admin -p --authenticationDatabase admin

Se te pedirá que proporciones la contraseña como se muestra a continuación:

MongoDB shell version v4.2.6
Enter password: 

Proporciona tu contraseña de administrador y pulsa Intro. Deberías ver la siguiente salida:

connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("00d6d1eb-d1c3-41ea-89c7-d46ec6d17bee") }
MongoDB server version: 4.2.6

Ahora, cambia la base de datos a admin con el siguiente comando:

> use admin

Deberías ver el siguiente resultado:

switched to db admin

Ahora, lista los usuarios con el siguiente comando:

> show users

Deberías obtener la siguiente salida:

{
	"_id" : "admin.admin",
	"userId" : UUID("65907484-9d67-4e6e-bb88-a6666310e963"),
	"user" : "admin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}
> 

Conclusión

En la guía anterior, has aprendido a instalar y configurar MongoDB en el servidor Ubuntu 20.04. Para más información, puedes visitar la documentación de MongoDB en Mongo Doc.

También te podría gustar...