Tutorials  /  Linux Basics

Apache CouchDB auf Ubuntu 20.04 installieren und verwalten | Anleitung

Ccentron Redaktion · Mai 2025 ·10 Min. Lesezeit ·Linux Basics, Tutorial

Überblick

Apache CouchDB ist ein Open-Source-NoSQL-Datenbanksystem, das Informationen im JSON-Dokumentenformat speichert. Die Verwaltung der Daten erfolgt über JavaScript MapReduce-Syntax und eine HTTP-API als Hauptabfragemethoden.

Entwickelt in Erlang, bietet CouchDB Funktionen für Echtzeitskalierbarkeit und Replikation und ist ideal für verteilte Datenbanksysteme, die eine Synchronisation über Netzwerke mit geringer Bandbreite benötigen. Diese Eigenschaften machen CouchDB zu einer ausgezeichneten Wahl für den Aufbau stabiler Anwendungen in Bereichen wie Banking, Telekommunikation, E-Commerce und Instant Messaging.

In dieser Anleitung erfahren Sie, wie Sie den CouchDB-Datenbankserver auf Ubuntu 20.04 installieren und in Betrieb nehmen.

VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Voraussetzungen

Stellen Sie vor Beginn sicher, dass Sie Folgendes besitzen:

  • Ein Ubuntu 20.04-Server.
  • Ein Benutzerkonto mit sudo-Rechten, ohne Root-Zugriff.

Schritt 1: Installation benötigter Pakete und Herunterladen des CouchDB-Pakets

Da das Apache CouchDB-Paket nicht in den Standard-Ubuntu-Repositories enthalten ist, müssen Sie ein externes Repository hinzufügen, indem Sie die folgenden Schritte ausführen.

Verbindung zum Server herstellen

Stellen Sie per SSH eine Verbindung zu Ihrem Server her, indem Sie ein Benutzerkonto mit sudo-Rechten verwenden.

Aktualisieren der Paketlisten

Aktualisieren Sie die Paketdatenbank, um sicherzustellen, dass alle Repositories auf dem neuesten Stand sind:

Konsole
$ sudo apt update

Installation notwendiger Abhängigkeiten

Installieren Sie curl, apt-transport-https und gnupg mit folgendem Befehl:

Konsole
$ sudo apt install -y curl apt-transport-https gnupg

Abrufen des CouchDB GPG-Schlüssels

Laden Sie den CouchDB GPG-Schlüssel herunter, damit der apt-Paketmanager die Echtheit des externen Repositories überprüfen kann:

Konsole
$ curl https://couchdb.apache.org/repo/keys.asc | gpg --dearmor | sudo tee /usr/share/keyrings/couchdb-archive-keyring.gpg >/dev/null 2>&1 source /etc/os-release

Freischalten des CouchDB-Repositories

Fügen Sie das CouchDB-Repository zu Ihrer Liste verfügbarer Paketquellen hinzu:

Konsole
$ echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ focal main" | sudo tee /etc/apt/sources.list.d/couchdb.list >/dev/null

Schritt 2: Repository aktualisieren und CouchDB installieren

Aktualisieren der Paketliste

Aktualisieren Sie Ihre Paketquellen, um das neu hinzugefügte CouchDB-Repository zu erkennen:

Konsole
$ sudo apt update

Installation des CouchDB-Pakets

Installieren Sie CouchDB, indem Sie den folgenden Befehl ausführen:

Konsole
$ sudo apt install -y couchdb

Drücken Sie die Taste Tab und anschließend Enter, um mit der Installation fortzufahren.

Auswahl des CouchDB-Installationsmodus

Wählen Sie im nächsten Schritt die Option standalone aus. Danach drücken Sie Tab und Enter, um fortzufahren.

Allgemeiner Typ der CouchDB-Konfiguration:

  • standalone
  • clustered
  • none

Konfiguration der Schnittstellen-Bindung

Belassen Sie die voreingestellte Bind-Adresse bei 127.0.0.1. Drücken Sie dann Tab und Enter, um weiterzumachen.

CouchDB-Schnittstellen-Bindungsadresse:

  • 127.0.0.1

Festlegen eines Administratorpassworts

