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 y 4.4), 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 mongodb44 con pkg:

~$ sudo pkg install -y mongodb44

Recuerda que para otras versiones dispones de los paquetes mongodb36, mongodb40 y mongodb42.

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 v4.4.2
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("a47bda7f-0b1c-4b28-8066-3c222630acc0") }
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
        ...: Soft rlimits 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: "chacho", 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 chacho
MongoDB shell version v4.4.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 chacho

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 invitándonos a un café:

 

O también puedes dejar una propina de 1 $ desde PayPal:

¡Gracias!

Valora esta entrada

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