Cómo instalar y configurar MongoDB en Ubuntu 18.04 LTS

Compruebe si MongoDB se est√° ejecutando.

MongoDB es una base de datos NoSQL que ofrece alto rendimiento, alta disponibilidad y escalado autom√°tico de la base de datos de nivel empresarial. MongoDB es una base de datos NoSQL, por lo que no puede usar SQL (lenguaje de consulta estructurado) para insertar y recuperar datos, y no almacena datos en tablas como MySQL o Postgres. Los datos se almacenan en una estructura de ¬ędocumento¬Ľ en formato JSON (llamado BSON en MongoDB). MongoDB se introdujo en 2009 y actualmente est√° siendo desarrollado por MongoDB Inc.

MongoDB solo ofrece paquetes para versiones de Ubuntu LTS (soporte a largo plazo) de 64 bits. Por ejemplo, 14.04 LTS (fiable), 16.04 LTS (xenial), 18.04 LTS (biónico), etc.

En este tutorial instalaré MongoDB 4.0 en Ubuntu 18.04 LTS.

requisitos previos

  • Servidor Ubuntu 18.04 – 64 bits
  • Privilegios de ra√≠z

Lo que haremos en este tutorial:

  1. Instalar MongoDB
  2. Configurar MongoDB
  3. Conclusión

Instale MongoDB en Ubuntu 18.04 LTS

Paso 1: importar la clave p√ļblica

El administrador de paquetes de Ubuntu apt (herramienta avanzada de paquetes) requiere las claves GPG del distribuidor de software para garantizar la coherencia y la autenticidad del paquete. Ejecute este comando para importar claves MongoDB a su servidor.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4

Paso 2: crear un archivo de lista de fuentes MongoDB

Cree un archivo de lista MongoDB en /etc/apt/sources.list.d/ con este comando:

sudo echo "deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Paso 3 – Actualizar el repositorio

actualice el repositorio con el comando apt:

sudo apt-get update

Paso 4 – Instalar MongoDB

Ahora puede instalar MongoDB escribiendo este comando:

sudo apt-get install -y mongodb-org

El instalador apt de MongoDB creó un archivo mongod.service para Systemd automáticamente, por lo que ya no es necesario crearlo manualmente.

Inicie MongoDB y agréguelo como un servicio para que se inicie en el momento del arranque:

sudo systemctl iniciar mongod
sudo systemctl habilitar mongod

Ahora verifique que MongoDB se haya iniciado en el puerto 27017 con el comando netstat.

sudo netstat -plntu

Compruebe si MongoDB se est√° ejecutando.

Configurar el nombre de usuario y la contrase√Īa de MongoDB

Cuando se instalan los paquetes de MongoDB, puede configurar el nombre de usuario y la contrase√Īa para el servidor de la base de datos:

Paso 1: abra el shell de mongo

Antes de configurar un nombre de usuario y una contrase√Īa para MongoDB, debe abrir el shell de MongoDB en su servidor. Puede iniciar sesi√≥n escribiendo:

mongo

Si obtiene un error Inicializaci√≥n global fallida: BadValue Invalid o no se ha establecido la configuraci√≥n regional del usuario. Aseg√ļrese de que las variables de entorno LANG y/o LC_* est√©n configuradas correctamente, pruebe el comando:

export LC_ALL=C
mongo

Paso 2: cambie al administrador de la base de datos

Una vez que esté en el shell de MongoDB, cambie a la base de datos llamada admin:

use admin

Paso 3: crea el usuario raíz

Crea el usuario root con este comando:

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

descripci√≥n: Cree el usuario administrador con la contrase√Īa admin123 y tenga el permiso/rol como root y la base de datos sea administrador.

Crear un usuario administrador en MongoDB

Ahora escriba exit para salir del shell de MongoDB.

exit

Y est√°s de vuelta en el shell de Linux.

Paso 4: habilite la autenticación de MongoDB

Edite el archivo de servicio mongodb ‘/lib/systemd/system/mongod.service’ con su editor.

