Cómo instalar MongoDB en Debian 8 Jessie

Cómo instalar MongoDB en Debian 8 Jessie

En esta ocasión veremos cómo instalar MongoDB en Debian 8 Jessie paso a paso, de forma que puedas usar este potente motor de bases de datos sobre tu viejo servidor o VPS Debian.

Antes de instalar MongoDB en Debian 8 Jessie

Para poder seguir los pasos de esta guía de instalación de MongoDB en Debian 8 Jessie sólo tendrás que partir de los siguientes requisitos básicos:

  • Un sistema Debian 8 Jessie actualizado.
  • Un usuario con permisos de sudo o el mismo root.
  • Acceso a Internet.

Cómo instalar el repositorio de MongoDB en Debian 8 Jessie

Vamos a instalar el repositorio oficial de MongoDB en Debian 8 Jessie ya que, aunque existen paquetes de MongoDB en los reposistorios del sistema, la última versión que ofrecen es la 2.4.10. El repositorio oficial de MongoDB nos ofrece paquetes bastante más actualizados, aunque la mala noticia es que sólo llegan hasta la versión 4.0.

El primer paso será añadir la clave pública con la que se firman los paquetes:

~$ wget https://www.mongodb.org/static/pgp/server-4.0.asc -qO- | sudo apt-key add -

Creamos el archivo de repositorio para MongoDB:

~$ sudo nano /etc/apt/sources.list.d/mongodb-org.list

Con el contenido:

deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main

Guardamos y cerramos el archivo. Ya sólo queda actualizar las listas de paquetes:

~$ sudo apt update

Cómo instalar MongoDB en Debian 8 Jessie

Una vez configurado y actualizado el repositorio, ya podemos instalar MongoDB en Debian 8 Jessie usando la nueva fuente de paquetes. Concretamente, el paquete que buscamos es mongodb-org, que instalamos con apt:

~$ sudo apt install -y mongodb-org

En unos instantes se descargarán e instalarán MongoDB y sus dependencias, habiendo creado un nuevo servicio en Debian 8, el servicio mongod, que por defecto no queda habilitado ni en ejecución.

Para que el servidor MongoDB inicie automáticamente con cada arranque de Debian 8, lo habilitamos:

~$ sudo systemctl enable mongod

Y si queremos empezar a trabajar de inmediato sin esperar al próximo reinicio del sistema, iniciamos esta vez el servicio de forma manual:

~$ sudo systemctl start mongod

Podemos comprobar el estado del servicio MongoDB en cualquier momento con el comando systemctl status mongod:

como instalar mongodb en debian 8 jessie

Cómo conectar a MongoDB en Debian 8

Para probar el servicio vamos a conectar a MongoDB en Debian 8 utilizando el cliente de consola mongo:

~$ mongo
MongoDB shell version v4.0.18
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("260b5509-fa6f-4390-b413-488056aff68f") }
MongoDB server version: 4.0.18
...
>

Veremos mucha información en pantalla. Parte de esta información hace referencia a un servicio anónimo de monitorización de estadísticas de uso. Podremos activar o desactivar este servicio, pero hasta que no hagamos una de las dos acciones este aviso se mostrará en cada conexión.

Podemos desactivar el servicio con este comando:

> db.disableFreeMonitoring()

O podemos activarlo con este otro:

> db.enableFreeMonitoring()

Cómo configurar MongoDB en Debian 8 Jessie

Veremos a continuación cómo configurar MongoDB en Debian 8 Jessie a través de su archivo principal de configuración, mongod.conf.

Activar autenticación por contraseña

Otro de los avisos que se muestran constantemente en cada conexión al servicio es el relacionado con que no existe autentificación de usuario al realizar la conexión, lo que podría suponer un serio riresgo de seguridad.

Para activar la autenticación de usuarios editamos el archivo de configuración de MongoDB:

~$ sudo nano /etc/mongod.conf

Buscamos la directiva security:

...
#security:
...

Como se puede ver, esta directiva está desactivada mediante el uso del carácter # al inicio de la línea. Activaremos la directiva eliminando el carácter # y añadimos una subdirectiva authorization:

...
security:
  authorization: enabled
...

Es muy importante tener en cuenta que para realizar el sangrado de las subdirectivas sólo se pueden usar espacios en blanco, nunca tabulaciones.

Guardamos los cambios, cerramos el archivo y reiniciamos el servicio:

~$ sudo systemctl restart mongod

Ahora conectamos al servicio:

~$ mongo
...
>

Conectamos a la base admin:

> use admin

Y creamos un usuario con contraseña:

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

Ya podemos salir:

> exit

A partir de ahora para iniciar sesión con el nuevo usuario habrá que indicar contraseña:

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

Acceso remoto

Por defecto MongoDB está configurado para permitir solamente conexiones locales, así que en el caso de que necesites realizar conexiones remotas te puede interesar activar el acceso remoto.

Editamos el arhivo mongod.conf:

~$ sudo nano /etc/mongod.conf

Buscamos la directiva bindIp:

...
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1
...

Y cambiamos su valor por el de la dirección IP del adaptador de red local, o por 0.0.0.0 si queremos dar acceso remoto en general:

...
  bindIp: 0.0.0.0
...

Guardamos los cambios, cerramos el archivo y reiniciamos el servicio:

~$ sudo systemctl restart mongod

Configurar el firewall UFW para MongoDB en Debian 8

Si has activado el firewall UFW, necesitarás una regla específica para MongoDB:

~$ sudo ufw allow 27017/tcp

La aplicación de este ajuste es inmediata.

Cómo conectar remotamente a MongoDB en Debian 8

Desde otro sistema con un cliente como por ejemplo mongo, podemos realizar la conexión remota, indicando en la línea de comandos la direccion IP o dominio de la máquina Debian 8, la base de datos a la que queremos conectar y el usuario con el que conectamos.

En este ejemplo conectamos desde una máquina con otra versión de Debian y MongoDB, desde consola, indicando el nombre DNS del servidor Debian 8 (debian8.local.lan), la base a la que queremos conectar (admin) y el usuario con el que queremos conectar (chacho):

~$ mongo debian8.local.lan/admin -u chacho

instalar y configurar mongodb en debian 8 jessie

Como este usuario tiene contraseña se nos solicita, y tras introducirla podemos empezar a trabajar.

Conclusión

Ahora que sabes cómo instalar MongoDB en Debian 8 Jessie ya puedes usar este motor de bases de datos tan popular en desarrollo web sobre tu viejo servidor o VPS Debian, usando una versión del servicio bastante más moderna de lo que cabría pensar.

En caso de dudas, preguntas, alguna sugerencia de mejora, notificación de errores o cuestión similar, un comentario es la mejor opción.

Y si ya puedes trabajar con este motor de bases de datos gracias a esta guía de instalación de MongoDB en Debian 8 Jessie, ¡me puedes invitar a un café cuando te apetezca!

 

O puedes dejar una pequeña propina en PayPal:

¡Gracias!

 

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

Deja una respuesta