Kami memulai seri baru di CouchDB. Ini artikel pertama dalam seri CouchDB.
CouchDB adalah proyek Apache.
Sama seperti namanya, ini adalah database. CouchDB adalah database NoSQL. Basis data NoSQL tidak memiliki skema, tabel, dll, yang biasanya Anda lihat di basis data tradisional seperti Oracle atau MySQL. Data di CouchDB disimpan sebagai dokumen JSON, yang dapat Anda akses dari browser web menggunakan HTTP.
Artikel ini menjelaskan cara menginstal CouchDB pada sistem berbasis RHEL. Misalnya, CentOS, Red Hat, Oracle Enterprise Linux, dll.
Ada dua metode untuk menginstal CouchDB. Anda dapat menginstalnya dari repositori EPEL, atau menginstal dari kode sumber CouchDB.
Metode 1:Instal dari EPEL
Pertama, aktifkan repositori EPEL seperti yang kami jelaskan sebelumnya.
Verifikasi bahwa couchdb tersedia untuk yum install.
# 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
Instal couchdb. Bergantung pada sistem Anda, ini mungkin menginstal banyak paket dependen. Di sistem saya, ia menginstal total 36 paket.
# yum install couchdb
Ubah file local.ini dan tambahkan baris untuk bind_address dan berikan alamat ip sistem tempat couchdb diinstal.
# vi /etc/couchdb/local.ini [httpd] ;port = 5984 ;bind_address = 127.0.0.1 bind_address = 192.168.101.38
Mulai layanan couchdb
# service couchdb start Starting couchdb: [ OK ] # service couchdb status couchdb (pid 29915) is running...
Verifikasi bahwa couchdb berfungsi dengan membuka URL:http://{your-ip-address}:5984 , itu akan menampilkan halaman web yang memiliki pesan berikut.
{“couchdb”:”Selamat datang” ,”versi”:”1.0.3″}
Buka:http://{your-ip-address}:5984/_utils/ dari mana Anda dapat membuat dan mengelola database couchdb.
Metode 2:Instal dari Kode Sumber CouchDB
Jika Anda ingin menginstalnya sendiri dari kode sumber, pertama-tama Anda harus memenuhi semua dependensi.
Instal paket standar berikut dari repositori CentOS.
# yum info gcc libtool xulrunner-devel libicu-devel openssl-devel
Instal Erlang
Unduh versi terbaru Erland dari sini. Atau, Anda dapat menggunakan wget seperti yang ditunjukkan di bawah ini untuk langsung mengunduhnya.
cd /usr/src wget http://www.erlang.org/download/otp_src_R15B01.tar.gz tar xvfz otp_src_R15B01.tar.gz
Kami akan menginstal couchdb dan semua dependensinya di bawah direktori /opt/couchdb. Jadi, saat menginstal erlang, berikan awalan sebagai /opt/couchdb/erlang seperti gambar di bawah ini.
cd otp_src_R15B01 ./configure --prefix=/opt/couchdb/erlang --without-termcap --without-javac --enable-smp-support --disable-hipe make make install
Instal Curl
Unduh Curl versi terbaru dari sini. Atau, Anda dapat menggunakan wget seperti yang ditunjukkan di bawah ini untuk langsung mengunduhnya.
cd /usr/src wget http://curl.haxx.se/download/curl-7.26.0.tar.gz tar xvfz curl-7.25.0.tar.gz
Sama seperti Erlang, kita juga akan menginstal Curl di bawah direktori /opt/couchdb. Jadi, saat menginstal curl, berikan awalan sebagai /opt/couchdb/curl seperti yang ditunjukkan di bawah ini.
cd curl-7.25.0 ./configure --prefix=/opt/couchdb/curl make make install
Mesin JS SpiderMonkey
Unduh versi terbaru SpiderMonkey JS dari sini. Atau, Anda dapat menggunakan wget seperti yang ditunjukkan di bawah ini untuk langsung mengunduhnya.
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
Harap dicatat bahwa Anda harus cd ke subdirektori “js/src” di bawah js-1.8.5 untuk melakukan ./configure dan membuat seperti yang ditunjukkan di bawah ini untuk menginstal spidermonkey js engine.
cd js-1.8.5/js/src ./configure make make install
Anda akan melihat libmozjs185.so.1.0.0 dan libmozjs185-1.0.a terinstal di bawah /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
Catatan:Jika pustaka spidermonkey JS tidak diinstal, Anda akan mendapatkan pesan kesalahan berikut saat mencoba melakukan ./configure yang disebutkan di langkah berikutnya.
checking for JS_NewObject in -lmozjs185... no configure: error: Could not find the js library. Is the Mozilla SpiderMonkey library installed?
Instal CouchDB
Unduh versi terbaru Couchdb dari sini. Atau, Anda dapat menggunakan wget seperti yang ditunjukkan di bawah ini untuk langsung mengunduhnya.
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
Saat menginstal couchdb, Anda harus mengatur variabel lingkungan ERL, ERLC, CURL_CONFIG seperti yang ditunjukkan di bawah ini. Ini diperlukan selama ./config dari couchdb.
Sama seperti prereqs, kami akan menginstal couchdb di bawah direktori /opt/couchdb. Jadi, berikan awalan sebagai /opt/couchdb/couchdb seperti yang ditunjukkan di bawah ini.
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
Catatan:Anda akan menggunakan –enable-js-trunk hanya jika Anda telah menginstal versi terbaru (apa pun yang lebih baru dari js185-1.0.0) dari mesin SpiderMonkey JS. Saya sarankan Anda menggunakan opsi –enable-js-trunk.
Jika Anda tidak menggunakan versi terbaru mesin spidermonekey JS, Anda mungkin ingin menggunakan flag –with-js-include dan –with-js-lib dan arahkan ke lokasi yang sesuai seperti yang ditunjukkan di bawah ini.
./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/
Catatan:Jika Anda telah menginstal versi terbaru spidermonkey js, dan jika Anda tidak menggunakan –enable-js-trunk, Anda akan mendapatkan pesan kesalahan berikut selama “membuat” 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
Menyiapkan Layanan Startup CouchDB
Buat pengguna couchdb yang diperlukan oleh program awal couchdb.
# adduser couchdb
Ubah kepemilikan direktori var, tempat couchdb akan menulis log dan beberapa informasi lainnya.
# chown -R couchdb /opt/couchdb/couchdb/var/
Buat tautan di bawah /etc/init.d untuk layanan couchdb
# ln -s /opt/couchdb/couchdb/etc/rc.d/couchdb /etc/init.d/couchdb
Akhirnya mulai layanan couchdb.
# service couchdb start Starting database server couchdb
Verifikasi bahwa couchdb berfungsi dengan membuka URL:http://{your-ip-address}:5984 , itu akan menampilkan halaman web yang memiliki pesan berikut.
{“couchdb”:”Selamat datang” ,”versi”:”1.0.3″}
Buka:http://{your-ip-address}:5984/_utils/ dari mana Anda dapat membuat dan mengelola database coucbdb.
Artikel berikutnya dalam seri ini akan menjelaskan cara membuat database CouchDB dan melakukan beberapa manipulasi data dasar.