Ricerca nel sito web

Come installare il database Apache CouchDB NoSQL su CentOS 8


Su questa pagina

  1. Prerequisiti
  2. Installa Apache CouchDB
  3. Configura CouchDB
  4. Configura SELinux e Firewall
  5. Accedi all'interfaccia utente Web di CouchDB
  6. Lavorare con il database CouchDB
  7. Conclusione

Apache CouchDB è un sistema di database NoSQL orientato ai documenti gratuito e open source 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 un'API HTTP riposante che consente di creare, modificare ed eliminare documenti di database.

In questo tutorial spiegheremo come installare il database Apache CouchDB NoSQL su CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8.
  • Una password di root è impostata sul tuo server.

Installa Apache CouchDB

Per impostazione predefinita, Apache CouchDB non è disponibile nel repository predefinito di CentOS 8. Quindi dovrai creare il 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

Successivamente, crea il repository Apache CouchDB utilizzando 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 utilizzando il seguente comando:

dnf install couchdb -y

Una volta che l'installazione è stata completata con successo, puoi procedere al passaggio successivo.

Configura CouchDB

Puoi configurare CouchDB in modalità autonoma o in cluster. In questo tutorial, configureremo il server CouchDB in modalità singola. Per impostazione predefinita, CouchDB è in ascolto sull'host locale 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 il bind-address su 0.0.0.0 per consentire l'accesso da indirizzi IP esterni e imposta anche la password dell'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 seguente comando:

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 sostituirlo 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, CouchDB è installato e configurato. È tempo di confermare che CouchDB funziona 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 sul pulsante Accedi. Dovresti vedere la dashboard di CouchDB nella seguente schermata:

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, esegui il seguente comando:

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, esegui il seguente comando:

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 desideri eliminare il database testdb, esegui il seguente comando:

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.