Apache CouchDB je bezplatný databázový systém NoSQL s otevřeným zdrojovým kódem napsaný v jazyce Erlang. Oproti jiným relačním databázím neukládá data a vztahy do tabulek. K ukládání dat používá JSON, díky čemuž je škálovatelnější a snáze modelovat data. Podporuje také uklidňující HTTP API, které vám umožňuje vytvářet, upravovat a mazat databázové dokumenty.
V tomto tutoriálu vysvětlíme, jak nainstalovat databázi Apache CouchDB NoSQL na CentOS 8.
Předpoklady
- Server se systémem CentOS 8.
- Na vašem serveru je nastaveno heslo uživatele root.
Instalovat Apache CouchDB
Ve výchozím nastavení není Apache CouchDB k dispozici ve výchozím úložišti CentOS 8. Takže budete muset vytvořit Apache CouchDB repo ve vašem systému.
Úložiště CouchDB je závislé na úložišti EPEL, takže budete muset do systému nainstalovat úložiště EPEL. Můžete jej nainstalovat pomocí následujícího příkazu:
dnf install epel-release -y
Dále vytvořte repo Apache CouchDB pomocí níže uvedeného příkazu:
nano /etc/yum.repos.d/apache-couchdb.repo
Přidejte následující řádky:
[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
Po dokončení uložte a zavřete soubor. Poté nainstalujte Apache CouchDB pomocí následujícího příkazu:
dnf install couchdb -y
Po úspěšném dokončení instalace můžete přejít k dalšímu kroku.
Konfigurovat CouchDB
CouchDB můžete nakonfigurovat jako samostatný režim nebo v clusterovém režimu. V tomto tutoriálu nakonfigurujeme server CouchDB v jednom režimu. Ve výchozím nastavení CouchDB naslouchá na localhost a během instalace není vytvořen žádný účet správce. Budete si tedy muset vytvořit účet správce pro CouchDB. Můžete jej vytvořit úpravou souboru local.ini:
nano /opt/couchdb/etc/local.ini
Nastavte bind-address na 0.0.0.0, abyste povolili přístup z externích IP adres a také nastavte heslo správce v sekci [admin], jak je uvedeno níže:
[chttpd] port = 5984 bind_address = 0.0.0.0 [admins] admin = password
Po dokončení uložte a zavřete soubor. Poté spusťte službu CouchDB a povolte její spuštění při startu:
systemctl start couchdb
systemctl enable couchdb
Nyní můžete ověřit stav služby CouchDB pomocí následujícího příkazu:
systemctl status couchdb
Měli byste získat následující výstup:
? 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.
Port naslouchání CouchDB můžete také zkontrolovat pomocí následujícího příkazu:
netstat -pnltu | grep 5984
Měli byste vidět následující výstup:
tcp 0 0 0.0.0.0:5984 0.0.0.0:* LISTEN 11992/beam.smp
Konfigurovat SELinux a bránu firewall
Ve výchozím nastavení je SELinux ve vašem systému povolen. Proto se doporučuje zakázat SELinux ve vašem systému.
SELinux můžete deaktivovat úpravou souboru /etc/selinux/config:
nano /etc/selinux/config
Najděte následující řádek:
SELINUX=enforcing
A nahraďte jej následujícím řádkem:
SELINUX=permissive
Uložte a zavřete soubor. Poté restartujte systém, aby se změny projevily:
Dále budete muset povolit port 5984 přes firewall. Můžete to povolit pomocí následujícího příkazu:
firewall-cmd --zone=public --permanent --add-port=5984/tcp
firewall-cmd --reload
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup k webovému uživatelskému rozhraní CouchDB
V tomto okamžiku je CouchDB nainstalován a nakonfigurován. Je čas potvrdit, že CouchDB funguje nebo ne.
Ke kontrole CouchDB:
můžete použít příkaz curlcurl http://your-server-ip:5984/
Pokud je vše v pořádku, měli byste získat následující výstup:
{"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"}}
Můžete také přistupovat k webovému uživatelskému rozhraní CouchDB pomocí adresy URL http://ip-ip-vašeho-serveru:5984/_utils/. Budete přesměrováni na přihlašovací stránku CouchDB:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Na následující obrazovce byste měli vidět řídicí panel CouchDB:
Práce s databází CouchDB
CouchDB také umožňuje vytvářet a odstraňovat databáze pomocí příkazu curl.
Chcete-li vytvořit databázi s názvem testdb v CouchDB, spusťte následující příkaz:
curl -u admin:password -X PUT http://your-server-ip:5984/testdb
Měli byste vidět následující výstup:
{"ok":true}
Chcete-li vytvořit databázi s názvem userdb v CouchDB, spusťte následující příkaz:
curl -u admin:password -X PUT http://your-server-ip:5984/userdb
Měli byste získat následující výstup:
{"ok":true}
Databázi můžete také ověřit pomocí příkazu curl, jak je ukázáno níže:
curl -u admin:password -X GET http://your-server-ip:5984/testdb
Měli byste získat následující výstup:
{"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"}
Můžete také obnovit řídicí panel CouchDB a zobrazit databáze ve vašem webovém prohlížeči.
Pokud chcete odstranit databázi testdb, spusťte následující příkaz:
curl -u admin:password -X DELETE http://your-server-ip:5984/testdb
Měli byste získat následující výstup:
{"ok":true}
Závěr
Gratulujeme! úspěšně jste nainstalovali Apache CouchDB na CentOS 8. Další informace naleznete v dokumentaci Apache CouchDB.