Apache CouchDB ist ein kostenloses, dokumentenorientiertes Open-Source-NoSQL-Datenbanksystem, das in Erlang geschrieben wurde. Im Vergleich zu anderen relationalen Datenbanken werden Daten und Beziehungen nicht in Tabellen gespeichert. Es verwendet JSON zum Speichern von Daten, was es skalierbarer und einfacher macht, die Daten zu modellieren. Es unterstützt auch eine Restful-HTTP-API, mit der Sie Datenbankdokumente erstellen, bearbeiten und löschen können.
In diesem Tutorial erklären wir, wie Sie die Apache CouchDB NoSQL-Datenbank auf CentOS 8 installieren.
Voraussetzungen
- Ein Server mit CentOS 8.
- Ein Root-Passwort wird auf Ihrem Server eingerichtet.
Installieren Sie Apache CouchDB
Standardmäßig ist Apache CouchDB nicht im Standard-Repository von CentOS 8 verfügbar. Sie müssen also ein Apache CouchDB-Repository in Ihrem System erstellen.
Das CouchDB-Repository ist vom EPEL-Repository abhängig, daher müssen Sie das EPEL-Repository in Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:
dnf install epel-release -y
Erstellen Sie als Nächstes das Apache CouchDB-Repository mit dem folgenden Befehl:
nano /etc/yum.repos.d/apache-couchdb.repo
Fügen Sie die folgenden Zeilen hinzu:
[bintray--apache-couchdb-rpm]name=bintray--apache-couchdb-rpmbaseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/gpgcheck=0repo_gpgcheck=0enabled =1
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Installieren Sie dann die Apache CouchDB mit dem folgenden Befehl:
dnf install couchdb -y
Sobald die Installation erfolgreich abgeschlossen wurde, können Sie mit dem nächsten Schritt fortfahren.
CouchDB konfigurieren
Sie können CouchDB im Standalone-Modus oder im Cluster-Modus konfigurieren. In diesem Tutorial konfigurieren wir den CouchDB-Server im Single-Mode. Standardmäßig lauscht CouchDB auf dem Localhost und es wird während der Installation kein Administratorkonto erstellt. Sie müssen also ein Administratorkonto für CouchDB erstellen. Sie können es erstellen, indem Sie die Datei local.ini bearbeiten:
nano /opt/couchdb/etc/local.ini
Stellen Sie die Bindungsadresse auf 0.0.0.0 ein, um den Zugriff von externen IP-Adressen zuzulassen, und legen Sie auch das Administratorkennwort im Abschnitt [admin] wie unten gezeigt fest:
[chttpd]port =5984bind_address =0.0.0.0 [admins]admin =Passwort
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den CouchDB-Dienst und lassen Sie ihn beim Booten starten:
systemctl start couchdb
systemctl enable couchdb
Sie können jetzt den Status des CouchDB-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status couchdb
Sie sollten die folgende Ausgabe erhalten:
Sie können den CouchDB Listening Port auch mit dem folgenden Befehl überprüfen:
netstat -pnltu | grep 5984
Sie sollten die folgende Ausgabe sehen:
tcp 0 0 0.0.0.0:5984 0.0.0.0:* LISTEN 11992/beam.smp
Konfigurieren Sie SELinux und die Firewall
Standardmäßig ist SELinux in Ihrem System aktiviert. Es wird daher empfohlen, SELinux in Ihrem System zu deaktivieren.
Sie können SELinux deaktivieren, indem Sie die Datei /etc/selinux/config bearbeiten:
nano /etc/selinux/config
Suchen Sie die folgende Zeile:
SELINUX=erzwingen
Und ersetzen Sie es durch die folgende Zeile:
SELINUX=permissiv
Speichern und schließen Sie die Datei. Starten Sie dann Ihr System neu, um die Änderungen zu übernehmen:
Als nächstes müssen Sie Port 5984 durch Firewalld zulassen. Sie können es mit dem folgenden Befehl zulassen:
firewall-cmd --zone=public --permanent --add-port=5984/tcp
firewall-cmd --reload
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Zugriff auf die CouchDB-Web-UI
An dieser Stelle wird die CouchDB installiert und konfiguriert. Es ist Zeit zu bestätigen, ob CouchDB funktioniert oder nicht.
Sie können den Curl-Befehl verwenden, um die CouchDB zu überprüfen:
curl http://ihr-server-ip:5984/
Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:
{"couchdb":"Willkommen","version":"3.0.0","git_sha":"03a77db6c","uuid":"d0406ea8f0b1a3f18020ec90e627ae35","features":["zugriffsbereit"," partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}
Sie können auch über die URL http://your-server-ip:5984/_utils/ auf die Web-UI von CouchDB zugreifen. Sie werden zur Anmeldeseite von CouchDB weitergeleitet:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmelden Taste. Sie sollten das CouchDB-Dashboard auf dem folgenden Bildschirm sehen:
Arbeiten mit der CouchDB-Datenbank
CouchDB ermöglicht es Ihnen auch, Datenbanken mit dem Curl-Befehl zu erstellen und zu löschen.
Um eine Datenbank namens testdb in CouchDB zu erstellen, führen Sie den folgenden Befehl aus:
curl -u admin:password -X PUT http://your-server-ip:5984/testdb
Sie sollten die folgende Ausgabe sehen:
{"ok":true}
Um eine Datenbank namens userdb in CouchDB zu erstellen, führen Sie den folgenden Befehl aus:
curl -u admin:password -X PUT http://your-server-ip:5984/userdb
Sie sollten die folgende Ausgabe erhalten:
{"ok":true}
Sie können die Datenbank auch mit dem Curl-Befehl wie unten gezeigt überprüfen:
curl -u admin:password -X GET http://your-server-ip:5984/testdb
Sie sollten die folgende Ausgabe erhalten:
{ "db_name":"testdb", "purge_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA", "update_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA", "Größen":{ "Datei":16700, "extern":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"}
Sie können auch das CouchDB-Dashboard aktualisieren, um die Datenbanken in Ihrem Webbrowser anzuzeigen.
Wenn Sie die Datenbank testdb löschen möchten, führen Sie den folgenden Befehl aus:
curl -u admin:password -X DELETE http://your-server-ip:5984/testdb
Sie sollten die folgende Ausgabe erhalten:
{"ok":true}
Schlussfolgerung
Herzliche Glückwünsche! Sie haben Apache CouchDB erfolgreich auf CentOS 8 installiert. Weitere Informationen finden Sie in der Apache CouchDB-Dokumentation.