Cómo instalar y asegurar MongoDB en Debian 11
MongoDB es una base de datos de código abierto, de propósito general, basada en documentos y distribuida, diseñada para los 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 los datos en formato JSON en lugar del método de tablas. Se puede integrar fácilmente con varios lenguajes de programación. La utilizan muchas empresas conocidas, como Facebook, Cisco, Forbes, Adobe, Nokia, etc.
En este post, te mostraremos cómo instalar y asegurar la base de datos NoSQL MongoDB en Debian 11.
Requisitos previos
- Un servidor con Debian 11.
- 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 Debian 11. Así que tendrás que añadir el repositorio oficial de MongoDB al APT.
En primer lugar, instala las dependencias necesarias con el siguiente comando:
apt-get install curl apt-transport-https software-properties-common gnupg2 -y
Una vez instaladas todas las dependencias, descarga y añade 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, añade el repositorio de MongoDB al archivo de la lista de fuentes de APT mediante 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, actualiza el repositorio e instala el servidor MongoDB con el siguiente comando:
apt-get update -y
apt-get install mongodb-org -y
Después de la instalación exitosa, inicia el servicio MongoDB y habilítalo para que se inicie al reiniciar el sistema:
systemctl start mongod
systemctl enable mongod
A continuación, verifica la versión de MongoDB con el siguiente comando:
mongod --version
Deberías obtener la siguiente salida:
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 la autenticación de MongoDB
Por defecto, la autenticación no está habilitada en MongoDB. Por razones de seguridad, se recomienda habilitar la autenticación de MongoDB.
Para ello, tendrás que crear un usuario administrativo para MongoDB.
Primero, conéctate al shell de MongoDB con el siguiente comando:
mongo
Una vez conectado, crea una base de datos llamada admin con el siguiente comando:
> use admin
A continuación, crea un usuario admin y establece una contraseña:
> db.createUser(
{
user: "madmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Deberías ver la siguiente salida:
Successfully added user: { "user" : "madmin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
A continuación, pulsa CTRL+D para salir del shell de MongoDB. A continuación, edita el archivo de configuración de MongoDB con el siguiente comando:
nano /etc/mongod.conf
Añade las siguientes líneas para activar la autenticación:
security: authorization: enabled
Guarda y cierra el archivo y reinicia el servicio MongoDB para aplicar los cambios.
systemctl restart mongod
Verificar la conexión con MongoDB
En este punto, la autenticación de MongoDB está habilitada. Ahora, ejecuta el siguiente comando para conectar el shell de MongoDB utilizando el nombre de usuario y la contraseña:
mongo -u madmin -p
Después de la autenticación exitosa, obtendrás la siguiente salida:
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, cambia la base de datos a admin y haz una lista de todos los usuarios con el siguiente comando:
> use admin
> show users
Deberías obtener la siguiente salida:
{ "_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 necesitas MongoDB en tu sistema, puedes desinstalarlo de tu sistema.
Primero, detén el servicio MongoDB con el siguiente comando:
systemctl stop mongod
A continuación, elimina el paquete MongoDB ejecutando el siguiente comando:
apt-get remove mongodb-org --purge
A continuación, elimina los directorios de datos y registros de MongoDB ejecutando el siguiente comando:
rm -rf /var/lib/mongodb
Conclusión
Enhorabuena! has instalado y asegurado con éxito MongoDB en Debian 11. Ahora puedes utilizar MongoDB con tus aplicaciones web. Para más información, visita la documentación oficial de MongoDB.