Nous commençons une nouvelle série sur CouchDB. Ceci est le premier article de la série CouchDB.
CouchDB est un projet Apache.
Comme son nom l'indique, il s'agit d'une base de données. CouchDB est une base de données NoSQL. Les bases de données NoSQL n'ont pas de schéma, de tables, etc., que vous verrez généralement dans des bases de données traditionnelles comme Oracle ou MySQL. Les données dans CouchDB sont stockées sous forme de document JSON, auquel vous pouvez accéder à partir d'un navigateur Web via HTTP.
Cet article explique comment installer CouchDB sur des systèmes basés sur RHEL. Par exemple, CentOS, Red Hat, Oracle Enterprise Linux, etc.
Il existe deux méthodes pour installer CouchDB. Vous pouvez l'installer à partir du référentiel EPEL ou l'installer à partir du code source de CouchDB.
Méthode 1 :Installer à partir d'EPEL
Tout d'abord, activez le référentiel EPEL comme nous l'avons expliqué précédemment.
Vérifiez que le couchdb est disponible pour l'installation de yum.
# yum info couchdb Name : couchdb Arch : x86_64 Version : 1.0.3 Release : 2.el6 Size : 1.7 M Repo : epel Summary : A document database server, accessible via a RESTful JSON API
Installez couchdb. Selon votre système, cela peut installer de nombreux packages dépendants. Sur mon système, il a installé 36 packages au total.
# yum install couchdb
Modifiez le fichier local.ini et ajoutez une ligne pour bind_address et donnez l'adresse IP du système sur lequel couchdb est installé.
# vi /etc/couchdb/local.ini [httpd] ;port = 5984 ;bind_address = 127.0.0.1 bind_address = 192.168.101.38
Démarrer les services couchdb
# service couchdb start Starting couchdb: [ OK ] # service couchdb status couchdb (pid 29915) is running...
Vérifiez que le couchdb fonctionne en accédant à l'URL :http://{your-ip-address}:5984 , il devrait afficher une page Web contenant le message suivant.
{"couchdb":"Welcome" ,"version":"1.0.3″}
Accédez à :http://{your-ip-address}:5984/_utils/ à partir duquel vous pouvez créer et gérer la base de données couchdb.
Méthode 2 :Installer à partir du code source de CouchDB
Si vous souhaitez l'installer vous-même à partir du code source, vous devez d'abord satisfaire toutes les dépendances.
Installez les packages standard suivants à partir du référentiel CentOS.
# yum info gcc libtool xulrunner-devel libicu-devel openssl-devel
Installer Erlang
Téléchargez la dernière version d'Erland à partir d'ici. Ou, vous pouvez utiliser le wget comme indiqué ci-dessous pour le télécharger directement.
cd /usr/src wget http://www.erlang.org/download/otp_src_R15B01.tar.gz tar xvfz otp_src_R15B01.tar.gz
Nous allons installer couchdb et toutes ses dépendances sous le répertoire /opt/couchdb. Ainsi, lors de l'installation d'erlang, donnez le préfixe /opt/couchdb/erlang comme indiqué ci-dessous.
cd otp_src_R15B01 ./configure --prefix=/opt/couchdb/erlang --without-termcap --without-javac --enable-smp-support --disable-hipe make make install
Installer Curl
Téléchargez la dernière version de Curl à partir d'ici. Ou, vous pouvez utiliser le wget comme indiqué ci-dessous pour le télécharger directement.
cd /usr/src wget http://curl.haxx.se/download/curl-7.26.0.tar.gz tar xvfz curl-7.25.0.tar.gz
Tout comme Erlang, nous allons également installer Curl sous le répertoire /opt/couchdb. Ainsi, lors de l'installation de curl, donnez le préfixe /opt/couchdb/curl comme indiqué ci-dessous.
cd curl-7.25.0 ./configure --prefix=/opt/couchdb/curl make make install
Moteur JS SpiderMonkey
Téléchargez la dernière version de SpiderMonkey JS à partir d'ici. Ou, vous pouvez utiliser le wget comme indiqué ci-dessous pour le télécharger directement.
cd /usr/src wget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz tar xvfz js185-1.0.0.tar.gz
Veuillez noter que vous devez cd dans le sous-répertoire "js/src" sous js-1.8.5 pour faire le ./configure et faire comme indiqué ci-dessous pour installer le moteur spidermonkey js.
cd js-1.8.5/js/src ./configure make make install
Vous verrez les libmozjs185.so.1.0.0 et libmozjs185-1.0.a installés sous /usr/local/lib
# ls -ltr /usr/local/lib -rwxr-xr-x. 1 root root 3671764 May 30 09:39 libmozjs185.so.1.0.0 -rwxr-xr-x. 1 root root 5523616 May 30 09:39 libmozjs185-1.0.a lrwxrwxrwx. 1 root root 35 May 30 09:40 libmozjs185.so.1.0 -> /usr/local/lib/libmozjs185.so.1.0.0 lrwxrwxrwx. 1 root root 33 May 30 09:40 libmozjs185.so -> /usr/local/lib/libmozjs185.so.1.0
Remarque :Si la bibliothèque spidermonkey JS n'est pas installée, vous obtiendrez le message d'erreur suivant en essayant de faire le ./configure mentionné à l'étape suivante.
checking for JS_NewObject in -lmozjs185... no configure: error: Could not find the js library. Is the Mozilla SpiderMonkey library installed?
Installer CouchDB
Téléchargez la dernière version de Couchdb ici. Ou, vous pouvez utiliser le wget comme indiqué ci-dessous pour le télécharger directement.
cd /usr/src wget http://apache.mirrors.pair.com/couchdb/releases/1.2.0/apache-couchdb-1.2.0.tar.gz tar xvfz apache-couchdb-1.2.0.tar.gz
Lors de l'installation de couchdb, vous devez définir les variables d'environnement ERL, ERLC, CURL_CONFIG comme indiqué ci-dessous. Ceux-ci sont requis lors du ./config de couchdb.
Tout comme les prérequis, nous allons installer couchdb sous le répertoire /opt/couchdb. Alors, donnez le préfixe comme /opt/couchdb/couchdb comme indiqué ci-dessous.
cd apache-couchdb-1.2.0 export ERL=/opt/couchdb/erlang/bin/erl export ERLC=/opt/couchdb/erlang/bin/erlc export CURL_CONFIG=/opt/couchdb/curl/bin/curl-config export LDFLAGS=-L/opt/couchdb/curl/lib ./configure --prefix=/opt/couchdb/couchdb --with-erlang=/opt/couchdb/erlang/lib/erlang/usr/include/ --enable-js-trunk make make install
Remarque :Vous n'utiliserez l'option -enable-js-trunk que si vous avez installé la dernière version (plus récente que js185-1.0.0) du moteur SpiderMonkey JS. Je vous recommande d'utiliser l'option –enable-js-trunk.
Si vous n'utilisez pas la dernière version du moteur spidermonekey JS, vous pouvez utiliser les drapeaux -with-js-include et -with-js-lib et le pointer vers l'emplacement approprié, comme indiqué ci-dessous.
./configure --prefix=/opt/couchdb/couchdb --with-erlang=/opt/couchdb/erlang/lib/erlang/usr/include/ --with-js-include=/usr/include/xulrunner-2/ --with-js-lib=/usr/lib64/xulrunner-devel-2/lib/
Remarque :Si vous avez installé la dernière version de spidermonkey js et si vous n'utilisez pas -enable-js-trunk, vous obtiendrez le message d'erreur suivant lors du "make" de couchdb :
cc1: warnings being treated as errors In file included from couch_js/main.c:20: couch_js/sm170.c: In function req_status: couch_js/sm170.c:105: error: implicit declaration of function INT_FITS_IN_JSVAL couch_js/sm170.c: In function evalcx: couch_js/sm170.c:138: error: implicit declaration of function JS_GetStringChars couch_js/sm170.c:138: error: assignment makes pointer from integer without a cast couch_js/sm170.c: In function seal: couch_js/sm170.c:220: error: implicit declaration of function JS_SealObject couch_js/sm170.c: At top level: couch_js/sm170.c:236: error: initialization from incompatible pointer type
Configurer les services de démarrage de CouchDB
Créez un utilisateur couchdb requis par le programme de démarrage couchdb.
# adduser couchdb
Modifiez la propriété du répertoire var, où couchdb écrira les journaux et d'autres informations.
# chown -R couchdb /opt/couchdb/couchdb/var/
Créez un lien sous /etc/init.d pour le service couchdb
# ln -s /opt/couchdb/couchdb/etc/rc.d/couchdb /etc/init.d/couchdb
Démarrez enfin le service couchdb.
# service couchdb start Starting database server couchdb
Vérifiez que le couchdb fonctionne en accédant à l'URL :http://{your-ip-address}:5984 , il devrait afficher une page Web contenant le message suivant.
{"couchdb":"Welcome" ,"version":"1.0.3″}
Accédez à :http://{your-ip-address}:5984/_utils/ d'où vous pouvez créer et gérer la base de données coucbdb.
Le prochain article de cette série expliquera comment créer une base de données CouchDB et effectuer quelques manipulations de base des données.