50% de descuento Todos los planes, tiempo limitado. A partir de $2.48/mo
Quedan 12 minutos
Bases de datos y análisis

Cómo instalar MongoDB en las tres últimas versiones de Ubuntu (paso a paso)

Jim Schwarz By Jim Schwarz 12 minutos de lectura
Símbolo original de MongoDB presentado en un servidor futurista para instalar MongoDB en Ubuntu+ lema sobre qué esperar del artículo + título del artículo + logotipo de la marca Cloudzy

Entonces has decidido usar MongoDB, un excelente alternative to MariaDB para crear una aplicación de pila MERN, una plataforma de análisis o cualquier sistema basado en documentos, pero se han topado con una pared con buenas líneas de comando de Linux e innumerables errores de terminal. 

Sin embargo, no se preocupe, porque esta guía proporciona todo lo que necesita saber de la A a la Z para instalar MongoDB en Ubuntu.

Usos de MongoDB XYZ versionado. 8.0 es un importante serie de lanzamiento, y 8.2 es un menor lanzamiento dentro de ese ciclo 8.0. Las versiones menores agregan funciones dentro del mismo ciclo principal y, a partir de 8.0, también se ofrecen para instalaciones locales para casos de uso específicos (por ejemplo, búsqueda y búsqueda vectorial). Soporte para MongoDB 8.0 en Ubuntu 24.04 (Noble), 22.04 (Jammy) y 20.04 (Focal) en sistemas de 64 bits, con soporte ARM64 en plataformas seleccionadas.

Requisitos previos de GnuPG y Curl

Antes de instalar el oficial. mongodb-org paquete, Ubuntu requiere dos requisitos previos: GnuPG y Rizo. Estas herramientas le dan permiso a Ubuntu para descargar MongoDB, porque el propio Ubuntu mongodb MongoDB Inc. no mantiene el paquete y entra en conflicto con la versión oficial. mongodb-org paquete. Si ya lo has instalado mongodb asegúrese de desinstalarlo.

A continuación, ejecute el comando sudo apt-get instalar gnupg curl. Curl es una herramienta para descargar archivos de Internet y es necesaria para recuperar la clave de seguridad de MongoDB. GnuPG es lo que Ubuntu usa para verificar la autenticidad del software. Si falta GnuPG, Ubuntu no puede verificar los paquetes de MongoDB.

Asegúrese de que su terminal haya instalado correctamente GnuPG y Curl. Si fuera así, debería verse así:Salida del terminal Ubuntu después de agregar GnuPG y Curl

Importación de la clave GPG de MongoDB

El administrador de paquetes de Ubuntu, APT, utiliza claves GPG para verificar los paquetes antes de la instalación. Sin esta clave GPG, Ubuntu no permite que se agreguen repositorios de MongoDB. Escriba el siguiente comando en su terminal para agregar la clave:

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

Si funciona, la salida de su terminal debería verse así:Terminal de Ubuntu después de agregar con éxito la clave GPG de MongoDB.

En pocas palabras, este comando descarga la firma de seguridad de MongoDB, la convierte a un formato que Ubuntu pueda leer y la guarda en una carpeta segura del sistema. Aquí hay un desglose de la línea de comando sección por sección:

  1. curl -fsSL URL descarga la clave oficial de MongoDB
  2. –querido convierte la clave del formato de texto a binario para que Ubuntu la entienda
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg guarda el archivo binario en una carpeta donde Ubuntu almacena claves confiables

Si coincide perfectamente con cada línea de comando, la clave GPG pública se agregará sin ningún problema. Sin embargo, algunos usuarios encuentran problemas al descargar MongoDB debido a una clave GPG que no coincide. Errores como:

NO_PUBKEY
The following signatures couldn't be verified
public key not available

Sucede cuando no sigues los comandos de teclado GPG exactos antes y en su lugar usas sudo apt-key porque el Ubuntu moderno no lo recomienda.

Agregar repositorio MongoDB

