MongoDB en Ubuntu - perfeccion-ar/infraestructura-clasica-y-avanzada GitHub Wiki

By Catoto

Abrir la terminal.

1er paso:

sudo apt-get install gnupg curl

2do paso:

Al momento de la creación de este archivo, la versión estable de Mongodb es la 7.0, recuerde reemplazarla si hay un versión mas nueva.

Lo mismo controle su versión de Ubuntu, con cat /etc/lsb-release. Es decir, donde aquí dice "jammy", en su versión podría tener que poner otra cosa. Una curiosidad al 19/05/2024, es que no hay en https://repo.mongodb.org/apt/ubuntu versión para Ubuntu Noble 24.04. sin embargo, la referencia a Jammy (22.04) anduvo correctamente.

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Podemos comprobar que tomo las claves con este comando en la terminal:

less /etc/apt/sources.list.d/mongodb-org-7.0.list

3er Paso:

Ahora podemos instalar Mongo

sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl daemon-reload
sudo systemctl start mongod
sudo systemctl status mongod

Nos debería dar esta salida

4to paso: optativo, si se desea conexiones desde afuera

Vamos a habilitar el puerto 27017 con el que trabaja Mongo.

sudo ufw allow 27017
sudo ufw reload
sudo ufw status

Ahora vamos a permitir las conexiones a Mongo desde todas las interfaces, adema de la local

sudo nano /etc/mongod.conf

Donde dice

net:
  port: 27017
  bindIp: 127.0.0.1

Cambiar por

net:
 port: 27017
 bindIp: 0.0.0.0

5to paso: Conectar y crear un usuario

En la terminal escribimos

mongosh

Vamos a crear un usuario , reemplazar ‘mipassword’ por la password real

use admin

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

exit

6to paso: loguearnos desde la terminal y probar el usuario

mongosh --username admin --password mipassword --authenticationDatabase

Fin introducción

⚠️ **GitHub.com Fallback** ⚠️