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:
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:
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.
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.