Apache CouchDB è un sistema di database NoSQL gratuito e open source orientato ai documenti scritto in Erlang. Rispetto ad altri database relazionali, non memorizza dati e relazioni nelle tabelle. Utilizza JSON per archiviare i dati che rendono più scalabile e facile modellare i dati. Supporta anche una riposante API HTTP che ti consente di creare, modificare ed eliminare documenti di database.
In questo tutorial spiegheremo come installare il database NoSQL di Apache CouchDB su CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8.
- È stata impostata una password di root sul tuo server.
Installa Apache CouchDB
Per impostazione predefinita, Apache CouchDB non è disponibile nel repository predefinito di CentOS 8. Quindi dovrai creare un repository Apache CouchDB nel tuo sistema.
Il repository CouchDB dipende dal repository EPEL, quindi dovrai installare il repository EPEL nel tuo sistema. Puoi installarlo con il seguente comando:
dnf install epel-release -y
Quindi, crea il repository Apache CouchDB usando il comando seguente:
nano /etc/yum.repos.d/apache-couchdb.repo
Aggiungi le seguenti righe:
[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
Salva e chiudi il file quando hai finito. Quindi, installa Apache CouchDB usando il seguente comando:
dnf install couchdb -y
Una volta completata con successo l'installazione, puoi procedere al passaggio successivo.
Configura CouchDB
Puoi configurare CouchDB come modalità standalone o in modalità cluster. In questo tutorial, configureremo il server CouchDB in modalità singola. Per impostazione predefinita, CouchDB è in ascolto su localhost e durante l'installazione non viene creato alcun account amministratore. Quindi dovrai creare un account amministratore per CouchDB. Puoi crearlo modificando il file local.ini:
nano /opt/couchdb/etc/local.ini
Imposta l'indirizzo di collegamento su 0.0.0.0 per consentire l'accesso da indirizzi IP esterni e imposta anche la password amministratore all'interno della sezione [admin] come mostrato di seguito:
[chttpd] port = 5984 bind_address = 0.0.0.0 [admins] admin = password
Salva e chiudi il file quando hai finito. Quindi, avvia il servizio CouchDB e abilitalo per l'avvio all'avvio:
systemctl start couchdb
systemctl enable couchdb
Ora puoi verificare lo stato del servizio CouchDB utilizzando il comando seguente:
systemctl status couchdb
Dovresti ottenere il seguente output:
? 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.
Puoi anche controllare la porta di ascolto di CouchDB con il seguente comando:
netstat -pnltu | grep 5984
Dovresti vedere il seguente output:
tcp 0 0 0.0.0.0:5984 0.0.0.0:* LISTEN 11992/beam.smp
Configura SELinux e Firewall
Per impostazione predefinita, SELinux è abilitato nel tuo sistema. Quindi si consiglia di disabilitare SELinux nel proprio sistema.
Puoi disabilitare SELinux modificando il file /etc/selinux/config:
nano /etc/selinux/config
Trova la seguente riga:
SELINUX=enforcing
E sostituiscilo con la seguente riga:
SELINUX=permissive
Salva e chiudi il file. Quindi, riavvia il sistema per applicare le modifiche:
Successivamente, dovrai consentire la porta 5984 tramite firewalld. Puoi consentirlo con il seguente comando:
firewall-cmd --zone=public --permanent --add-port=5984/tcp
firewall-cmd --reload
Una volta terminato, puoi procedere al passaggio successivo.
Accedi all'interfaccia utente Web di CouchDB
A questo punto il CouchDB è installato e configurato. È ora di confermare che CouchDB funzioni o meno.
Puoi usare il comando curl per controllare CouchDB:
curl http://your-server-ip:5984/
Se tutto va bene, dovresti ottenere il seguente output:
{"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"}}
Puoi anche accedere all'interfaccia utente web di CouchDB utilizzando l'URL http://your-server-ip:5984/_utils/. Verrai reindirizzato alla pagina di accesso di CouchDB:
Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere la dashboard di CouchDB nella schermata seguente:
Lavorare con il database CouchDB
CouchDB consente inoltre di creare ed eliminare database utilizzando il comando curl.
Per creare un database denominato testdb in CouchDB, eseguire il comando seguente:
curl -u admin:password -X PUT http://your-server-ip:5984/testdb
Dovresti vedere il seguente output:
{"ok":true}
Per creare un database denominato userdb in CouchDB, eseguire il comando seguente:
curl -u admin:password -X PUT http://your-server-ip:5984/userdb
Dovresti ottenere il seguente output:
{"ok":true}
Puoi anche verificare il database usando il comando curl come mostrato di seguito:
curl -u admin:password -X GET http://your-server-ip:5984/testdb
Dovresti ottenere il seguente output:
{"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"}
Puoi anche aggiornare la dashboard di CouchDB per visualizzare i database sul tuo browser web.
Se vuoi eliminare il database testdb, esegui il comando seguente:
curl -u admin:password -X DELETE http://your-server-ip:5984/testdb
Dovresti ottenere il seguente output:
{"ok":true}
Conclusione
Congratulazioni! hai installato correttamente Apache CouchDB su CentOS 8. Per ulteriori informazioni, puoi visitare la documentazione di Apache CouchDB.