GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo instalar MongoDB en Ubuntu 18.04

En este artículo, le mostraremos cómo instalar MongoDB, administrar sus servicios y permitir conexiones remotas en un Ubuntu 18.04 VPS.

MongoDB es un sistema de gestión de bases de datos de código abierto que pertenece a una familia de NoSQL. NoSQL es diferente de las bases de datos SQL tradicionales basadas en tablas (MySQL y PostgreSQL):los datos se almacenan en documentos flexibles similares a JSON sin un esquema predefinido, lo que permite realizar grandes cambios en las bases de datos sin tiempo de inactividad. Comencemos con la instalación.

Paso 1:Conéctese a su servidor

Antes de comenzar, debe conectarse a su servidor a través de SSH como usuario raíz. Para hacer esto, use el siguiente comando:

ssh root@IP_Address -p port_number

Deberá reemplazar IP_Address y port_number con la dirección IP del servidor real y el número de puerto SSH. Si no tiene acceso a la cuenta raíz, puede usar una cuenta con privilegios sudo en su lugar.

Una vez que haya iniciado sesión, asegúrese de que su servidor esté actualizado ejecutando los siguientes comandos:

sudo apt update
sudo apt upgrade

Paso 2:Instalación de MongoDB

Los repositorios de paquetes de software oficiales de Ubuntu vienen con la versión 3.6.3 de MongoDB, pero en este artículo instalaremos MongoDB 4.0, que es la última versión disponible. Sin embargo, siempre puede verificar si hay una nueva versión de MongoDB disponible en su sitio web oficial.

Para instalar MongoDB 4.0 Community Edition en Ubuntu, necesitamos importar la clave pública utilizada por el sistema de administración de paquetes. Podemos hacerlo con el siguiente comando:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Ya que tenemos la clave importada ahora, podemos agregar el repositorio de MongoDB con la siguiente línea:

sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

Luego actualizamos la lista de paquetes:

sudo apt update

En este punto, el repositorio está habilitado y la lista de paquetes se actualiza; ahora podemos continuar con la instalación del paquete MongoDB CE ingresando el siguiente comando:

sudo apt install mongodb-org

Los paquetes mongodb-org-server, mongodb-org-mongos, mongodb-org-shell y mongodb-org-tools se instalarán en su sistema como parte del paquete mongodb-org.

MongoDB 4.0 Community Edition ahora está instalado en el servidor. Luego, debemos iniciar el servicio MongoDB y permitir que se inicie en el arranque.

sudo systemctl start mongod
sudo systemctl enable mongod

Para verificar la instalación de MongoDB, podemos verificar el estado de la conexión escribiendo el comando:

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

Debería tener una salida similar a esta:

MongoDB shell version v4.0.6
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("c806e0e1-ab30-4d41-b882-026c09d2893f") }
MongoDB server version: 4.0.6
{
"authInfo" : {
"authenticatedUsers" : [ ],
"authenticatedUserRoles" : [ ]
},
"ok" : 1
}

Enhorabuena, ha instalado correctamente MongoDB en su servidor. El siguiente paso será configurar su servidor MongoDB.

Paso 3:Configuración de MongoDB

Podemos configurar la instancia de MongoDB modificando el mongod.conf archivo, ubicado en /etc/ . Usaremos Nano para editar el archivo, pero puede usar su editor de texto preferido si lo desea.

sudo nano /etc/mongod.conf

Para permitir conexiones remotas y una mejor seguridad de MongoDB, haremos algunos cambios en el archivo de configuración. MongoDB por defecto escucha las conexiones en el puerto 27017 en localhost (IP 127.0.0.1) solamente. Para permitir una conexión MongoDB remota, debe agregar la dirección IP de su servidor al archivo de configuración de MongoDB. Esto se muestra como un ejemplo a continuación:

bind_ip = 127.0.0.1, your_server_ip
#port = 27017

security:
authorization: enabled

