Na CouchDB začínáme novou sérii. Toto je první článek ze série CouchDB.
CouchDB je projekt Apache.
Jak název napovídá, jedná se o databázi. CouchDB je databáze NoSQL. Databáze NoSQL nemají žádné schéma, tabulky atd., které obvykle uvidíte v tradičních databázích, jako je Oracle nebo MySQL. Data v CouchDB jsou uložena jako dokument JSON, ke kterému máte přístup z webového prohlížeče pomocí HTTP.
Tento článek vysvětluje, jak nainstalovat CouchDB na systémy založené na RHEL. Například CentOS, Red Hat, Oracle Enterprise Linux atd.
Existují dva způsoby instalace CouchDB. Můžete jej nainstalovat z úložiště EPEL nebo nainstalovat ze zdrojového kódu CouchDB.
Metoda 1:Instalace z EPEL
Nejprve povolte úložiště EPEL, jak jsme vysvětlili dříve.
Ověřte, zda je couchdb k dispozici pro instalaci 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
Nainstalujte couchdb. V závislosti na vašem systému to může nainstalovat mnoho závislých balíčků. Do mého systému nainstaloval celkem 36 balíčků.
# yum install couchdb
Upravte soubor local.ini a přidejte řádek pro bind_address a přidělte ip-adrese systém, kde je nainstalován couchdb.
# vi /etc/couchdb/local.ini [httpd] ;port = 5984 ;bind_address = 127.0.0.1 bind_address = 192.168.101.38
Spusťte služby couchdb
# service couchdb start Starting couchdb: [ OK ] # service couchdb status couchdb (pid 29915) is running...
Ověřte, že couchdb funguje tak, že přejdete na adresu URL:http://{vaše-ip-adresa}:5984 , měla by zobrazit webovou stránku s následující zprávou.
{“couchdb”:”Vítejte” ”verze”:”1.0.3″}
Přejděte na:http://{your-ip-address}:5984/_utils/ odkud můžete vytvořit a spravovat databázi couchdb.
Metoda 2:Instalace ze zdrojového kódu CouchDB
Pokud si jej chcete nainstalovat sami ze zdrojového kódu, měli byste nejprve splnit všechny závislosti.
Nainstalujte následující standardní balíčky z úložiště CentOS.
# yum info gcc libtool xulrunner-devel libicu-devel openssl-devel
Nainstalujte Erlang
Stáhněte si nejnovější verzi Erland odtud. Nebo můžete použít wget, jak je ukázáno níže, k jeho přímému stažení.
cd /usr/src wget http://www.erlang.org/download/otp_src_R15B01.tar.gz tar xvfz otp_src_R15B01.tar.gz
Nainstalujeme couchdb a všechny jeho závislosti do adresáře /opt/couchdb. Takže při instalaci erlang zadejte předponu jako /opt/couchdb/erlang, jak je uvedeno níže.
cd otp_src_R15B01 ./configure --prefix=/opt/couchdb/erlang --without-termcap --without-javac --enable-smp-support --disable-hipe make make install
Nainstalovat Curl
Stáhněte si nejnovější verzi Curl odtud. Nebo můžete použít wget, jak je ukázáno níže, k jeho přímému stažení.
cd /usr/src wget http://curl.haxx.se/download/curl-7.26.0.tar.gz tar xvfz curl-7.25.0.tar.gz
Stejně jako Erlang nainstalujeme Curl také do adresáře /opt/couchdb. Takže při instalaci curl zadejte předponu jako /opt/couchdb/curl, jak je uvedeno níže.
cd curl-7.25.0 ./configure --prefix=/opt/couchdb/curl make make install
SpiderMonkey JS Engine
Stáhněte si nejnovější verzi SpiderMonkey JS odtud. Nebo můžete použít wget, jak je ukázáno níže, k jeho přímému stažení.
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
Vezměte prosím na vědomí, že pro instalaci spidermonkey js engine musíte provést cd do podadresáře „js/src“ pod js-1.8.5, abyste mohli provést ./configure a provést, jak je uvedeno níže.
cd js-1.8.5/js/src ./configure make make install
Uvidíte libmozjs185.so.1.0.0 a libmozjs185-1.0.a nainstalované pod /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
Poznámka:Pokud knihovna spidermonkey JS není nainstalována, zobrazí se při pokusu o provedení ./configure uvedené v dalším kroku následující chybová zpráva.
checking for JS_NewObject in -lmozjs185... no configure: error: Could not find the js library. Is the Mozilla SpiderMonkey library installed?
Nainstalujte CouchDB
Stáhněte si nejnovější verzi Couchdb odtud. Nebo můžete použít wget, jak je ukázáno níže, k jeho přímému stažení.
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
Při instalaci couchdb byste měli nastavit proměnné prostředí ERL, ERLC, CURL_CONFIG, jak je uvedeno níže. Ty jsou vyžadovány během ./config couchdb.
Stejně jako požadavky nainstalujeme couchdb do adresáře /opt/couchdb. Zadejte tedy předponu jako /opt/couchdb/couchdb, jak je uvedeno níže.
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
Poznámka:–enable-js-trunk použijete pouze v případě, že máte nainstalovanou nejnovější verzi (cokoli novější než js185-1.0.0) enginu SpiderMonkey JS. Doporučuji použít volbu –enable-js-trunk.
Pokud nepoužíváte nejnovější verzi spidermonekey JS enginu, možná budete chtít použít příznaky –with-js-include a –with-js-lib a nasměrovat je na příslušné místo, jak je uvedeno níže.
./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/
Poznámka:Pokud jste nainstalovali nejnovější verzi spidermonkey js a nepoužíváte –enable-js-trunk, zobrazí se během „make“ couchdb následující chybová zpráva:
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
Nastavení spouštěcích služeb CouchDB
Vytvořte uživatele couchdb, kterého vyžaduje spouštěcí program couchdb.
# adduser couchdb
Změňte vlastnictví adresáře var, kam bude couchdb zapisovat protokoly a některé další informace.
# chown -R couchdb /opt/couchdb/couchdb/var/
Vytvořte odkaz v /etc/init.d na službu couchdb
# ln -s /opt/couchdb/couchdb/etc/rc.d/couchdb /etc/init.d/couchdb
Nakonec spusťte službu couchdb.
# service couchdb start Starting database server couchdb
Ověřte, že couchdb funguje tak, že přejdete na adresu URL:http://{vaše-ip-adresa}:5984 , měla by zobrazit webovou stránku s následující zprávou.
{“couchdb”:”Vítejte” ”verze”:”1.0.3″}
Přejděte na:http://{your-ip-address}:5984/_utils/ odkud můžete vytvořit a spravovat databázi coucbdb.
Další článek této série vysvětlí, jak vytvořit databázi CouchDB a jak provést některé základní manipulace s daty.