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

Inicio de sesión en CouchDB

Apache CouchDB es un sistema de base de datos NoSQL gratuito y de código abierto orientado a documentos escrito en Erlang. Si te has preguntado qué es Apache CouchDB, es una solución que se destaca por su flexibilidad y escalabilidad. En comparación con otras bases de datos relacionales, no almacena datos ni relaciones en tablas. Utiliza JSON para almacenar datos que lo hacen más escalable y fácil de modelar los datos. También es compatible con una API HTTP tranquila que le 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 ejecuta CentOS 8.
  • Una contraseña de root está configurada en su servidor.

Instalar Apache CouchDB

De forma predeterminada, Apache CouchDB no está disponible en el repositorio predeterminado de CentOS 8. Por lo tanto, deberá crear un repositorio de Apache CouchDB en su sistema.

El repositorio de CouchDB depende del repositorio de EPEL, por lo que deberá instalar el repositorio de EPEL en su sistema. Puedes instalarlo con el siguiente comando:

dnf install epel-release -y

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

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

Agregue 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

Guarde y cierre el archivo cuando haya terminado. Luego, instale Apache CouchDB usando el siguiente comando:

dnf install couchdb -y

Una vez que la instalación se haya completado con éxito, puede continuar con el siguiente paso.

Configurar CouchDB

Puede configurar CouchDB como modo independiente o en modo agrupado. En este tutorial, configuraremos el servidor CouchDB en modo único. De forma predeterminada, CouchDB escucha en el host local y no se crea una cuenta de administrador durante la instalación. Por lo tanto, deberá crear una cuenta de administrador para CouchDB. Puede crearlo editando el archivo local.ini:

nano /opt/couchdb/etc/local.ini

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

[chttpd]
port = 5984
bind_address = 0.0.0.0  

[admins]
admin = password

Guarde y cierre el archivo cuando haya terminado. Luego, inicie el servicio CouchDB y habilítelo para que se inicie en el arranque:

systemctl start couchdb
systemctl enable couchdb

Ahora puede verificar el estado del servidor CouchDB usando el siguiente comando:

systemctl status couchdb

Deberías obtener el siguiente resultado:

? 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 puede verificar el puerto de escucha de CouchDB con el siguiente comando:

netstat -pnltu | grep 5984

Debería ver el siguiente resultado:

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

Configurar SELinux y Firewall

De manera predeterminada, SELinux está habilitado en su sistema. Por lo tanto, se recomienda desactivar SELinux en su sistema.

Puede deshabilitar SELinux editando el archivo /etc/selinux/config:

nano /etc/selinux/config

Encuentra la siguiente línea:

SELINUX=enforcing

Y, reemplácelo con la siguiente línea:

SELINUX=permissive

Guarde y cierre el archivo. Luego, reinicie su sistema para aplicar los cambios:

A continuación, deberá 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 haya terminado, puede continuar con el siguiente paso.

Acceda a la interfaz de usuario web de CouchDB

En este punto, CouchDB está instalado y configurado. Es hora de confirmar si CouchDB está funcionando o no.

Puede usar el comando curl para verificar CouchDB:

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

Si todo está bien, debería obtener el siguiente resultado:

{"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 puede acceder a la interfaz de usuario web de CouchDB utilizando la URL http://your-server-ip:5984/_utils/. Será redirigido a la página de inicio de sesión de CouchDB:

Inicio de sesión en CouchDB

Proporcione su nombre de usuario y contraseña de administrador y haga clic en el Iniciar sesión botón. Debería ver el panel de CouchDB en la siguiente pantalla:

Tablero de CouchDB

Trabajar con la base de datos CouchDB

CouchDB también le permite crear y eliminar bases de datos usando el comando curl.

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

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

Debería ver el siguiente resultado:

{"ok":true}

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

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

Deberías obtener el siguiente resultado:

{"ok":true}

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

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

Deberías obtener el siguiente resultado:

{"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 puede actualizar el panel de CouchDB para ver las bases de datos en su navegador web.

Crear una base de datos en CouchDB

Si desea eliminar la base de datos testdb, ejecute el siguiente comando:

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

Deberías obtener el siguiente resultado:

{"ok":true}

Conclusión

¡Felicidades! ha instalado con éxito Apache CouchDB en CentOS 8. Ahora tiene un servidor CouchDB funcional y está listo para manejar sus datos de manera eficiente y flexible. Para obtener más información, puede visitar la documentación oficial de Apache CouchDB. Ya sea que esté interesado en desarrollar aplicaciones a gran escala o en comprender más a fondo qué es Apache CouchDB, este recurso es un excelente punto de partida.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *