Cómo instalar MongoDB en Fedora 30

En este artículo veremos cómo instalar MongoDB en Fedora 30 paso a paso, de forma que puedas usar este motor de bases datos en tu servidor o VPS Fedora como base para tus desarrollos, o requisito de ciertas aplicaciones.

Antes de instalar MongoDB en Fedora 30

Para poder seguir esta guía de instalación de MongoDB en Fedora 30 es importante partir de la siguiente base:

  • Una máquina Fedora 30 actualizada.
  • Acceso a consola con root o un usuario con permisos de sudo.
  • Conexión a Internet.

Cómo configurar el repositorio de MongoDB para Fedora 30

Para disfrutar de las versiones más estables y recientes de este software, vamos a configurar el repositorio de MongoDB para Fedora 30. Necesitamos, por tanto, crear un archivo para este nuevo repositorio:

~$ sudo nano /etc/yum.repos.d/mongodb.org-4.2.repo

El contenido será el siguiente:

[mongodb-org-4.2]
name=Repositorio de MongoDB
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

Guardamos los cambios y cerramos el archivo.

Ahora actualizamos la información de los repositorios, incluyéndose el nuevo repositorio de MongoDB:

~$ sudo yum update

Cómo instalar MongoDB en Fedora 30

Para instalar MongoDB en Fedora 30 el paquete que necesitamos es mongodb-org, que instalaremos con yum:

~$ sudo yum install -y mongodb-org

Descargado e instalado MongoDB y sus dependencias, se crea un nuevo servicio en Fedora 30, el servicio mongod.service o mongod si prefieres usar el nombre corto. Este servicio queda habilitado para su inicio automático con Fedora 30, pero no queda iniciado tras la instalación, por lo que debemos iniciarlo manualmente por primera vez:

~$ sudo systemctl start mongod

Podemos consultar el estado de MongoDB en Fedora 30 en cualquier momento con el comando systemctl status mongod:

como instalar mongodb en fedora 30

Cómo conectar a MongoDB en Fedora 30

Para conectar a MongoDB en Fedora 30 desde consola podemos usar el cliente mongo:

~$ mongo
MongoDB shell version v4.2.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f1bb1556-5989-4f03-9d54-1265657216a5") }
MongoDB server version: 4.2.5
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        http://docs.mongodb.org/
Questions? Try the support group
        http://groups.google.com/group/mongodb-user
Server has startup warnings:
... I  CONTROL  [initandlisten]
... I  CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
... I  CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
... I  CONTROL  [initandlisten]
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---

>

Observaremos que se nos ofrece mucha información al conectar. Los últimos párrafos hacen referencia a las virtudes y beneficios de activar un sistema de monitorización gratuita que por un lado nos permitirá consultar esa información y por otro será usada por MongoDB para realizar mejoras en el servicio. Debemos expresar si queremos activar o no dicho servicio, ya que hasta que no lo hagamos estos mensajes aparecerán en cada conexión.

En esta ocasión desactivaremos el servicio:

> db.disableFreeMonitoring()

En cuanto a los mensajes de alerta hacen referencia a que no existe control de acceso a la base de datos, por lo que no hay restricciones para la lectura y escritura de datos y configuración. Veremos cómo restringir el acceso a continuación.

Podemos cerrar la conexión con el comando exit:

> exit

Cómo utilizar usuarios con contraseña

Conectamos al servicio con el cliente de consola mongo:

~$ mongo

Seleccionamos la base de datos principal para trabajar con ella:

> use admin

Y creamos el usuario, indicando nombre, contraseña y rol:

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

Ya podemos cerrar la conexión:

> exit

Ahora editamos la configuración del servicio MongoDB para activar el sistema de autenticación por contraseña:

~$ sudo nano /etc/mongod.conf

Buscaremos la sección security:

...
#security:
...

Está desactivada, así que la activaremos eliminando el carácter # al comienzo de línea y añadiremos la directiva authorization:

...
security:
 authorization: enabled
...

En este archivo se pueden usar espacios en blanco para realizar indentaciones, pero no tabulaciones.

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart mongod

A partir de este momento, para trabajar desde consola con MongoDB habrá que indicar el usuario y la contraseña antes de acceder al servicio:

~$ mongo -u chacho
MongoDB shell version v4.2.5
Enter password:
...
>

Acceso remoto

El acceso remoto al servicio MongoDB está desactivado por defecto en Fedora 30, pero si necesitas acceder remotamente podrás realizar la configuración fácilmente.

En primer lugar el servicio MongoDB sólo atiende peticiones locales, por lo que hay que editar la configuración:

~$ sudo nano /etc/mongod.conf

Buscaremos la sección net donde se encuentra la directiva bindIP responsable del acceso local o remoto:

...
net:
  port: 27017
  bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
...

Y cambiaremos el valor 127.0.0.1 por el valor 0.0.0.0:

...
  bindIp: 0.0.0.0
...

Guardamos los cambios, cerramos el archivo y reiniciamos el servicio MongoDB para que aplique la nueva configuración.

Cómo configurar el firewall de Fedora 30 para MongoDB

Como por defecto el firewall de Fedora 30 está activado, tendremos que añadir una excepción para permitir las conexiones entrantes al servicio MongoDB:

~$ sudo firewall-cmd --permanent --add-service=mongodb

Y recargamos la configuración del firewall para aplicar los cambios:

~$ sudo firewall-cmd --reload

Cómo conectar remotamente a MongoDB

Se puede conectar desde otra máquina que tenga instalado el cliente de consola mongo, especificando como parámetros la dirección IP o dominio del servidor Fedora 30 en el que está funcionando el servicio MongoDB, y el usuario y el uso de contraseña si has activado este tipo de autenticación:

~$ mongo --host fedora30.local -u chacho

instalar mongodb en fedora 30

Conclusión

Ahora que sabes cómo instalar MongoDB en Fedora 30 puedes dejar preparado este servicio de bases de datos en tu servidor o VPS tanto para tus propios desarrollos como para alojar aplicaciones que lo requieras.

En caso de dudas, preguntas, alguna sugerencia, notificar errores o mejoras, puedes dejar un comentario.

¡Apoya comoinstalar.me!

¿Ya tienes funcionando el servicio gracias a esta guía de instalación de MongoDB en Fedora 30? Si es así y quieres agradecérnoslo, cualquier pequeño donativo ayuda al mantenimiento de este sitio y la creación de nuevos tutoriales de Fedora 30 y MongoDB. ¡Gracias!

 

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies