En esta entrada vamos a ver cómo instalar MongoDB en Fedora 31 paso a paso, de modo que puedas trabajar con este motor de bases de datos NOSQL sobre tu servidor o VPS Fedora.
Contenido
Antes de instalar MongoDB en Fedora 31
Para poder completar los pasos de esta guía de instalación de MongoDB en Fedora 31 sólo necesitas satisfacer estos requisitos:
- Un sistema Fedora 31 actualizado.
- Un usuario con permisos de sudo, o el mismo root.
- Acceso a Internet.
Como seguramente cumples todos los requisitos, abre una terminal de comandos y empezamos a trabajar.
Cómo configurar el repositorio de MongoDB para Fedora 31
Vamos a añadir el repositorio oficial de MongoDB para Fedora 31, para lo que crearemos el correspondiente archivo de configuración de dicho repositorio:
~$ sudo nano /etc/yum.repos.d/mongodb.org-4.4.repo
El contenido será el siguiente:
[mongodb-org-4.4] name=Repositorio de MongoDB para Fedora 31 baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
Guardamos el archivo y actualizamos la información de los repositorios para incluir los paquetes de MongoDB:
~$ sudo yum update
Cómo instalar MongoDB en Fedora 31
Para instalar MongoDB en Fedora 31 el paquete que necesitamos es mongodb-org, que instalaremos fácilmente con el comando yum:
~$ sudo yum install -y mongodb-org
Tras la descarga de MongoDB y sus dependencias, se crea un nuevo servicio en Fedora 31 llamado mongod.service o mongod, que queda habilitado para su inicio automático con el sistema, pero no iniciado, así que lo iniciamos:
~$ sudo systemctl start mongod
Podemos comprobar el estado del servicio MongoDB en cualquier momento con el comando systemctl status mongod
:
Cómo conectar a MongoDB en Fedora 31
Una vez que el servicio está corriendo, podemos conectar a MongoDB en Fedora 31 mediante el cliente de consola mongo:
~$ mongo MongoDB shell version v4.4.2 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("39c08fb2-a3ba-4d28-a6e4-5acd09dcbe61") } MongoDB server version: 4.4.2 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see https://docs.mongodb.com/ Questions? Try the MongoDB Developer Community Forums https://community.mongodb.com --- The server generated these startup warnings when booting: ...: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted --- --- 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() --- >
Al conectar podremos observar ciertos avisos de MongoDB, uno de ellos referido a la disponibilidad de un servicio gratuito de estadísticas de uso que podemos activar o no, aviso que seguirá mostrándose hasta que tomemos alguna decisión al respecto.
En este tutorial desactivaremos el servicio:
> db.disableFreeMonitoring()
Para cerrar la conexión empleamos el comando exit:
> exit
Cómo configurar MongoDB en Fedora 31
Vamos a configurar MongoDB en Fedora 31 a través de algunos ejemplos prácticos que normalmente se suelen aplicar.
Activar el uso de contraseñas
Hemos visto anteriormente que podemos conectar al servicio si necesidad de autenticación, pero esto es poco habitual, así que crearemos un usuario administrador con contraseña. Para ello conectamos al servicio con el cliente mongo:
~$ mongo
Seleccionamos la base de datos principal (admin):
> use admin
Creamos un usuario, que en este ejemplo llamaremos chacho, con contraseña y con rol de administrador:
> db.createUser({user: "chacho", pwd: "XXXXXXXX", roles: [{role: "root", db: "admin"}]})
Y cerramos la conexión:
> exit
Este usuario ya puede acceder mediante contraseña, como podemos comprobar si conectamos de nuevo, especificando con el parámetro -u el usuario:
~$ mongo -u chacho MongoDB shell version v4.4.2 Enter password:
Para forzar el uso de autenticación para conectar al servicio ajustaremos la configuración:
~$ sudo nano /etc/mongod.conf
Buscamos la directiva security:
... #security: ...
Comprobamos que está desactivada, por lo que eliminaremos el carácter # inicial para activarla, y añadiremos la opción authorization:
... security: authorization: enabled ...
No utilices tabulaciones para sangrar el texto, usa solamente espacios en blanco.
Guardamos los cambios y reiniciamos el servicio:
~$ sudo systemctl restart mongod
Acceso remoto a MongoDB en Fedora 31
Por defecto MongoDB en Fedora 31 está configurado para acceso sólo local, así que si queremos poder acceder remotamente tendremos que realizar algún ajuste de configuración.
Editamos el archivo de configuración mongod.conf:
~$ sudo nano /etc/mongod.conf
Buscamos la directiva net:
... # network interfaces net: port: 27017 bindIp: 127.0.0.1 ...
La opción bindIP está configurada para escuchar conexiones tan sólo de forma local, así que si queremos permitir conexiones remotas, cambiaremos su valor a 0.0.0.0:
... bindIp: 0.0.0.0 ...
Guardamos los cambios y reiniciamos el servicio:
~$ sudo systemctl restart mongod
Configurar el firewall de Fedora 31 para MongoDB
Si el firewall de Fedora 31 está activado, que es la configuración por defecto, habrá que añadir una excepción para MongoDB:
~$ sudo firewall-cmd --permanent --add-service=mongodb
Para aplicar la nueva configuración será necesario recargar la configuración del firewall:
~$ sudo firewall-cmd --reload
Cómo conectar remotamente a MongoDB
Para conectar remotamente al servicio MongoDB de Fedora 31 desde otra máquina se necesitará un cliente como mongo, indicando la dirección del servidor y el usuario con el que queremos conectar:
~$ mongo --host fedora31.local.lan -u chacho
Ya podemos trabajar como si lo hiciéramos localmente.
Conclusión
Ahora que sabes cómo instalar MongoDB en Fedora 31 ya puedes trabajar con este motor de bases de datos NOSQL, tanto para soporte de aplicaciones de terceros, como para tus propios desarrollos.
Si te han surgido dudas o preguntas, tienes sugerencias de mejora o actualización del artículo, quieres notificar algún error, etc. puedes dejar un comentario (los revisamos a diario).
¡Apoya comoinstalar.me!
¿Ya puedes trabajar con este motor de bases de datos gracias a nuestra guía de instalación de MongoDB en Fedora 31? En ese caso, si quieres agradecérnoslo colaborando con el mantenimiento de este sitio y la creación de más tutoriales, puedes hacerlo invitándonos a un café:
O también puedes dejar 1 $ de propina desde PayPal:
¡Gracias!