Cómo instalar y proteger la base de datos NoSQL MongoDB en Ubuntu 22.04
MongoDB es un sistema de bases de datos NoSQL gratuito, de código abierto y uno de los más populares. Almacena los datos en JSON en lugar del método habitual de estilo tabla que se encuentra en las bases de datos SQL. Se puede integrar fácilmente con otros programas, por lo que se utiliza mucho en aplicaciones web. No requiere un esquema predefinido, y la estructura de datos puede modificarse con el tiempo. Está escrito en C++ y proporciona escalabilidad, alto rendimiento y alta disponibilidad.
En este tutorial, te mostraremos cómo instalar MongoDB en Ubuntu 22.04.
Requisitos previos
- Un servidor que ejecute Ubuntu 22.04.
- Una contraseña de root configurada en el servidor.
Añadir el repositorio de MongoDB
Por defecto, el paquete MongoDB no está incluido en el repositorio por defecto de Ubuntu 22.04, por lo que tendrás que añadir el repositorio oficial de MongoDB al APT.
En primer lugar, instala todas las dependencias necesarias utilizando el siguiente comando:
apt install wget gnupg2 curl -y
A continuación, descarga y añade la clave GPG de MongoDB utilizando el siguiente comando:
curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
A continuación, añade el repositorio de MongoDB a APT utilizando el siguiente comando:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Una vez añadido el repositorio MongoDB, actualiza la caché del repositorio utilizando el siguiente comando:
apt update -y
Instalar MongoDB en Ubuntu 22.04
Ahora puedes instalar el paquete MongoDB utilizando el siguiente comando:
apt install mongodb-org -y
A continuación, inicia el servicio MongoDB y habilítalo para que se inicie al reiniciar el sistema utilizando el siguiente comando:
systemctl start mongod
Puedes comprobar el estado de MongoDB utilizando el siguiente comando:
systemctl status mongod
Deberías ver la siguiente salida:
? mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2022-05-28 15:04:49 UTC; 7s ago Docs: https://docs.mongodb.org/manual Main PID: 27422 (mongod) Memory: 63.3M CPU: 967ms CGroup: /system.slice/mongod.service ??27422 /usr/bin/mongod --config /etc/mongod.conf May 28 15:04:49 ubuntu2204 systemd[1]: Started MongoDB Database Server.
Para comprobar la versión de MongoDB, utiliza el siguiente comando:
mongo --version
Deberías ver la versión de MongoDB en la siguiente salida:
MongoDB shell version v4.4.14 Build Info: { "version": "4.4.14", "gitVersion": "0b0843af97c3ec9d2c0995152d96d2aad725aab7", "openSSLVersion": "OpenSSL 1.1.1l 24 Aug 2021", "modules": [], "allocator": "tcmalloc", "environment": { "distmod": "ubuntu2004", "distarch": "x86_64", "target_arch": "x86_64" } }
También puedes comprobar la información de conexión a MongoDB con el siguiente comando:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Deberías obtener la siguiente salida:
MongoDB shell version v4.4.14 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("44560246-9673-418a-95c9-112bba345f4f") } MongoDB server version: 4.4.14 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
Crear usuario administrador de MongoDB
Por defecto, se puede acceder a MongoDB sin nombre de usuario ni contraseña. Por razones de seguridad, se recomienda crear un usuario admin para autenticar MongoDB.
En primer lugar, inicia sesión en el shell de MongoDB con el siguiente comando:
mongo
Una vez que hayas iniciado sesión, cambia la base de datos a admin mediante el siguiente comando:
use admin
A continuación, crea un usuario admin y establece una contraseña con el siguiente comando:
db.createUser( { user: "admin", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
Deberías ver la siguiente salida:
Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
A continuación, edita el archivo de configuración de MongoDB y habilita la autenticación de MongoDB. Puedes hacerlo editando el archivo de configuración de MongoDB:
nano /etc/mongod.conf
Añade la siguiente línea para habilitar la autenticación de MongoDB:
security: authorization: enabled
Guarda y cierra el archivo y reinicia el servicio MongoDB para aplicar los cambios:
systemctl restart mongod
Verificar la autenticación de MongoDB
Ahora, puedes verificar la autenticación de MongoDB utilizando el siguiente comando:
mongo -u admin -p --authenticationDatabase admin
Se te pedirá la contraseña de administrador de MongoDB:
MongoDB shell version v4.4.14 Enter password:
Proporciona tu contraseña de administrador y pulsa la tecla 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("05106893-c382-4895-a55b-7560858b31eb") } MongoDB server version: 4.4.14 >
Para listar todas las bases de datos MongoDB, ejecuta el siguiente comando:
> show dbs
Deberías ver el siguiente resultado:
admin 0.000GB config 0.000GB local 0.000GB
Conclusión
Enhorabuena! has instalado con éxito MongoDB en Ubuntu 22.04. Ahora puedes utilizar MongoDB como base de datos para aplicaciones web de alto rendimiento. No dudes en preguntarme si tienes alguna duda.