También incluimos una opción de autorización que regulará el acceso de los usuarios a las bases de datos de MongoDB. Si la opción de autorización no está habilitada, cada usuario tendrá acceso a todas las bases de datos de MongoDB y podrá realizar cualquier acción, lo que es un riesgo de seguridad. Después de guardar los cambios en el archivo de configuración de MongoDB, debemos reiniciar el servicio de MongoDB con el siguiente comando para que los cambios surtan efecto:

sudo systemctl restart mongod

Paso 4:Creación de un usuario administrativo de MongoDB

Como configuramos el servidor MongoDB y habilitamos la opción de autenticación, ahora necesitamos crear una cuenta de usuario administrativa de MongoDB que se usará para administrar la instancia de MongoDB.

Para acceder al shell de mongo, escriba:

mongo

A continuación, usaremos el siguiente comando para conectarnos a la base de datos de administración:

use admin

Salida:

switched to db admin

Realizaremos el siguiente comando para crear un nuevo usuario administrativo llamado mongo_admin con el rol userAdminAnyDatabase:

db.createUser(
{
user: "mongo_admin", 
pwd: "Strong_Pas$w0rd", 
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

Y obtendremos esto como resultado:

Successfully added user: {
"user" : "mongo_admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}

No olvide reemplazar 'Strong_Pas$w0rd' con una contraseña segura real. Ahora podemos salir del shell mongo:

quit()

Paso 5:Verificación del acceso del usuario administrativo

Para confirmar los cambios, accederemos al shell de mongo usando el usuario mongo_admin que creamos:

mongo -u mongo_admin -p --authenticationDatabase admin

use admin

show users

Y si siguió todos los pasos hasta ahora, debería tener el siguiente resultado:

Salida:

> use admin
switched to db admin
> show users
{
"_id" : "admin.mongo_admin",
"user" : "mongo_admin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}

También puede intentar enumerar los usuarios cuando accede al shell de mongo (sin argumentos) y usar los mismos comandos que usamos antes.

Paso 6:permitir el acceso remoto a MongoDB en el cortafuegos

En este paso, proporcionaremos acceso remoto a nuestro MongoDB al permitirlo en nuestro firewall. Si no usa ningún firewall en su servidor, puede omitir este paso. El puerto predeterminado de MongoDB es 27017, por lo que en nuestros ejemplos, le mostraremos cómo permitir este puerto a través de su firewall.

Si está utilizando UFW (cortafuegos sin complicaciones), puede utilizar los siguientes consejos sobre cómo permitir que MongoDB sea accesible de forma remota.

Para permitir el acceso a MongoDB en su puerto predeterminado (27017) desde cualquier lugar, puede usar el siguiente comando:

sudo ufw allow 27017

Para permitir el acceso a MongoDB en su puerto predeterminado 27017 solo desde una dirección IP específica, puede usar el comando:

sudo ufw allow from allowed_IP_address/32 to any port 27017

Deberá cambiar la dirección_IP_permitida con la dirección IP real que desea usar.

Puede confirmar el cambio en la configuración del cortafuegos con:

sudo ufw status

Salida:

Status: active

To                         Action      From
--                         ------      ----
27017                      ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
27017 (v6)                 ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

Paso 7:Conéctese a MongoDB

Ahora que instalamos y configuramos MongoDB, debemos mencionar algunas formas diferentes de cómo conectarnos a él. Necesitamos asegurarnos de que nuestra configuración de MongoDB funcione antes de intentar acceder al shell de Mongo.

Instancia local de MongoDB en puerto predeterminado

La conexión más básica al shell mongo es simplemente ejecutar el comando mongo sin ningún argumento:

mongo

Instancia local de MongoDB en un puerto no predeterminado

Si queremos conectarnos al shell de Mongo en un puerto específico, podemos usar:

mongo --port port_number

Simplemente reemplace el número_de_puerto con su número de puerto real.

Instancia de MongoDB en un host remoto

Si necesitamos conectarnos a una máquina host remota con la instancia de MongoDB, podemos usar las siguientes formas:

Podemos especificar una cadena de conexión.

mongo mongodb://your_domain_name.com:port_number

Podemos usar la opción de línea de comandos –host :

mongo --host your_domain_name.com:port_number

o podemos usar –host y –port

mongo --host your_domain_name.com --port port_number

Instancia de MongoDB con autenticación

Usaremos estos ejemplos para mostrarle cómo conectarse a una instancia de MongoDB que requiere autenticación.

Podemos definir el nombre de usuario, la base de datos de autenticación y el número de puerto en nuestra cadena de conexión. Además, podemos definir la contraseña (que es opcional) en nuestra cadena de conexión. Si la contraseña no está definida en nuestra cadena de conexión, el shell solicitará la contraseña.

mongo --host mongodb://user@your_domain_name.com:port_number/?authSource=admin

Podemos usar las opciones de línea de comandos –username , –contraseña y –authenticationDatabase .

mongo --username user --password --authenticationDatabase admin --host your_domain_name.com --port port_number

Conéctese a un conjunto de réplicas de MongoDB

Podemos especificar el nombre del conjunto de réplicas y los miembros en la cadena de conexión.

mongo mongodb://your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number/?replicaSet=replA

Si está utilizando el formato de conexión de lista de semillas de DNS, puede especificar la cadena de conexión:

mongo "mongodb+srv://server.your_domain_name.com/"

Podemos especificar el nombre del conjunto de réplicas y los miembros de –host /:,:,… En este ejemplo, para conectarse a un conjunto de réplicas llamado replA:

mongo --host replA/your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number

Conexión TLS/SSL

Podemos especificar la opción ssl=true en la cadena de conexión.

mongo mongodb://your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number/?replicaSet=replA&ssl=true

o podemos especificar –ssl en la línea de comando y usar el ejemplo anterior sobre cómo conectarse al conjunto de réplicas llamado replA:

mongo --ssl --host replA/your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number

Si desea utilizar los comandos anteriores, no olvide reemplazar los valores como your_domain_name.com, host_name, user y replA en los comandos con los valores reales.

Paso 8:Desinstalar MongoDB

Si por alguna razón no le gusta MongoDB y necesita eliminarlo de su sistema, puede seguir estos comandos:

sudo service mongod stop
sudo apt purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

En este artículo, le mostramos cómo instalar MongoDB, personalizar el firewall, crear un usuario administrador, habilitar el acceso remoto, conectarse a MongoDB y cómo desinstalar y eliminar MongoDB. Ahora puede usar este conocimiento y puede comenzar a construir sus proyectos en esta maravillosa aplicación.

Por supuesto, si usted es uno de nuestros clientes de Ubuntu Hosting, o si tiene uno de nuestros planes de Managed MongoDB Hosting , no tiene que instalar MongoDB en su Ubuntu 18.04 VPS; simplemente pregúntele a nuestros administradores, siéntese y relájese. Nuestros administradores instalarán MongoDB en Ubuntu 18.04 inmediatamente.

PD . Si te gustó esta publicación sobre cómo instalar MongoDB en un VPS con Ubuntu 18.04 , por favor compártelo con tus amigos en las redes sociales usando los botones de abajo, o simplemente deja un comentario en la sección de comentarios. Gracias.

Nueva versión disponible aquí:Cómo instalar MongoDB en Ubuntu 20.04 y CentOS 8.


Panels
  1. Cómo instalar R en Ubuntu 16.04

  2. Cómo instalar MongoDB en Ubuntu 16.04

  3. Cómo instalar MongoDB en Ubuntu 18.04

  4. Cómo instalar Go en Ubuntu 18.04

  5. Cómo instalar MongoDB en Ubuntu 20.04

Cómo instalar MongoDB Compass en Ubuntu 20.04

Cómo instalar MongoDB en Ubuntu

Cómo instalar MongoDB en Ubuntu 14.04

Cómo instalar MongoDB en Ubuntu 15.04

Cómo instalar MongoDB en Ubuntu 16.04

Cómo instalar MongoDB en Ubuntu 22.04