Cómo instalar MongoDB en FreeBSD 11

En este artículo veremos cómo instalar MongoDB en FreeBSD 11 paso a paso, de manera que puedas empezar a trabajar con este motor de bases de datos NoSQL sobre tu servidor o VPS FreeBSD, tanto desarrollando proyectos propios como preparando los requisitos de aplicaciones de terceros.

Antes de instalar MongoDB en FreeBSD 11

Si quieres seguir los pasos de esta guía de instalación de MongoDB en FreeBSD 11 sólo necesitas cumplir los siguientes requerimientos mínimos:

  • Una máquina FreeBSD 11 actualizada.
  • Un usuario con permisos de sudo.
  • Acceso a Internet.

Cómo instalar MongoDB en FreeBSD 11

Vamos a instalar MongoDB en FreeBSD 11 directamente desde los repositorios del sistema, que nos ofrecen varias ramas del servicio (3.6, 4.0, 4.2, 4.4, 4.9 y 5.0), aunque en este tutorial nos decantamos por la más avanzada. En primer lugar actualizaremos la información de los repositorios del sistema:

~$ sudo pkg update

Instalaremos el paquete mongodb50 con pkg:

~$ sudo pkg install -y mongodb50

Recuerda que dispones de paquetes para versiones anteriores.

Tras la descarga e instalación de estos paquetes y sus dependencias se crea un nuevo servicio en FreeBSD 11, el servicio mongod que tendremos que habilitar editando el archivo rc.conf:

~$ sudo nano /etc/rc.conf

Añadimos al final del archivo la siguiente línea:

...
mongod_enable="YES"

Una vez guardados los cambios, ya podemos arrancar el servicio de forma manual por primera vez:

~$ sudo service mongod start

Podemos comprobar el estado del servicio con el comando service mongod status:

como instalar mongodb en freebsd 11

Cómo conectar con MongoDB en FreeBSD 11

Para conectar al servicio MongoDB en FreeBSD 11 disponemos del cliente de consola mongo, incluido en la instalación que ya hemos realizado. Conectamos sin necesidad de añadir ningún parámetro u opción:

~$ mongo
MongoDB shell version v5.0.2
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("9ebe8ad1-1826-4df9-88be-d817e529e8a0") }
MongoDB server version: 5.0.2
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
We recommend you begin using "mongosh".
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
---
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
        ###: Soft rlimits for open file descriptors too low
        ###:         currentValue: 28494
        ###:         recommendedMinimum: 64000
---
---
        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()
---
>

Vemos mucha informacion en consola sobre el estado de MongoDB, parte de ella relativa a la posibilidad de activar un servicio anónimo de estadísticas. Mientras no indiquemos explícitamente si deseamos o no permitir este servicio, se mostrará el aviso en cada conexión.

Si no nos interesa dicho servicio lo desactivamos con el comando db.disableFreeMonitoring():

> db.disableFreeMonitoring()

Y si queremos probarlo, lo activamos con db.enableFreeMonitoring():

> db.enableFreeMonitoring()

Para cerrar la conexión podemos usar el comando exit:

> exit

Cómo configurar MongoDB en FreeBSD 11

Configurar los parámetros del kernel

Cada vez que accedemos al servicio con el cliente mongo, vemos esta información:

...
        ...: Soft rlimits too low
        ...:         currentValue: 28494
        ...:         recommendedMinimum: 64000
...

Se refiere a la restricción actual de la configuración del kernel de FreeBSD 11 en cuanto a la apertura máxima de archivos. Cambiaremos esta configuración editando el archivo sysctl.conf:

~$ sudo nano /etc/sysctl.conf

Añadimos al final del archivo la siguiente configuración, que es el valor mínimo recomendado por MongoDB para FreeBSD 11:

...
kern.maxfilesperproc=64000

Tras guardar los cambios, será necesario reiniciar FreeBSD 11 para aplicar esta nueva configuración del kernel. En la siguiente conexión ya no debería mostrarse este aviso.

Acceso mediante contraseña

Por defecto MongoDB en FreeBSD 11 no tiene restricciones de acceso, algo que podría no ser seguro. Podemos activar el uso de contraseñas editando el archivo de configuración mongodb.conf:

~$ sudo nano /usr/local/etc/mongodb.conf

Buscamos la directiva security:

...
#security:
...

Está desactivada, la activamos eliminando el carácter # al incio de línea y añadimos el parámetro authorization:

...
security:
  authorization: enabled
...

En este archivo no se pueden utilizar tabulaciones, sólo espacios en blanco.

Guardados los cambios, reiniciamos el servicio para aplicar la nueva configuración:

~$ sudo service mongod restart

Ahora conectamos al servicio con el cliente de consola mongo:

~$ mongo

Activamos la base de datos principal:

> use admin

Creamos el usuario administrador, que se almacena en esta base de datos:

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

Cerramos la conexión:

> exit

Para conectar al servicio con el nuevo usuario administrador utilizamos el parámetro -u del cliente mongo y veremos que se solicita la contraseña:

~$ mongo -u instalador
MongoDB shell version v5.0.2
Enter password:
...
>

Acceso remoto

Por defecto MongoDB sólo atiende peticiones locales en FreeBSD 11, pero si queremos poder trabajar en red con este servicio realizaremos algún ajuste en su configuración editando mongodb.conf:

~$ sudo nano /usr/local/etc/mongodb.conf

Buscamos la directiva bindIp:

...
# network interfaces
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.
...

Cambiamos su valor por 0.0.0.0:

...
  bindIp: 0.0.0.0
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo service mongod restart

Para probar el funcionamiento en red del servicio, podemos acceder desde la consola de otra máquina de la red que cuente con el cliente mongo, utilizando los parámetros –host y -u para indicar la dirección del servidor FreeBSD 11 y el usuario con el que queremos acceder, respectivamente:

~$ mongo --host freebsd11.local.lan -u instalador

como configurar mongodb en freebsd 11

Conclusión

Ahora que sabes cómo instalar MongoDB en FreeBSD 11 ya puedes trabajar con este servicio de bases de datos NoSQL tanto en desarrollos propios como preparando el entorno de aplicaciones y plataformas de terceros, de forma rápida y fácil.

¡Apoya comoinstalar.me!

¿Ya funciona este motor de bases de datos en tu máquina gracias a esta guía? Si es así y te apetece agradecérnoslo puedes hacerlo dejando una propina de 1 $ desde PayPal:

O, si te sientes especialmente generoso, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

Deja un comentario