Geben Sie ein Passwort Ihrer Wahl für das CouchDB-admin-Konto ein und drücken Sie Tab und anschließend Enter.

Passwort für den CouchDB-"admin"-Benutzer:

  • EXAMPLE_PASSWORD

Bestätigung des Administratorpassworts

Wiederholen Sie Ihr gewähltes Administratorpasswort und drücken Sie erneut Tab und Enter, um fortzufahren.

Wiederholung des Passworts für den CouchDB-"admin"-Benutzer:

  • EXAMPLE_PASSWORD

Die Installation von CouchDB ist nun abgeschlossen. Im nächsten Schritt lernen Sie, wie Sie den CouchDB-Dienst verwalten können.

Schritt 3: Verwaltung des CouchDB-Dienstes

CouchDB starten

Verwenden Sie den folgenden Befehl, um den CouchDB-Dienst zu starten:

Konsole
$ sudo systemctl start couchdb

CouchDB stoppen

Um den CouchDB-Dienst zu beenden, führen Sie folgenden Befehl aus:

Konsole
$ sudo systemctl stop couchdb

CouchDB beim Systemstart aktivieren

Aktivieren Sie den CouchDB-Dienst, damit dieser automatisch beim Hochfahren des Systems gestartet wird:

Konsole
$ sudo systemctl enable couchdb

CouchDB neu starten

Verwenden Sie folgenden Befehl, um den CouchDB-Dienst neu zu starten:

Konsole
$ sudo systemctl restart couchdb

Schritt 4: Erstellen und Verwalten einer CouchDB-Datenbank

Sie können Datenbankabfragen auf Ihrem CouchDB-Server auf zwei Hauptwegen durchführen:

  • Die CouchDB HTTP API: CouchDB stellt eine JSON REST API bereit, über die Sie mit der Datenbank via HTTP-Anfragen kommunizieren können.
  • Die CouchDB Fauxton-Oberfläche: Eine webbasierte Verwaltungssoftware, mit der Sie Ihre CouchDB-Datenbanken bequem über den Browser verwalten.

4.1. Verwendung der CouchDB HTTP API

Sie können die CouchDB API mit verschiedenen HTTP-Clients ansprechen. Dieses Beispiel nutzt das Kommandozeilenprogramm curl unter Linux, um grundlegende Datenbankoperationen durchzuführen.

Serverinformationen abrufen

Führen Sie den folgenden Befehl aus, um Basisinformationen über Ihre CouchDB-Installation abzurufen. Ersetzen Sie EXAMPLE_PASSWORD durch Ihr tatsächliches Admin-Passwort:

Konsole
$ curl -X GET http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984

Beispielausgabe:

JSON
{
  "couchdb":"Welcome",
  "version":"3.2.1",
  "git_sha":"244d428af",
  "uuid":"5e48b8f6a943805d36e7cf0534041d22",
  "features":[
     "access-ready",
     "partitioned",
     "pluggable-storage-engines",
     "reshard",
     "scheduler"
  ],
  "vendor":{
     "name":"The Apache Software Foundation"
  }
}

Eine neue Datenbank erstellen

Um eine neue Datenbank namens demo zu erstellen, verwenden Sie diesen Befehl:

Konsole
$ curl -X PUT http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo

Beispielausgabe:

JSON
{"ok":true}

Alle Datenbanken auflisten

Um alle bestehenden Datenbanken auf Ihrem CouchDB-Server anzuzeigen, führen Sie folgenden Befehl aus:

Konsole
$ curl -X GET http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/_all_dbs

Erwartete Ausgabe:

Code
["_replicator","_users","demo"]

4.2. Einfügen von Dokumenten in die Demo-Datenbank

Nun fügen Sie drei Dokumente in die Datenbank demo ein. Jedes Dokument wird im JSON-Format definiert und über eine eindeutige ID in der URL angesprochen (../demo/"1", ../demo/"2" und ../demo/"3").

Erstellen des ersten Dokuments

Führen Sie folgenden Befehl aus, um ein Dokument mit der ID "1" anzulegen:

Konsole
$ curl -H 'Content-Type: application/json' -X PUT http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo/"1" -d '{"product_name":"LED BULB" , "retail_price" : 23.55}'

