CouchDB

CouchDB ist

Installation

pacman -S couchdb

Start / Stop des Servers

systemctl start|stop|restart couchdb

Beim booten des Servers automatisch starten:

systemctl enable couchdb

Zugriff von außen

Nach Installation ist couchdb lediglich auf dem installieren Rechner erreichbar. Anpassung von ´/etc/couchdb/local.ini´ für den ZUgriff von jeden Rechner aus:

# bind_address = 127.0.0.1
bind_address = 0.0.0.0

Test im Browser auf Port 5984.

Administration

Die Administrationssoftware Futon ist über den Browser auf Port 5984 und Verzeichnis /_utils erreichbar.

Sicherheit

In CouchDB ist nach frischer Installation jeder ein Administrator. Rechts Unten ist in Futon ein Fix It Link, welcher ein Admin-Account anlegt. Danach ist aber immer noch jede Datenbank für den Rest der Welt beschreibbar. Auch die User-Datenbank. Über den Menüpunkt Security in einer Datenbank, können User als Member (unter Names) eingetragen werden. Danach ist die Datenbank nur noch für authentifizierte User les- und schreibbar. Eine gute Zusammenfassung bietet auch: http://blog.lizconlan.com/sandbox/securing-couchdb.html.

Links

CouchDB und Java

CouchDB ist sehr einfach unter Java mit der LightCouch API und google-gson zu verwenden.
LightCouch Userguide.

Maven:

org.lightcouch lightcouch 0.1.6

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.3.1</version>
</dependency>

In Java:

CouchDbProperties properties;
CouchDbClient db;

properties = new CouchDbProperties()
  .setDbName("wetter")
  .setCreateDbIfNotExist(false)
  .setProtocol("http")
  .setHost("192.168.56.101")
  .setPort(5984)
  .setMaxConnections(100)
  .setConnectionTimeout(0);

db = new CouchDbClient(properties);

JsonObject j = new JsonObject();
j.addProperty("wmoid", 10382);
db.save(j);