Cómo instalar MongoDB en Ubuntu 16.04

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:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

security:
  authorization: enabled

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

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 te proponemos estos 2 ejemplos:

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,10.20.10.XX
 
#operationProfiling:
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,46.183.11X.XX
 
#operationProfiling:

Recuerda que en este último caso deberás abrir el puerto 27017 en el perfil de firewall del servidor.

To write a comment on this article, fill out the form below. Fields marked with an asterisk (*) are required.