Agregar el repositorio de MongoDB crea un archivo que le dice a Ubuntu que los paquetes de MongoDB están activos en una dirección de Internet específica. Cree el archivo de lista en /etc/apt/sources.list.d/mongodb-org-8.0.list escribiendo la línea del repositorio usando eco… | camiseta sudo...

Aquí es donde la cosa se vuelve complicada, ya que diferentes versiones de Ubuntu exigen una variación diferente de este comando. Ahora examinaremos cómo importar el archivo de lista en las tres versiones de Ubuntu mencionadas anteriormente.

Ubuntu 24.04 (noble)

Para crear el archivo de lista en Ubuntu 24.04, simplemente escriba echo “deb [ arch=amd64,arm64 firmado-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list en tu terminal.

Esto puede parecer confuso, pero no se preocupe. Una vez que dividamos el comando en secciones, quedará muy claro.

  1. eco imprime texto
  2. /etc/apt/sources.list.d es la carpeta en la que Ubuntu almacena las definiciones de fuentes de software. Cada archivo con .lista El formato dentro de la carpeta dirige a Ubuntu a una ubicación específica para descargar el software.
  3. No puedes escribir nada en las carpetas del sistema de forma predeterminada como usuario normal. tee le otorga al usuario un permiso especial para escribir texto en archivos del sistema, mientras usa sudo
  4. noble es el nombre en clave de Ubuntu 24.04. Cada versión de Ubuntu tiene un nombre en clave como:
Versión Nombre clave
20.04 Focal
22.04 Jammy
24.04 Noble

Si no hace coincidir su versión de Ubuntu con la línea de comando correcta, Ubuntu no reconoce el repositorio de MongoDB.

Ubuntu 22.04 (Jammy)

Agregar el archivo de lista a Ubuntu Jammy se ve igual, pero debes ingresar la línea de comando mientras reemplazas noble con mermelada, como esto:

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

Asegúrese de que sea el que coincida con su versión de Ubuntu; de lo contrario, volverá a fallar.

Ubuntu 20.04 (focal)

Siga los mismos pasos aquí, pero en lugar de noble or mermelada, poner en focal:

echo “deb [ arch=amd64,arm64 firmado-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Ahora con el repositorio configurado, puedes proceder a instalar mongodb-org.

Actualizar la base de datos del paquete

Ahora que Ubuntu reconoce el repositorio, debe volver a cargar la base de datos del paquete dentro de él, por lo que de ahora en adelante también incluye MongoDB. Emita el comando que se menciona a continuación:

sudo apt-get update

Este comando sigue siendo el mismo en todas las versiones de Ubuntu y, si se omite, Ubuntu no incluirá MongoDB. Si el comando hace su trabajo, la salida de su terminal debería ser:Salida del terminal de Ubuntu después de ejecutar sudo apt-get update

 Ahora, después de recargar la base de datos de paquetes, es hora de descargar los paquetes de MongoDB.

Instalar el servidor comunitario MongoDB

Hay varias versiones de MongoDB para instalar, pero los usuarios tienden a optar por la última versión estable, ya que es más preferible. Para instalar la última versión estable, ejecute sudo apt-get install -y mongodb-org

Ubuntu ahora descargó los paquetes de MongoDB, los instaló, creó una cuenta de usuario de MongoDB y un directorio de datos, y registró MongoDB como un servicio del sistema. Hasta ahora, hemos cubierto cómo descargar MongoDB en Ubuntu. Ahora empecemos.

Cómo iniciar MongoDB

Ahora, para ejecutar MongoDB, debemos decirle al administrador de servicios de Ubuntu, "systemd", que reconozca MongoDB como un servicio en segundo plano y, para hacerlo, debe escribir el siguiente comando en su terminal:

sudo systemctl start mongod

Si el comando hace su trabajo, Ubuntu ahora abrirá MongoDB como una aplicación en segundo plano. Sin embargo, si el comando no hace su trabajo, es posible que reciba un error similar a No se pudo iniciar mongod.service.

Esto puede ocurrir debido a varios problemas comunes:

  • Error del archivo de configuración in /etc/mongod.conf (Los errores de sangría de YAML son comunes)
  • Conflicto portuario (el puerto 27017 ya está ocupado)
  • Problema de permiso en directorios de datos o registros (var/lib/mongodb o var/log/mongodb)
  • disco lleno or estado del sistema de archivos corrupto

Tres comandos para diagnosticar el problemaConfiguración de servidor futurista + tres comandos de terminal ubuntu + nube con escritura de ruta de actualización.

Es fácil decir qué podría estar mal en su configuración si MongoDB no se ejecuta, pero es mucho más difícil identificar la causa exacta. Tres formas sencillas de diagnosticar de dónde podría provenir el error son:

  1. Consultar estado del servicio: sudo systemctl estado mongod –no-pager
  2. Consulte los registros detallados (lo más importante): sudo journalctl -u mongod –no-pager -n 100
  3. Consulte el archivo de registro propio de MongoDB

Pero tenga en cuenta que si su disco está lleno o los archivos del sistema están dañados, la reparación se centrará más en el hardware que en el software. Es posible que los usuarios tengan que comprar mejores equipos para la configuración de su servidor a fin de ejecutar MongoDB de manera eficiente si su configuración actual está desactualizada. 

Si comprar un servidor completo no está dentro de su presupuesto, considere consultar el de Cloudzy. VPS Ubuntu para una experiencia limpia en tu propio servidor privado con una distribución Ubuntu de tu agrado. viene con 24/7 soporte y hasta 40Gbps velocidad de la red, gracias a su SSD NVMe y RAM DDR5 almacenamiento.

Además, tiene una latencia mínima, 99.95% tiempo de actividad y un 14 días garantía de devolución de dinero. No solo eso, sino que también está disponible en 12 Ubicaciones en todo el mundo a un precio asequible.

Tres soluciones más comunes para ejecutar MongoDB

No existe una forma absoluta de reconocer el problema exacto de su sistema con MongoDB y solucionarlo con un sencillo paso. Aquí hay algunas correcciones comunes que puede utilizar para, con suerte, que MongoDB comience a ejecutarse.

  1. Error de sangría de configuración de YAML. Supongamos que editaste /etc/mongod.conf vuelva a verificar la sangría solicitando sudo nano /etc/mongod.conf. El archivo YAML es bastante sensible a los espacios en blanco, así que asegúrese de que solo haya dos espacios por nivel en /etc/mongod.conf.
  2. Puerto ocupado 27017. Si algo más está usando el puerto 27017, apáguelo o cambie el puerto de MongoDB en mongod.conf. Si no está seguro de que algo se esté ejecutando en el puerto 27017, no dude en ejecutarlo. sudoss-lntp | grupo 27017 para comprobarlo
  3. Problema de permisos en el directorio de datos. A veces, MongoDB carece de permiso para ejecutarse en su sistema y, por lo tanto, no se ejecuta en absoluto. Primera carrera sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, luego reinicie MongoDB con sudo systemctl reiniciar mongod

De acuerdo a Sitio web oficial de MongoDB, otra forma de solucionar este problema es recargar el demonio con sudo systemctl daemon-reloady ejecuta el primer comando, sudo systemctl iniciar mongod, de nuevo.

si no hay mongod.service, la instalación no colocó la unidad systemd, así que reinstale la mongodb-org conjunto de paquetes.

Dicho todo esto, puede verificar si MongoDB se ha iniciado correctamente con sudo systemctl estado mongod. Si el terminal dice activo (corriendo), estás listo para comenzar. Pero todavía hay algunas configuraciones adicionales que hacen que tu experiencia sea mucho más fluida.

Automatizar MongoDBConfiguración de servidor futurista con símbolo de automatización MongoDB + terminal con comando MongoDB + archivo de registro

MongoDB no se abre automáticamente cada vez que enciende su servidor; Tendrás que repetir algunos de los pasos mencionados cada vez. Opcionalmente, puede decirle a Ubuntu que inicie MongoDB después de iniciar en su escritorio.

Simplemente ejecuta sudo systemctl habilitar mongod en su terminal, que, de ahora en adelante, le indicará a su sistema que ejecute MongoDB después de cada reinicio. Además, puede reiniciar el mongodo proceso emitiendo el comando sudo systemctl reiniciar mongod. Además, es posible que los usuarios deban seguir el proceso para detectar errores o mensajes importantes revisando el resultado del archivo:

/var/log/mongodb/mongod.log

Ahora que todo está configurado, comencemos a usar tu mongod.

Abrir el shell de MongoDB

Para interactuar con su base de datos, los usuarios deben abrir un shell MongoDB emitiendo el comando mongosh. Piense en ello como una terminal de símbolo del sistema dedicada para MongoDB o una consola MySQL. Alternativamente, puede interactuar con MongoDB con herramientas GUI, como los controladores de MongoDB. Pero si quieres interactuar con él desde la terminal, mongosh está hecho para que eso suceda.

Su MongoDB ahora será completamente funcional, pero hay algunos pasos adicionales que debe considerar para hacerlo seguro.

Hacer que MongoDB sea autenticadoProceso de autenticación de MongoDB + símbolo de candado + confirmación de autenticación.

MongoDB, de forma predeterminada, no tiene protección con contraseña porque ya debes tener acceso para crear un usuario. Aquí tienes una forma sencilla de hacerlo realidad.

Crear un usuario administrador

Primero, debe cambiar a la base de datos de administración con:

use admin

Luego crea un usuario con db.createUser({…}). Rellénalo con tu

  • Nombre de usuario
  • Contraseña
  • Role

Para rol, preferiblemente escriba raíz lo que significa control total o administrador.

Habilitar autenticación

Ahora que tenemos nuestro propio usuario configurado, necesitamos editar el /etc/mongod.conf archivo. Esto se debe a que este archivo controla cómo se comporta MongoDB. Pero ten en cuenta que al editar el archivo siempre debes reiniciar el mongodo servicio posterior con sudo systemctl reiniciar mongod. Lo que necesitamos cambiar aquí es un parámetro llamado autorización que se ve así:

security:

  authorization:

Para completar el proceso de autenticación, simplemente cambie el valor de autorización de esta manera:

security:

  authorization: enabled

A partir de ahora, MongoDB requiere iniciar sesión, por lo que su autenticación finaliza. Pasemos ahora a otra configuración que utiliza MongoDB por completo.

Abra su firewall

Como se mencionó anteriormente, MongoDB se ejecuta en el puerto 27017. Dado que los firewalls bloquean los puertos de forma predeterminada, debe indicarle a su firewall que permita que las aplicaciones se ejecuten en 27017. Para que eso suceda, simplemente emita el comando:

ufw allow from YOUR_IP to any port 27017

Alternativamente, también puedes emitir el comando ufw permitir 27017, pero tenga cuidado, porque ejecutar esto permitirá que todo Internet acceda a ese puerto. Podría ser su apuesta más segura optar por la primera opción, ya que permite que el tráfico acceda al puerto sólo desde su dirección IP.

Los usuarios aún pueden enfrentar desafíos al ejecutar MongoDB, como el problema del acceso remoto. Quédese para descubrir cómo solucionarlo.

Problema de acceso remotoConfiguración del servidor con 3 monitores configurando los ajustes de acceso remoto de MongoDB + comandos de terminal.

MongoDB se lanza con enlazarIp. enlazarIp limita MongoDB a 127.0.0.1, permitiendo sólo conexiones locales. Por lo tanto, si se conectara a su servidor MongoDB desde otro lugar, no se le permitiría el acceso, ya que MongoDB está configurado de forma predeterminada para permitir solo conexiones en el sitio a menos que se configure de otra manera.

De nuevo, dirígete a /etc/mongod.conf, y verás tres líneas como esta:

net:

  port: 27017

  bindIp: 127.0.0.1

Si desea permitir conexiones remotas a su mongodo usuario, cambie los valores presentados arriba de esta manera:

net:

  port: 27017

  bindIp: 0.0.0.0

Luego reinicie su mongodo servicio con sudo systemctl reiniciar mongod como con cualquier otra edición que realice en el archivo.

Ya has concedido tu mongodo permiso de servicio para aceptar conexiones remotas. Pero tenga cuidado, ya que al hacer esto, expondrá su base de datos a todo Internet si aún no ha autenticado su mongodo usuario. Hay muchos robots que buscan constantemente puertos MongoDB abiertos, así que asegúrese siempre de que su usuario mongod tenga una contraseña.

Resumen del panorama general

Felicitaciones, ya ha hecho todo lo posible para crear un servicio MongoDB optimizado para su sistema Ubuntu. Aquí también hay un mapa mental para seguir cada paso presentado en este artículo.

Dominio Qué hace
actualización adecuada Actualizar lista de software
instalación adecuada instalar software
rizo Descargar archivo
gpg Administrar claves de cifrado
eco Imprimir texto
tee Escribir en un archivo protegido
inicio systemctl Iniciar servicio
habilitar systemctl Comenzar al arrancar
estado del sistema Consultar servicio
mongosh Ingrese al shell de MongoDB
Editar /etc/mongod.conf Habilitar autenticación
ufff Administrar firewall
enlazarIp Permitir acceso remoto

Eso debería ayudarle a comprender mejor todo el proceso. Pero si configurar MongoDB por tu cuenta es demasiado para ti, asegúrate de activar Cloudzy. VPS Mongo DB para su propio servidor privado Ubuntu 24.04 LTS con MongoDB preinstalado.

viene con 99.95% tiempo de actividad, 24/7 apoyo, y un 14 días garantía de devolución de dinero. Aparte de eso, admite hasta 40 Gbps de ancho de banda gracias a su RAM DDR5 y SSD NVMe almacenamiento. Ni siquiera te preocupes por dónde vives, porque también está disponible en 12 ubicaciones en todo el mundo a un precio asequible.

Pero dicho todo esto, finalmente logró configurar su propio servicio MongoDB capaz y equipado con todas las configuraciones para soportar cargas de trabajo y negocios a nivel de producción.

Compartir

Más del blog

Sigue leyendo.

Gestión inteligente de datos para su empresa: estrategias de almacenamiento y copia de seguridad “similares a las de la nube” con VPS
Bases de datos y análisis

Gestión inteligente de datos para su empresa: estrategias de almacenamiento y copia de seguridad “similares a las de la nube” con VPS

VPS para la gestión segura de datos empresariales es la estrategia que recomiendo cada vez que una empresa decide que es hora de dejar de hacer malabarismos con archivos entre portátiles, archivos adjuntos de correo electrónico y medio olvidos.

Rexa CiroRexa Ciro 7 minutos de lectura
Vista materializada frente a vista
Bases de datos y análisis

Vista materializada frente a vista: comprensión de su función en las bases de datos

En los sistemas de bases de datos, una vista materializada como un objeto de base de datos almacena los resultados precalculados de una consulta como una tabla física. Debido a que los datos en realidad se almacenan en el disco, complicar

Ivy JohnsonIvy Johnson 7 minutos de lectura
SnowFlake y DataBricks
Bases de datos y análisis

Databricks vs Snowflake: comparación imparcial de profesionales de datos 🧱❄️

Para empresas que dependen de los datos para tomar decisiones, ya sean plataformas de comercio electrónico que rastrean el comportamiento de los clientes, instituciones financieras que pronostican tendencias o empresas de tecnología.

Allan Van KirkAllan Van Kirk 13 minutos de lectura

¿Listo para implementar? Desde $2,48/mes.

Nube independiente, desde 2008. AMD EPYC, NVMe, 40 Gbps. Devolución de dinero en 14 días.