Apache CouchDB adalah sistem basis data NoSQL berorientasi dokumen sumber terbuka gratis yang ditulis dalam Erlang. Dibandingkan dengan database relasional lainnya, tidak menyimpan data dan hubungan dalam tabel. Ini menggunakan JSON untuk menyimpan data yang membuatnya lebih skalabel dan mudah untuk memodelkan data. Ini juga mendukung HTTP API yang memungkinkan Anda membuat, mengedit, dan menghapus dokumen database.
Dalam tutorial ini, kami akan menjelaskan cara menginstal database Apache CouchDB NoSQL di CentOS 8.
Prasyarat
- Server yang menjalankan CentOS 8.
- Kata sandi root disiapkan di server Anda.
Instal Apache CouchDB
Secara default, Apache CouchDB tidak tersedia di repositori default CentOS 8. Jadi, Anda perlu membuat repo Apache CouchDB di sistem Anda.
Repositori CouchDB bergantung pada repositori EPEL, jadi Anda perlu menginstal repo EPEL di sistem Anda. Anda dapat menginstalnya dengan perintah berikut:
dnf install epel-release -y
Selanjutnya, buat repo Apache CouchDB menggunakan perintah di bawah ini:
nano /etc/yum.repos.d/apache-couchdb.repo
Tambahkan baris berikut:
[bintray--apache-couchdb-rpm] name=bintray--apache-couchdb-rpm baseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/ gpgcheck=0 repo_gpgcheck=0 enabled=1
Simpan dan tutup file setelah Anda selesai. Kemudian, instal Apache CouchDB menggunakan perintah berikut:
dnf install couchdb -y
Setelah instalasi berhasil diselesaikan, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi CouchDB
Anda dapat mengonfigurasi CouchDB sebagai mode mandiri atau dalam mode berkerumun. Dalam tutorial ini, kita akan mengkonfigurasi server CouchDB dalam mode tunggal. Secara default, CouchDB mendengarkan di localhost dan tidak ada akun admin yang dibuat selama instalasi. Jadi, Anda perlu membuat akun admin untuk CouchDB. Anda dapat membuatnya dengan mengedit file local.ini:
nano /opt/couchdb/etc/local.ini
Atur bind-address ke 0.0.0.0 untuk mengizinkan akses dari alamat IP eksternal dan juga atur kata sandi admin di dalam bagian [admin] seperti yang ditunjukkan di bawah ini:
[chttpd] port = 5984 bind_address = 0.0.0.0 [admins] admin = password
Simpan dan tutup file setelah Anda selesai. Kemudian, mulai layanan CouchDB dan aktifkan untuk memulai saat boot:
systemctl start couchdb
systemctl enable couchdb
Anda sekarang dapat memverifikasi status layanan CouchDB menggunakan perintah berikut:
systemctl status couchdb
Anda akan mendapatkan output berikut:
? couchdb.service - Apache CouchDB Loaded: loaded (/usr/lib/systemd/system/couchdb.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2020-04-11 07:40:47 EDT; 35s ago Main PID: 11992 (beam.smp) Tasks: 43 (limit: 26213) Memory: 36.4M CGroup: /system.slice/couchdb.service ??11992 /opt/couchdb/bin/../erts-9.3.3.14/bin/beam.smp -K true -A 16 -Bd -- -root /opt/couchdb/bin/.. -progname couchdb -- -home /o> ??12004 /opt/couchdb/bin/../erts-9.3.3.14/bin/epmd -daemon ??12023 erl_child_setup 1024 ??12045 sh -s disksup ??12047 /opt/couchdb/bin/../lib/os_mon-2.4.4/priv/bin/memsup ??12048 /opt/couchdb/bin/../lib/os_mon-2.4.4/priv/bin/cpu_sup Apr 11 07:40:47 centos8 systemd[1]: Started Apache CouchDB.
Anda juga dapat memeriksa port mendengarkan CouchDB dengan perintah berikut:
netstat -pnltu | grep 5984
Anda akan melihat output berikut:
tcp 0 0 0.0.0.0:5984 0.0.0.0:* LISTEN 11992/beam.smp
Konfigurasi SELinux dan Firewall
Secara default, SELinux diaktifkan di sistem Anda. Jadi disarankan untuk menonaktifkan SELinux di sistem Anda.
Anda dapat menonaktifkan SELinux dengan mengedit file /etc/selinux/config:
nano /etc/selinux/config
Temukan baris berikut:
SELINUX=enforcing
Dan, ganti dengan baris berikut:
SELINUX=permissive
Simpan dan tutup file. Kemudian, mulai ulang sistem Anda untuk menerapkan perubahan:
Selanjutnya, Anda harus mengizinkan port 5984 melalui firewalld. Anda dapat mengizinkannya dengan perintah berikut:
firewall-cmd --zone=public --permanent --add-port=5984/tcp
firewall-cmd --reload
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Mengakses UI Web CouchDB
Pada titik ini, CouchDB diinstal dan dikonfigurasi. Saatnya mengonfirmasi bahwa CouchDB berfungsi atau tidak.
Anda dapat menggunakan perintah curl untuk memeriksa CouchDB:
curl http://your-server-ip:5984/
Jika semuanya baik-baik saja, Anda akan mendapatkan output berikut:
{"couchdb":"Welcome","version":"3.0.0","git_sha":"03a77db6c","uuid":"d0406ea8f0b1a3f18020ec90e627ae35","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}
Anda juga dapat mengakses UI web CouchDB menggunakan URL http://your-server-ip:5984/_utils/. Anda akan diarahkan ke halaman login CouchDB:
Berikan nama pengguna, kata sandi admin Anda, dan klik Masuk tombol. Anda akan melihat dasbor CouchDB di layar berikut:
Bekerja dengan Database CouchDB
CouchDB juga memungkinkan Anda untuk membuat dan menghapus database menggunakan perintah curl.
Untuk membuat database bernama testdb di CouchDB, jalankan perintah berikut:
curl -u admin:password -X PUT http://your-server-ip:5984/testdb
Anda akan melihat output berikut:
{"ok":true}
Untuk membuat database bernama userdb di CouchDB, jalankan perintah berikut:
curl -u admin:password -X PUT http://your-server-ip:5984/userdb
Anda akan mendapatkan output berikut:
{"ok":true}
Anda juga dapat memverifikasi database menggunakan perintah curl seperti yang ditunjukkan di bawah ini:
curl -u admin:password -X GET http://your-server-ip:5984/testdb
Anda akan mendapatkan output berikut:
{"db_name":"testdb","purge_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","update_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","sizes":{"file":16700,"external":0,"active":0},"props":{},"doc_del_count":0,"doc_count":0,"disk_format_version":8,"compact_running":false,"cluster":{"q":2,"n":1,"w":1,"r":1},"instance_start_time":"0"}
Anda juga dapat menyegarkan dasbor CouchDB untuk melihat database di browser web Anda.
Jika Anda ingin menghapus database testdb, jalankan perintah berikut:
curl -u admin:password -X DELETE http://your-server-ip:5984/testdb
Anda akan mendapatkan output berikut:
{"ok":true}
Kesimpulan
Selamat! Anda telah berhasil menginstal Apache CouchDB di CentOS 8. Untuk informasi lebih lanjut, Anda dapat mengunjungi Dokumentasi Apache CouchDB.