Erstellen des zweiten Dokuments

Erstellen Sie ein weiteres Dokument mit der ID "2" durch folgenden Befehl:

Konsole
$ curl -H 'Content-Type: application/json' -X PUT http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo/"2" -d '{"product_name":"WIRELESS MOUSE" , "retail_price" : 45.20}'

Erstellen des dritten Dokuments

Fügen Sie nun ein drittes Dokument mit der ID "3" hinzu:

Konsole
$ curl -H 'Content-Type: application/json' -X PUT http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo/"3" -d '{"product_name":"4G ROUTER" , "retail_price" : 89.50}'

Erwartete Antwort nach erfolgreichem Einfügen:

JSON
{"ok":true,"id":"1","rev":"1-b626670af2e7ee1ae13ffba7ffe83819"}
{"ok":true,"id":"2","rev":"1-d995adf7c62c3f1931f817f7a3f2685c"}
{"ok":true,"id":"3","rev":"1-1ebf435bdc37cf3c5dd32aebdd377d46"}

Alle Dokumente anzeigen

Um alle in der demo-Datenbank gespeicherten Dokumente anzuzeigen, verwenden Sie folgenden Befehl:

Konsole
$ curl -X GET http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo/_all_docs?include_docs=true

Beispielausgabe:

JSON
{
  "total_rows":3,
  "offset":0,
  "rows":[
     {
        "id":"1",
        "key":"1",
        "value":{
           "rev":"1-b626670af2e7ee1ae13ffba7ffe83819"
        },
        "doc":{
           "_id":"1",
           "_rev":"1-b626670af2e7ee1ae13ffba7ffe83819",
           "product_name":"LED BULB",
           "retail_price":23.55
        }
     },
     {
        "id":"2",
        "key":"2",
        "value":{
           "rev":"1-d995adf7c62c3f1931f817f7a3f2685c"
        },
        "doc":{
           "_id":"2",
           "_rev":"1-d995adf7c62c3f1931f817f7a3f2685c",
           "product_name":"WIRELESS MOUSE",
           "retail_price":45.2
        }
     },
     {
        "id":"3",
        "key":"3",
        "value":{
           "rev":"1-1ebf435bdc37cf3c5dd32aebdd377d46"
        },
        "doc":{
           "_id":"3",
           "_rev":"1-1ebf435bdc37cf3c5dd32aebdd377d46",
           "product_name":"4G ROUTER",
           "retail_price":89.5
        }
     }
  ]
}

Ein bestimmtes Dokument abrufen

Um den Inhalt eines spezifischen Dokuments anhand seiner ID, zum Beispiel ID "1", abzurufen, verwenden Sie folgenden Befehl:

Konsole
$ curl -X GET http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo/1

Beispielausgabe:

JSON
{"_id":"1","_rev":"1-b626670af2e7ee1ae13ffba7ffe83819","product_name":"LED BULB","retail_price":23.55}

4.3. Dokumente in CouchDB aktualisieren und löschen

Ein Dokument aktualisieren

Um ein bestehendes Dokument zu aktualisieren, geben Sie die eindeutige Dokumenten-ID in der URL an (/demo/1/) und fügen Sie die aktuelle _rev-ID in den JSON-Body ein. Verwenden Sie dazu folgenden Befehl, um das Dokument "1" zu aktualisieren:

Konsole
$ curl -H 'Content-Type: application/json' -X PUT http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo/1/ -d '{"product_name":"15 WATTS LED BULB" , "retail_price" : 40.89, "_rev":"1-b626670af2e7ee1ae13ffba7ffe83819"}'

Nach der Aktualisierung erzeugt CouchDB eine neue Revisions-ID:

JSON
{"ok":true,"id":"1","rev":"2-387ee2644327cda7a202ed3ad1a9cad0"}

Aktualisiertes Dokument überprüfen

Holen Sie sich das aktualisierte Dokument erneut, um die vorgenommenen Änderungen zu überprüfen:

Konsole
$ curl -X GET http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo/1

Aktualisierte Produktdetails:

JSON
{"_id":"1","_rev":"2-387ee2644327cda7a202ed3ad1a9cad0","product_name":"15 WATTS LED BULB","retail_price":40.89}

