Sonntag, 28. März 2010

CouchDB 0.10.1 unter Ubuntu 8.04 LTS aus dem Quellcode installieren

Die freien Tage vor Ostern werde ich u.a. dafür nutzen, mich ein wenig in NoSQL bzw. NoSQL-Datenbanken einzuarbeiten.

Als ersten Schritt habe ich mir vorgenommen, das Buch CouchDB: The Definitive Guide durch zu arbeiten.

Dazu benötige ich zunächst eine möglichst aktuelle Version der CouchDB.

Nachfolgend die Schritte, um die aktuelle Version 0.10.1 auf einem Ubuntu 8.0.4 LTS aus den Sourcen in das Verzeichnis /opt/couchdb-0.10.1 zu installieren. (Zusätzliche Software wird gemäß Filesystem Hierarchy Standard in /opt installiert.)

Schritt 1: Dependencies für CouchDB installieren


$ sudo apt-get install -y automake autoconf libtool help2man
$ sudo apt-get install -y build-essential erlang libicu-dev libmozjs-dev libcurl4-openssl-dev


Schritt 2: Aktuelle curl-Version installieren

CouchDB 0.10.1 erwartet curl ab Version 7.15.5. Installiert ist leider nur 7.15.4. Eine aktuellere Version (7.20) wird daher nach /opt/curl-7.20 installiert.

$ sudo mkdir /opt/curl-7.20
$ sudo ln -s /opt/curl-7.20 /opt/curl

$ cd /tmp
$ wget http://curl.haxx.se/download/curl-7.20.0.tar.bz2
$ tar -xjvf curl-7.20.0.tar.bz2
$ cd curl-7.20.0/

$ export LANG=C

$ ./configure --prefix=/opt/curl-7.20
$ make
$ make test
$ sudo make install

$ /opt/curl/bin/curl --version
curl 7.20.0 (i686-pc-linux-gnu) libcurl/7.20.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1
Protocols: dict file ftp ftps http https imap imaps ldap pop3 pop3s rtsp smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM SSL libz


Schritt 3: Aktuelle Erlang-Version installieren

CouchDB 0.10.1 erwartet Erlang ab Version 5.6.5 (R12B05). Installiert ist leider nur 5.5.5. Eine aktuellere Version (5.7.5, R13B04) wird daher nach /opt/erlang-R13B04 installiert.

$ sudo mkdir /opt/erlang-R13B04
$ sudo ln -s /opt/erlang-R13B04/ /opt/erlang

$ cd /tmp
$ wget http://www.erlang.org/download/otp_src_R13B04.tar.gz
$ tar -xzvf otp_src_R13B04.tar.gz
$ cd otp_src_R13B04
$ less INSTALL.md
$ export LANG=C
$ ./configure --prefix=/opt/erlang-R13B04
$ make
$ sudo make install

$ /opt/erlang/bin/erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.7.5


Schritt 4: Aktuelle CouchDB-Version installieren

Nachdem alle Abhängigkeiten erfüllt sind, kann endlich CouchDB installiert werden. Der Sourcecode kann über diverse Spiegelserver bezogen werden.

$ sudo mkdir /opt/couchdb-0.10.1
$ sudo ln -s /opt/couchdb-0.10.1/ /opt/couchdb

$ cd /tmp
$ wget http://..../apache-couchdb-0.10.1.tar.gz

$ tar -xzvf apache-couchdb-0.10.1.tar.gz
$ cd apache-couchdb-0.10.1

$ export LANG=C
$ export PATH=/opt/curl/bin:$PATH
$ export LDFLAGS=' -L/opt/curl/lib'
$ export ERL=/opt/erlang-R13B04/bin/erl
$ export ERLC=/opt/erlang-R13B04/bin/erlc

$ ./configure --prefix=/opt/couchdb-0.10.1
$ make
$ sudo make install


Schritt 5: CouchDB User anlegen

Aus Sicherheitsgründen sollt CouchDB nicht als root, sondern über einen geeigneten eigenen Account gestartet werden.

$ sudo adduser --system --home /opt/couchdb/var/ --no-create-home \
--shell /bin/bash --group --gecos "CouchDB Administrator" couchdb

$ sudo chown -R couchdb:couchdb /opt/couchdb/var/



Schritt 6: CouchDB starten und ausprobieren


$ sudo /opt/couchdb/etc/init.d/couchdb start

$ /opt/curl/bin/curl -X GET http://127.0.0.1:5984/
{"couchdb":"Welcome","version":"0.10.1"}


Die graphische Administrationsoberfläche Futon steht jetzt via http://127.0.0.1:5984/_utils/ zur Verfügung.


Siehe auch:

Keine Kommentare: