MongoDB es una base de datos distribuida, basada en documentos, de propósito general y de código abierto, diseñada para desarrolladores de aplicaciones modernas. También se denomina base de datos NoSQL porque no se basa en una estructura de base de datos relacional tradicional basada en tablas. Almacena datos en formato JSON en lugar del método de estilo de tabla. Se puede integrar fácilmente con varios lenguajes de programación. Lo utilizan muchas empresas conocidas, incluidas Facebook, Cisco, Forbes, Adobe, Nokia, etc.
En esta publicación, le mostraremos cómo instalar y asegurar la base de datos MongoDB NoSQL en Debian 11.
Requisitos
- Un servidor que ejecuta Debian 11.
- Se configura una contraseña raíz en el servidor.
Añadir repositorio MongoDB
De forma predeterminada, el paquete MongoDB no está incluido en el repositorio predeterminado de Debian 11. Por lo tanto, deberá agregar el repositorio oficial de MongoDB a la APT.
Primero, instale las dependencias requeridas usando el siguiente comando:
apt-get install curl apt-transport-https software-properties-common gnupg2 -y
Una vez que todas las dependencias estén instaladas, descargue y agregue la clave GPG con el siguiente comando:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
A continuación, agregue el repositorio de MongoDB al archivo de lista de fuentes de APT usando el siguiente comando:
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org.list
A continuación, actualice el repositorio e instale el servidor MongoDB con el siguiente comando:
apt-get update -y
apt-get install mongodb-org -y
Después de la instalación exitosa, inicie el servicio MongoDB y habilítelo para que se inicie al reiniciar el sistema:
systemctl start mongod
systemctl enable mongod
Luego, verifique la versión de MongoDB usando el siguiente comando:
mongod --version
Deberías obtener el siguiente resultado:
db version v4.4.9 Build Info: { "version": "4.4.9", "gitVersion": "b4048e19814bfebac717cf5a880076aa69aba481", "openSSLVersion": "OpenSSL 1.1.1k 25 Mar 2021", "modules": [], "allocator": "tcmalloc", "environment": { "distmod": "debian10", "distarch": "x86_64", "target_arch": "x86_64" } }
Habilitar autenticación MongoDB
De forma predeterminada, la autenticación no está habilitada en MongoDB. Por razones de seguridad, se recomienda habilitar la autenticación MongoDB.
Para hacerlo, deberá crear un usuario administrativo para MongoDB.
Primero, conéctese al shell de MongoDB con el siguiente comando:
mongo
Una vez que esté conectado, cree una base de datos llamada admin con el siguiente comando:
> use admin
A continuación, cree un usuario administrador y establezca una contraseña:
> db.createUser(
{
user: "madmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Debería ver el siguiente resultado:
Successfully added user: { "user" : "madmin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
A continuación, presione CTRL+D para salir del shell de MongoDB. Luego, edite el archivo de configuración de MongoDB con el siguiente comando:
nano /etc/mongod.conf
Agregue las siguientes líneas para habilitar la autenticación:
security: authorization: enabled
Guarde y cierre el archivo, luego reinicie el servicio MongoDB para aplicar los cambios.
systemctl restart mongod
Verificar conexión MongoDB
En este punto, la autenticación de MongoDB está habilitada. Ahora, ejecute el siguiente comando para conectar el shell de MongoDB usando el nombre de usuario y la contraseña:
mongo -u madmin -p
Después de la autenticación exitosa, obtendrá el siguiente resultado:
MongoDB shell version v4.4.9 Enter password: connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("8366d28f-55d3-4471-bd94-331329828181") } MongoDB server version: 4.4.9 >
A continuación, cambie la base de datos a administrador y enumere a todos los usuarios con el siguiente comando:
> use admin
> show users
Deberías obtener el siguiente resultado:
{ "_id" : "admin.madmin", "userId" : UUID("26dd5225-7bb6-4a57-96a0-7efc4e1a98ba"), "user" : "madmin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
Desinstalar MongoDB
Si no necesita MongoDB en su sistema, puede desinstalarlo de su sistema.
Primero, detenga el servicio MongoDB con el siguiente comando:
systemctl stop mongod
A continuación, elimine el paquete MongoDB ejecutando el siguiente comando:
apt-get remove mongodb-org --purge
A continuación, elimine los registros y directorios de datos de MongoDB ejecutando el siguiente comando:
rm -rf /var/lib/mongodb
Conclusión
¡Felicidades! ha instalado y asegurado con éxito MongoDB en Debian 11. Ahora puede usar MongoDB con sus aplicaciones web. Para obtener más información, visite la documentación oficial de MongoDB.