Hinweis: CouchDB unterstützt keine Teilaktualisierungen von Dokumenten. Jede Änderung erzeugt eine neue Version des Dokuments. Neue Felder können daher nur durch erneutes Übermitteln des gesamten modifizierten Inhalts hinzugefügt werden.

Ein Dokument löschen

Um ein Dokument zu löschen, müssen Sie sowohl die Dokumenten-ID als auch die zugehörige Revisions-ID in der URL angeben.

Revisions-ID abrufen

Ermitteln Sie die Revisions-ID des Dokuments mit der ID "3" mit folgendem Befehl:

Konsole
$ curl -X GET http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo/3

Beispielausgabe:

JSON
{"_id":"3","_rev":"1-1ebf435bdc37cf3c5dd32aebdd377d46","product_name":"4G ROUTER","retail_price":89.5}
Dokument löschen

Verwenden Sie folgenden Befehl, um das Dokument mit der ID "3" und der ermittelten Revisions-ID zu löschen:

Konsole
$ curl -X DELETE http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo/3?rev=1-1ebf435bdc37cf3c5dd32aebdd377d46

Erfolgreiche Löschbestätigung:

JSON
{"ok":true,"id":"3","rev":"2-37f9841ca9055574b880fdbf0278b170"}
Löschung überprüfen

Versuchen Sie, das gelöschte Dokument abzurufen, um sicherzustellen, dass es entfernt wurde:

Konsole
$ curl -X GET http://admin:EXAMPLE_PASSWORD@127.0.0.1:5984/demo/3

Erwarteter Fehlerausgabe:

JSON
{"error":"not_found","reason":"deleted"}

4.4. Verwaltung von CouchDB über die Fauxton-Oberfläche

Um Ihren CouchDB-Server über die webbasierte Fauxton-Oberfläche zu verwalten, sind einige Konfigurationsänderungen erforderlich. Befolgen Sie dazu die folgenden Schritte.

Bearbeiten der CouchDB-Konfigurationsdatei

Öffnen Sie die Datei /opt/couchdb/etc/local.ini mit einem Texteditor:

Konsole
$ sudo nano /opt/couchdb/etc/local.ini

Suchen Sie die folgende Zeile in der Datei:

Code
... [chttpd]
;port = 5984
;bind_address = 127.0.0.1
...

Entfernen Sie das führende Semikolon (;), um die Einstellung bind_address zu aktivieren, und ändern Sie den Wert von 127.0.0.1 auf 0.0.0.0. Dadurch lauscht CouchDB auf allen Netzwerkinterfaces:

Code
... [chttpd]
;port = 5984
bind_address = 0.0.0.0
...

Neustarten des CouchDB-Dienstes

Starten Sie CouchDB neu, um die aktualisierten Konfigurationseinstellungen zu übernehmen:

Konsole
$ sudo systemctl restart couchdb

Zugriff auf die Fauxton-Weboberfläche

Öffnen Sie einen Webbrowser und rufen Sie folgende URL auf. Ersetzen Sie dabei 192.0.2.1 durch die öffentliche IP-Adresse Ihres Servers:

Code
http://192.0.2.1:5984/_utils/

Die Anmeldeseite von Fauxton sollte erscheinen.

In Fauxton anmelden

Geben Sie Ihren Benutzernamen (admin) sowie Ihr Passwort (zum Beispiel EXAMPLE_PASSWORD) ein. Klicken Sie anschließend auf Log In, um sich anzumelden. Danach werden Sie zum Dashboard von Fauxton weitergeleitet.

Verwaltung von CouchDB mit Fauxton

Mit der Fauxton-Oberfläche können Sie grundlegende Verwaltungsaufgaben durchführen, wie das Erstellen, Abrufen, Aktualisieren und Löschen von Datenbanken und Dokumenten.

Fazit

Diese Anleitung zeigte Ihnen Schritt für Schritt, wie Sie Apache CouchDB auf einem Ubuntu 20.04-Server installieren und einrichten. Weitere Informationen zu den Funktionen und Möglichkeiten von CouchDB finden Sie auf der offiziellen Website der Apache CouchDB.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren