Cách cài đặt cơ sở dữ liệu Apache CouchDB NoSQL trên CentOS 8

theanh

Administrator
Nhân viên
Apache CouchDB là hệ thống cơ sở dữ liệu NoSQL hướng tài liệu mã nguồn mở, miễn phí được viết bằng Erlang. So với các cơ sở dữ liệu quan hệ khác, Apache CouchDB không lưu trữ dữ liệu và mối quan hệ trong các bảng. Apache CouchDB sử dụng JSON để lưu trữ dữ liệu giúp dữ liệu có khả năng mở rộng và dễ mô hình hóa hơn. Apache CouchDB cũng hỗ trợ API HTTP restful cho phép bạn tạo, chỉnh sửa và xóa tài liệu cơ sở dữ liệu.

Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt cơ sở dữ liệu Apache CouchDB NoSQL trên CentOS 8.

Điều kiện tiên quyết​

  • Máy chủ chạy CentOS 8.
  • Mật khẩu gốc được thiết lập trên máy chủ của bạn.

Cài đặt Apache CouchDB​

Theo mặc định, Apache CouchDB không khả dụng trong kho lưu trữ mặc định của CentOS 8. Vì vậy, bạn sẽ cần tạo kho lưu trữ Apache CouchDB trong hệ thống của mình.

Kho lưu trữ CouchDB phụ thuộc vào kho lưu trữ EPEL, vì vậy bạn sẽ cần cài đặt kho lưu trữ EPEL trong hệ thống của mình. Bạn có thể cài đặt nó bằng lệnh sau:
Mã:
dnf install epel-release -y
Tiếp theo, tạo kho lưu trữ Apache CouchDB bằng lệnh bên dưới:
Mã:
nano /etc/yum.repos.d/apache-couchdb.repo
Thêm các dòng sau:
Mã:
[bintray--apache-couchdb-rpm]name=bintray--apache-couchdb-rpmbaseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/gpgcheck=0repo_gpgcheck=0enabled=1
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, cài đặt Apache CouchDB bằng lệnh sau:
Mã:
dnf install couchdb -y
Sau khi quá trình cài đặt hoàn tất thành công, bạn có thể tiến hành bước tiếp theo.

Cấu hình CouchDB​

Bạn có thể cấu hình CouchDB ở chế độ độc lập hoặc ở chế độ cụm. Trong hướng dẫn này, chúng ta sẽ cấu hình máy chủ CouchDB ở chế độ đơn. Theo mặc định, CouchDB lắng nghe trên máy chủ cục bộ và không có tài khoản quản trị nào được tạo trong quá trình cài đặt. Vì vậy, bạn sẽ cần tạo một tài khoản quản trị cho CouchDB. Bạn có thể tạo nó bằng cách chỉnh sửa tệp local.ini:
Mã:
nano /opt/couchdb/etc/local.ini
Đặt bind-address thành 0.0.0.0 để cho phép truy cập từ các địa chỉ IP bên ngoài và cũng đặt mật khẩu quản trị viên bên trong phần [admin] như được hiển thị bên dưới:
Mã:
[chttpd]port = 5984bind_address = 0.0.0.0[admins]admin = password
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động dịch vụ CouchDB và cho phép nó khởi động khi khởi động:
Mã:
systemctl start couchdb
systemctl enable couchdb
Bây giờ bạn có thể xác minh trạng thái của dịch vụ CouchDB bằng lệnh sau:
Mã:
systemctl status couchdb
Bạn sẽ nhận được đầu ra sau:
Mã:
? couchdb.service - Apache CouchDB Đã tải: đã tải (/usr/lib/systemd/system/couchdb.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) từ Sat 2020-04-11 07:40:47 EDT; 35 giây trước PID chính: 11992 (beam.smp) Nhiệm vụ: 43 (giới hạn: 26213) Bộ nhớ: 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_sup11/04 07:40:47 centos8 systemd[1]: Đã khởi động Apache CouchDB.
Bạn cũng có thể kiểm tra cổng lắng nghe CouchDB bằng lệnh sau:
Mã:
netstat -pnltu | grep 5984
Bạn sẽ thấy kết quả sau:
Mã:
tcp 0 0 0.0.0.0:5984 0.0.0.0:* LISTEN 11992/beam.smp

Cấu hình SELinux và Tường lửa​

Theo mặc định, SELinux được bật trong hệ thống của bạn. Vì vậy, bạn nên tắt SELinux trong hệ thống của mình.

Bạn có thể tắt SELinux bằng cách chỉnh sửa tệp /etc/selinux/config:
Mã:
nano /etc/selinux/config
Tìm dòng sau:
Mã:
SELINUX=enforcing
Và thay thế bằng dòng sau:
Mã:
SELINUX=permissive
Lưu và đóng tệp. Sau đó, khởi động lại hệ thống của bạn để áp dụng các thay đổi:

Tiếp theo, bạn sẽ cần cho phép cổng 5984 thông qua firewalld. Bạn có thể cho phép bằng lệnh sau:
Mã:
firewall-cmd --zone=public --permanent --add-port=5984/tcp
firewall-cmd --reload
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Truy cập Giao diện người dùng web CouchDB​

Lúc này, CouchDB đã được cài đặt và định cấu hình. Đã đến lúc xác nhận CouchDB có hoạt động hay không.

Bạn có thể sử dụng lệnh curl để kiểm tra CouchDB:
Mã:
curl http://your-server-ip:5984/
Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả sau:
Mã:
{"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"}}
Bạn cũng có thể truy cập Giao diện người dùng web CouchDB bằng URL http://your-server-ip:5984/_utils/. Bạn sẽ được chuyển hướng đến trang đăng nhập CouchDB:



Cung cấp tên người dùng, mật khẩu quản trị viên và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển CouchDB trong màn hình sau:


Làm việc với Cơ sở dữ liệu CouchDB​

CouchDB cũng cho phép bạn tạo và xóa cơ sở dữ liệu bằng lệnh curl.

Để tạo cơ sở dữ liệu có tên testdb trong CouchDB, hãy chạy lệnh sau:
Mã:
curl -u admin:password -X PUT http://your-server-ip:5984/testdb
Bạn sẽ thấy đầu ra sau:
Mã:
{"ok":true}
Để tạo cơ sở dữ liệu có tên userdb trong CouchDB, hãy chạy lệnh sau:
Mã:
curl -u admin:password -X PUT http://your-server-ip:5984/userdb
Bạn sẽ nhận được đầu ra sau:
Mã:
{"ok":true}
Bạn cũng có thể xác minh cơ sở dữ liệu bằng lệnh curl như hiển thị bên dưới:
Mã:
curl -u admin:password -X GET http://your-server-ip:5984/testdb
Bạn sẽ nhận được kết quả sau:
Mã:
{"db_name":"testdb","purge_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","update_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSG pHqIoiwAtOgYRA","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"}
Bạn cũng có thể làm mới bảng điều khiển CouchDB để xem cơ sở dữ liệu trên trình duyệt web của bạn.



Nếu bạn muốn xóa cơ sở dữ liệu testdb, hãy chạy lệnh sau:
Mã:
curl -u admin:password -X DELETE http://your-server-ip:5984/testdb
Bạn sẽ nhận được kết quả sau:
Mã:
{"ok":true}

Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công Apache CouchDB trên CentOS 8. Để biết thêm thông tin, bạn có thể truy cập Tài liệuCouchDB của Apache.
 
Back
Bên trên