Cómo instalar MongoDB en FreeBSD 12

En esta ocasión veremos cómo instalar MongoDB en FreeBSD 12 paso a paso, de modo que puedas trabajar con este potente motor de bases de datos en tu servidor o VPS FreeBSD tanto para tus desarrollos como para soporte de otras aplicaciones.

Antes de instalar MongoDB en FreeBSD 12

Para completar esta pequeña guía de instalación de MongoDB en FreeBSD 12 bastará con cumplir los siguientes requisitos mínimos:

  • Un sistema FreeBSD 12 actualizado.
  • Un usuario con permisos de sudo o root.
  • Acceso a Internet.

Hay que tener en cuenta que mongodb.com no ofrece repositorio oficial para FreeBSD, por lo que nos conformaremos con la última versión disponible en los repositorios de FreeBSD 12.

Cómo instalar MongoDB en FreeBSD 12

Vamos a instalar MongoDB en FreeBSD 12 desde los repositorios del sistema, así que la primera acción a realizar será actualizar las listas de paquetes disponibles:

~$ sudo pkg update

El paquete que necesitamos es mongodb44, que instalaremos con pkg:

~$ sudo pkg install -y mongodb44

Tras la descarga e instalación de MongoDB y sus dependencias, aparece en FreeBSD 12 un nuevo servicio llamado mongod. Este servicio por defecto no queda en ejecución y tampoco está habilitado para su inicio automático, así que realizaremos manualmente estos ajustes.

Primero habilitamos el servicio MongoDB para que inicie automáticamente en cada arranque de FreeBSD 12:

~$ sudo service mongod enable

Y después nos aseguraremos de que el servicio arranca:

~$ sudo service mongod start

Podremos comprobar en cualquier momento que el servicio MongoDB se encuentra en ejecución mediante el comando service mongod status:

como instalar mongodb en freebsd 12

Conectar a MongoDB en FreeBSD 12

Para conectar a MongoDB en FreeBSD 12 utilizaremos el cliente de consola mongo:

~$ mongo
MongoDB shell version v4.4.0-rc11
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("cd01055b-21e5-4b1d-ae71-ac647f8e777a") }
MongoDB server version: 4.4.0-rc11
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: 28377
        ...:         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()
---
>

La primera vez que conectamos recibimos bastantes avisos, como podemos ver. Uno de estos avisos, que se repetirá constantemente en cada inicio de sesión, nos avisa sobre la existencia de cierto servicio anónimo de estadísticas de uso. Para dejar de recibir este aviso debemos aceptar o rechazar el uso del servicio.

Si quieres utilizar el servicio de estadísticas anónimas usa este comando:

> db.enableFreeMonitoring()

Y si no deseas utilizarlo usa este otro:

> db.disableFreeMonitoring()

Para cerrar la conexión usaremos el comando exit:

> exit

Cómo configurar MongoDB en FreeBSD 12

A la hora de configurar MongoDB en FreeBSD 12 debemos tener en cuenta que el archivo principal de configuración, mongod.conf, se encuentra en la ruta /usr/local/etc/.

Cómo configurar el acceso por contraseña

Para activar el uso de contraseña en MongoDB editaremos la configuración del servicio:

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

Buscamos la directiva security:

...
#security:
...

Activaremos esta directiva borrando el carácter # inicial, y añadiremos también la directiva authorization:

...
security:
  authorization: enabled
...

Para sangrar o indentar las líneas en este archivo de configuración sólo se pueden usar espacios en blanco, no se pueden usar tabulaciones.

Guardamos los cambios y reiniciamos el servicio:

~$ sudo service mongod restart

Ahora conectaremos al servicio con el cliente mongo para crear un usuario administrador con contraseña:

~$ mongo

Seleccionamos la base de datos principal:

> use admin

Y creamos el usuario administrador:

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

Ya podemos cerrar la conexión:

> exit

Cuando conectemos al servicio con el nuevo usuario, se nos solicitará la contraseña:

~$ mongo -u chacho
MongoDB shell version v4.4.0-rc-11
Enter password:
...
>

Acceso remoto a MongoDB en FreeBSD 12

En el caso de que necesites acceder remotamente a MongoDB en FreeBSD 12 habrá que realizar algún ajuste adicional en el archivo mongod.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.
...

Y cambiamos su valor por 0.0.0.0:

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

Guardamos los cambios y reiniciamos el servicio:

~$ sudo service mongod restart

Ahora desde otra máquina que tenga instalado un cliente de MongoDB, como el cliente de consola mongo que hemos usado en el sevidor, conectaremos indicando con el parámetro –host la dirección IP o nombre DNS del servidor FreeBSD 12 y con el parámetro -u el usuario con el que queremos conectar.

Por ejemplo, para conectar remotamente a la máquina sobre la que hemos estado trabajando en este tutorial emplearíamos el siguiente comando:

~$ mongo --host freebsd12.local.lan -u chacho

instalar y configurar mongodb en freebsd 12

Podremos observar que recibimos un aviso indicando que no coinciden las versiones de MongoDB en el servidor y en el cliente, pero la conexión es posible y ya podemos trabajar de forma remota.

Ajuste de parámetros del kernel

El siguiente ajuste más que a MongoDB corresponde al sistema. Al iniciar sesión puede que observes un aviso similar a este:

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

Para evitar este aviso habrá que ajustar algún parámetro del kernel en el archivo sysctl.conf:

~$ sudo nano /etc/sysctl.conf

Añadimos esta línea:

...
kern.maxfilesperproc=64000

Una vez guardado el archivo, los cambios se aplicarán en el siguiente inicio del sistema, de modo que al iniciar sesión en MongoDB no se mostrará la advertencia.

Conclusión

Ahora que sabes cómo instalar MongoDB en FreeBSD 12 puedes disfrutar de este motor de bases de datos NoSQL en tu sistema tanto para tus propios desarrollos como para dar soporte a las aplicaciones que lo incluyen como requisito.

Si tienes alguna duda, pregunta, sugerencia de mejoras de este artículo o notificaciones de errores, etc. un comentario sería lo adecuado.

¡Apoya comoinstalar.me!

¿Ya puedes trabajar con bases de datos NoSQL gracias a esta guía de instalación de MongoDB en FreeBSD 12? Si es así y te apetece mostrar tu agradecimiento cualquier mínima aportación ayuda mucho al mantenimiento de este sitio y la elaboración de futuros tutoriales de FreeBSD 12 o MongoDB, y puedes hacerlo invitándonos a un café:

 

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

¡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