Cómo instalar la base de datos NoSQL Apache CouchDB en CentOS 8

Apache CouchDB es un sistema de bases de datos NoSQL gratuito y de código abierto orientado a los documentos, escrito en Erlang. En comparación con otras bases de datos relacionales, no almacena los datos y las relaciones en tablas. Utiliza JSON para almacenar los datos, lo que hace que sea más escalable y fácil de modelar los datos. También soporta una API HTTP restful que te permite crear, editar y eliminar documentos de la base de datos.

En este tutorial, explicaremos cómo instalar la base de datos Apache CouchDB NoSQL en CentOS 8.

Requisitos previos

  • Un servidor que ejecute CentOS 8.
  • Una contraseña de root configurada en tu servidor.

Instalar Apache CouchDB

Por defecto, Apache CouchDB no está disponible en el repositorio por defecto de CentOS 8. Así que tendrás que crear el repositorio de Apache CouchDB en tu sistema.

El repositorio de CouchDB depende del repositorio EPEL, por lo que tendrás que instalar el repo de EPEL en tu sistema. Puedes instalarlo con el siguiente comando:

dnf install epel-release -y

A continuación, crea el repositorio de Apache CouchDB con el siguiente comando:

nano /etc/yum.repos.d/apache-couchdb.repo

Añade las siguientes líneas:

[bintray--apache-couchdb-rpm]
name=bintray--apache-couchdb-rpm
baseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1

Guarda y cierra el archivo cuando hayas terminado. A continuación, instala Apache CouchDB con el siguiente comando:

dnf install couchdb -y

Una vez que la instalación se haya completado con éxito, puedes pasar al siguiente paso.

Configurar CouchDB

Puedes configurar CouchDB en modo autónomo o en modo clúster. En este tutorial, configuraremos el servidor CouchDB en el modo autónomo. Por defecto, CouchDB escucha en el localhost y no se crea ninguna cuenta de administrador durante la instalación. Así que tendrás que crear una cuenta de administrador para CouchDB. Puedes crearla editando el archivo local.ini:

nano /opt/couchdb/etc/local.ini

Establece la dirección bind a 0.0.0.0 para permitir el acceso desde direcciones IP externas y también establece la contraseña de administrador dentro de la sección [admin] como se muestra a continuación:

[chttpd]
port = 5984
bind_address = 0.0.0.0  

[admins]
admin = password

Guarda y cierra el archivo cuando hayas terminado. A continuación, inicia el servicio CouchDB y permite que se inicie en el arranque:

systemctl start couchdb
systemctl enable couchdb

Ahora puedes verificar el estado del servicio CouchDB con el siguiente comando:

systemctl status couchdb

Deberías obtener la siguiente salida:

? couchdb.service - Apache CouchDB
   Loaded: loaded (/usr/lib/systemd/system/couchdb.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-04-11 07:40:47 EDT; 35s ago
 Main PID: 11992 (beam.smp)
    Tasks: 43 (limit: 26213)
   Memory: 36.4M
   CGroup: /system.slice/couchdb.service
           ??11992 /opt/couchdb/bin/../erts-9.3.3.14/bin/beam.smp -K true -A 16 -Bd -- -root /opt/couchdb/bin/.. -progname couchdb -- -home /o>
           ??12004 /opt/couchdb/bin/../erts-9.3.3.14/bin/epmd -daemon
           ??12023 erl_child_setup 1024
           ??12045 sh -s disksup
           ??12047 /opt/couchdb/bin/../lib/os_mon-2.4.4/priv/bin/memsup
           ??12048 /opt/couchdb/bin/../lib/os_mon-2.4.4/priv/bin/cpu_sup

Apr 11 07:40:47 centos8 systemd[1]: Started Apache CouchDB.

También puedes comprobar el puerto de escucha de CouchDB con el siguiente comando:

netstat -pnltu | grep 5984

Deberías ver la siguiente salida:

tcp        0      0 0.0.0.0:5984            0.0.0.0:*               LISTEN      11992/beam.smp

Configurar SELinux y Firewall

Por defecto, SELinux está activado en tu sistema. Por lo tanto, se recomienda desactivar el SELinux en tu sistema.

Puedes desactivar SELinux editando el archivo /etc/selinux/config:

nano /etc/selinux/config

Busca la siguiente línea:

SELINUX=enforcing

Y, sustitúyela por la siguiente línea:

SELINUX=permissive

Guarda y cierra el archivo. A continuación, reinicia tu sistema para aplicar los cambios:

A continuación, tendrás que permitir el puerto 5984 a través de firewalld. Puedes permitirlo con el siguiente comando:

firewall-cmd --zone=public --permanent --add-port=5984/tcp
firewall-cmd --reload

Una vez que hayas terminado, puedes pasar al siguiente paso.

Accede a la interfaz web de CouchDB

En este punto, CouchDB está instalado y configurado. Es el momento de confirmar si CouchDB funciona o no.

Puedes utilizar el comando curl para comprobar CouchDB:

curl http://your-server-ip:5984/

Si todo está bien, deberías obtener la siguiente salida:

{"couchdb":"Welcome","version":"3.0.0","git_sha":"03a77db6c","uuid":"d0406ea8f0b1a3f18020ec90e627ae35","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}

También puedes acceder a la interfaz web de CouchDB utilizando la URL http://your-server-ip:5984/_utils/. Serás redirigido a la página de inicio de sesión de CouchDB:

Inicio de sesión en CouchDB

Proporciona tu nombre de usuario y contraseña de administrador y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de CouchDB en la siguiente pantalla:

Panel de control de CouchDB

Trabajar con la base de datos CouchDB

CouchDB también te permite crear y eliminar bases de datos utilizando el comando curl.

Para crear una base de datos llamada testdb en CouchDB, ejecuta el siguiente comando:

curl -u admin:password -X PUT http://your-server-ip:5984/testdb

Deberías ver la siguiente salida:

{"ok":true}

Para crear una base de datos llamada userdb en CouchDB, ejecuta el siguiente comando:

curl -u admin:password -X PUT http://your-server-ip:5984/userdb

Deberías obtener la siguiente salida:

{"ok":true}

También puedes verificar la base de datos utilizando el comando curl como se muestra a continuación:

curl -u admin:password -X GET http://your-server-ip:5984/testdb

Deberías obtener la siguiente salida:

{"db_name":"testdb","purge_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","update_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","sizes":{"file":16700,"external":0,"active":0},"props":{},"doc_del_count":0,"doc_count":0,"disk_format_version":8,"compact_running":false,"cluster":{"q":2,"n":1,"w":1,"r":1},"instance_start_time":"0"}

También puedes actualizar el panel de CouchDB para ver las bases de datos en tu navegador web.

Crear una base de datos en CouchDB

Si quieres eliminar la base de datos testdb, ejecuta el siguiente comando:

curl -u admin:password -X DELETE http://your-server-ip:5984/testdb

Deberías obtener la siguiente salida:

{"ok":true}

Conclusión

Enhorabuena! has instalado con éxito Apache CouchDB en CentOS 8. Para más información, puedes visitar la documentación de ApacheCouchDB.

También te podría gustar...