GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y configurar MongoDB en Ubuntu 18.04 LTS

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

  • Servidor Ubuntu 18.04 - 64 bits
  • Privilegios de raíz

Qué haremos en este tutorial:

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

Instalar MongoDB en Ubuntu 18.04 LTS

Paso 1 - Importación de 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 el 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 que se iniciará 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

Configurar nombre de usuario y contraseña de MongoDB

Cuando los paquetes de MongoDB están instalados, puede configurar el nombre de usuario y la contraseña para el servidor de la base de datos:

Paso 1:abrir mongo shell

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:crear el usuario raíz

Crea el usuario root con este comando:

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

Descripcion: Cree un administrador de usuario con contraseña admin123 y tenga el permiso/rol como raíz y la base de datos es admin .

Ahora escriba exit para salir del shell de MongoDB.

exit

Y estás de vuelta en el shell de Linux.

Paso 4:habilitar la autenticación MongoDB

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

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

En el 'ExecStart ' línea 9, 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á la salida como esta:

Habilitar el acceso externo y configurar 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, p. en caso de que lo ejecute en una red local y todos los sistemas de esa red puedan acceder a MongoDB, utilice 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 que también escuche 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 la 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.


Ubuntu
  1. Cómo instalar y configurar Redis en Ubuntu 18.04

  2. Cómo instalar y configurar Redmine en Ubuntu 18.04

  3. Cómo instalar y configurar Ansible en Ubuntu 18.04 LTS

  4. Cómo instalar y configurar MongoDB 5 en Ubuntu 20.04

  5. Cómo instalar y configurar Fail2ban en Ubuntu 20.04 LTS

Cómo instalar y configurar GitLab CE en Ubuntu 18.04 LTS

Cómo instalar y configurar Docker-CE en Ubuntu 18.04 LTS

Cómo instalar y configurar Odoo ERP en Ubuntu 20.04 LTS

Cómo instalar MongoDB en Ubuntu 20.04 LTS

Cómo instalar y configurar MySQL en Ubuntu 20.04 LTS

Cómo instalar y configurar el servidor DNS en Ubuntu 16.04 LTS