Apache CouchDB auf CentOS 7 installieren und konfigurieren
Apache CouchDB ist ein quelloffener NoSQL-Datenbankserver, der kostenlos nutzbar ist. Die Daten werden in Datenbanken als JSON-Dokumente gespeichert. Zudem stellt CouchDB eine REST-konforme HTTP-Schnittstelle bereit, mit der sich Dokumente einfach erstellen, ändern, abrufen und löschen lassen.
Schritt-für-Schritt-Anleitung zur Einrichtung von Apache CouchDB auf CentOS 7
Diese Anleitung zeigt dir, wie du Apache CouchDB auf einem Server mit CentOS 7 installierst und einrichtest.
Voraussetzungen
- Eine CentOS-7-Instanz bereitstellen.
- Mit dem bereitgestellten Server verbinden.
- Das System auf den neuesten Stand bringen.
Einrichten des CouchDB-Software-Repositorys
1. EPEL-Repository installieren
Installiere zunächst das EPEL-Repository, das für CouchDB nötig ist:
$ sudo yum install epel-release
2. CouchDB-Repository-Datei erstellen
Erstelle eine neue Repository-Datei für CouchDB mit folgendem Befehl:
$ sudo nano /etc/yum.repos.d/apache-couchdb.repo
Füge folgenden Inhalt in die Datei ein:
[Apache-Couchdb]
name=couchdb
baseurl=https://apache.jfrog.io/artifactory/couchdb-rpm/el$releasever/$basearch/
gpgkey=https://couchdb.apache.org/repo/keys.asc https://couchdb.apache.org/repo/rpm-package-key.asc
gpgcheck=1
repo_gpgcheck=1
enabled=1
CouchDB installieren
Installiere CouchDB mit folgendem Befehl, nachdem das Repository eingerichtet ist:
$ sudo yum install couchdb
CouchDB-Dienst aktivieren und starten
1. CouchDB beim Systemstart aktivieren
Damit CouchDB automatisch beim Start des Systems ausgeführt wird, verwende diesen Befehl:
$ sudo systemctl enable couchdb
2. CouchDB-Dienst starten
Starte CouchDB mit folgendem Befehl:
$ sudo systemctl start couchdb
CouchDB-Konfiguration auf CentOS 7 anpassen
Alle CouchDB-Daten und Konfigurationsdateien befinden sich im Verzeichnis /opt/couchdb
. Die zentrale Konfigurationsdatei ist local.ini
und liegt im Unterverzeichnis /opt/couchdb/etc/
. Im ersten Schritt bindest du CouchDB an eine Netzwerkschnittstelle und legst anschließend ein Administratorkonto an.
1. CouchDB an Netzwerkadresse binden
Öffne die Konfigurationsdatei local.ini
mit folgendem Befehl:
$ sudo nano /opt/couchdb/local.ini
Suche die Zeile mit bind_address =
. Standardmäßig ist sie auf 127.0.0.1
gesetzt. Ändere sie auf 0.0.0.0
, um CouchDB über alle Netzwerkschnittstellen zugänglich zu machen – oder auf deine öffentliche IP-Adresse, wenn du nur globalen Zugriff erlauben möchtest.
[chttpd]
;port = 5984
bind_address = 127.0.0.1
2. Administrativen Benutzer anlegen
Blättere bis zum Abschnitt [admins]
oder suche danach. Dort kannst du einen neuen Eintrag im Format benutzername = passwort
ergänzen. Es wird empfohlen, „admin“ durch einen sicheren Benutzernamen zu ersetzen.
[admins]
admin = YOUR-PASSWORD
3. Einzelknoten-Modus aktivieren
Füge unter dem Abschnitt [couchdb]
die folgende Zeile hinzu, um den Einzelknotenmodus zu aktivieren. Damit erstellt CouchDB beim Neustart automatisch die erforderlichen Systemdatenbanken.
[couchdb]
single_node=true
Speichere die Datei anschließend und schließe sie.
4. Systemdatenbanken manuell anlegen (optional)
Alternativ kannst du die folgenden Befehle verwenden, um die Systemdatenbanken _users
, _replicator
und _global_changes
manuell zu erstellen:
$ curl -u Username:Password -X PUT http://127.0.0.1:5984/_users
$ curl -u Username:Password -X PUT http://127.0.0.1:5984/_replicator
$ curl -u Username:Password -X PUT http://127.0.0.1:5984/_global_changes
5. Konfigurationsänderungen übernehmen
Starte den CouchDB-Dienst neu, damit die vorgenommenen Änderungen wirksam werden:
$ sudo systemctl restart couchdb
Firewall für CouchDB-Zugriff konfigurieren
1. HTTP-Verkehr freigeben
Erlaube HTTP-Datenverkehr auf dem Server mit diesem Befehl:
$ sudo firewall-cmd --permanent --zone=public --add-service=http
2. HTTPS-Verkehr freigeben (optional)
Wenn dein Server ein SSL-Zertifikat nutzt, kannst du auch HTTPS freischalten:
$ sudo firewall-cmd --permanent --zone=public --add-service=https
3. Port 5984 öffnen
Aktiviere den TCP-Port 5984, der von CouchDB verwendet wird:
$ sudo firewall-cmd --permanent --zone=public --add-port=5984/tcp
4. Firewall-Regeln neu laden
Damit die aktualisierten Firewall-Einstellungen übernommen werden, starte den Firewall-Dienst neu:
$ sudo systemctl reload firewalld
Installation von CouchDB überprüfen
Um sicherzustellen, dass CouchDB korrekt installiert wurde, führe folgenden curl
-Befehl im Terminal aus:
$ curl 127.0.0.1:5984
Die Ausgabe sollte in etwa so aussehen:
{"couchdb":"Welcome","version":"3.2.1","git_sha":"244d428af","uuid":"99b896bf19b5b076970e12574b9b9ff8","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}
Fazit
Die Installation und Konfiguration von Apache CouchDB auf einem CentOS-7-Server ist nun abgeschlossen. Weitere Informationen zur Nutzung findest du in der offiziellen CouchDB-Dokumentation.