MongoDB proviene de la palabra en inglés “humongous” que significa enorme. MongoDB es una base de datos NoSQL con lo cual los datos no se guardan en tablas como se hacen MySQL. Básicamente MongoDB guarda estructuras de datos en documentos similares a JSON con un esquema dinámico por lo cual la integración con otras aplicaciones es más fácil y rápida. Otra de las ventajas de MongDB es que permite el escalado horizontal. En este artículo os vamos a enseñar como instalar MongoDB en un servidor con Ubuntu 16.04.
Instalar MongoDB
Para instalar MongoDB ejecutaremos:
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
# echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
# apt update
# apt install mongodb-org
# systemctl enable mongod
# systemctl start mongod
# systemctl status mongod
● mongod.service - High-performance, schema-free document-oriented database
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset:
enabled)
Active: active (running) since Wed 2018-02-14 14:05:37 CET; 5s ago
Docs: https://docs.mongodb.org/manual
Main PID: 2298 (mongod)
Tasks: 23
Memory: 41.4M
CPU: 59ms
CGroup: /system.slice/mongod.service
└─2298 /usr/bin/mongod --config /etc/mongod.conf
Feb 14 14:05:37 mongodb systemd[1]: Started High-performance, schema-free document-oriented
database.
Securizar MongoDB
Ya tenemos instalado MongoDB ahora toca hacerlo seguro y que nadie pueda acceder sin usuario y contraseña, para ellos crearemos un usuario root. Nos conectaremos a MongoDB ejecutando:
# mongo
use admin
db.createUser(
{
user: "root",
pwd: "CloudingEjemploKB",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Usar contraseñas seguras, el paso anterior es un mero ejemplo. Ahora ya tenemos el usuario root creado, por lo cual iremos a modificar la configuración de MongoDB para que solo permita conexiones seguras, editaremos el fichero /etc/mongod.conf i descomentaremos las lineas:
security: authorization: enabled
Configurar IPs
Por defecto MongoDB sólo responde mediante IP 127.0.0.1, es posible que tengas que acceder a tu servido externamente para ello deberás modificar la configuración en /etc/mongod.conf, deberás cambiar el bindIp:
#Permitir accesos por IP Privada (10.20.10.XX)
bindIp: 127.0.0.1,10.20.10.XX
#Permitir accesos por IP Pública (46.183.11X.XX)
bindIp: 127.0.0.1,46.183.11X.XX