sudo nano /lib/systemd/system/mongod.service

En la l√≠nea 9 de ‘ExecStart’, agregue la nueva opci√≥n ‘–auth’.

ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf

Guarde el archivo de servicio y salga de nano.

Vuelva a cargar el servicio systemd:

sudo systemctl daemon-reload

Paso 5: reinicie MongoDB e intente conectarse

Ahora reinicie MongoDB y conéctese con el usuario creado.

sudo service mongod restart

y conéctese al shell de MongoDB con este comando:

mongo -u admin -p admin123 --authenticationDatabase admin

y ver√°s la salida como esta:

Pruebe la autenticación de MongoDB.

Habilite el acceso externo y configure el Firewall UFW

UFW es el cortafuegos predeterminado en Ubuntu. En este capítulo, mostraré cómo configurar UFW para permitir el acceso externo a MongoDB.

Verifique el estado de UFW

sudo ufw status

Cuando el resultado es:

Status: inactive

Habilite UFW con este comando y abra el puerto SSH primero si est√° conectado por SSH:

sudo ufw allow ssh
sudo ufw enable

antes de continuar con los siguientes pasos.

Por razones de seguridad, debe permitir el acceso al puerto 27017 de MongoDB solo desde las direcciones IP que necesitan acceder a la base de datos. De forma predeterminada, localhost siempre puede acceder a él, por lo que no es necesario abrir el puerto MongoDB para IP 127.0.0.1.

Sintaxis del cortafuegos UFW

sudo ufw allow from <target> to <destination> port <port number>

Abrir puerto MongoDB en UFW

Para permitir el acceso desde la IP externa 192.168.1.10 a MongoDB, use este comando:

sudo ufw allow from 192.168.1.10 to any port 27017

Reemplace la dirección IP en el comando anterior con la IP externa a la que desea permitir el acceso a MongoDB.

Si desea abrir el puerto MongoDB para cualquier IP, por ejemplo, en caso de que lo ejecute en una red local y todos los sistemas en esa red puedan acceder a MongoDB, use este comando:

sudo ufw allow 27017

Verifique el estado del firewall UFW con este comando:

sudo ufw status

MongoDB escucha localhost de forma predeterminada, para que la base de datos sea accesible desde el exterior, debemos reconfigurarla para escuchar también en la dirección IP del servidor.

Abra el archivo mongod.conf en el editor nano:

sudo nano /etc/mongod.conf

y agregue la dirección IP del servidor en la línea bind_ip de esta manera:

# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,192,168.1.100

Reemplace 192.168.1.100 con la IP de su servidor, luego reinicie MongoDB para aplicar los cambios.

sudo service mongod restart

Ahora puede acceder al servidor de base de datos MongoDB a través de la red.

Imagen de m√°quina virtual

Este tutorial est√° disponible como una m√°quina virtual lista para usar en formato OVA/OVF para los suscriptores de Howtoforge. El formato VM es compatible con VMWare y Virtualbox y otras herramientas que pueden importar el formato ova u ovf. Puede encontrar el enlace de descarga en el men√ļ derecho en la parte superior. Haga clic en el nombre del archivo para iniciar la descarga.

Los detalles de inicio de sesión de la máquina virtual son:

Inicio de sesión SSH

Nombre de usuario: administrador
Contrase√Īa: howtoforge

El usuario administrador tiene permisos sudo.

Cambie las contrase√Īas despu√©s del primer arranque.

La VM está configurada para la IP estática 192.168.1.100. Las instrucciones sobre cómo cambiar la IP estática se pueden encontrar aquí.

Conclusión

MongoDB es una base de datos NoSQL muy conocida que ofrece alto rendimiento, alta disponibilidad y escalado automático. Se diferencia de RDBMS como MySQL, PostgreSQL y SQLite porque no usa SQL para establecer y recuperar datos. MongoDB almacena datos en `documentos` llamados BSON (representación binaria de JSON con información adicional). MongoDB solo está disponible para la versión de Ubuntu con soporte a largo plazo de 64 bits.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *