Apache CouchDB là một cơ sở dữ liệu NoSQL mã nguồn mở và hướng tài liệu hỗ trợ nhiều định dạng và giao thức để lưu trữ dữ liệu. Nó được viết bằng Erlang và có thể chạy như một cơ sở dữ liệu một nút hiệu suất cao.
Apache CouchDB cho phép bạn sử dụng JSON để lưu trữ dữ liệu và nó cũng cung cấp giao diện người dùng web để quản lý hệ thống CouchDB và API HTTP cho phép bạn truy vấn dữ liệu dễ dàng.
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cài đặt Apache CouchDB trên máy chủ AlmaLinux 9. Bạn sẽ cài đặt Apache CouchDB trong một cụm một nút và thiết lập người dùng quản trị và tường lửa cho CouchDB. Ngoài ra, bạn sẽ học cách tạo cơ sở dữ liệu và tài liệu trên Apache CouchDB thông qua giao diện người dùng web và API HTTP với Curl.
Trước tiên, hãy chạy lệnh sau để cài đặt dnf-plugins-core vào máy chủ AlmaLinux của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22165%22%3E%3C/svg%3E
Thêm kho lưu trữ Apache CouchDB vào hệ thống của bạn bằng lệnh sau
Bây giờ, hãy thực hiện lệnh dnf bên dưới và kiểm tra các kho lưu trữ khả dụng trên hệ thống của bạn. Đảm bảo kho lưu trữ Apache CouchDB đã được thêm vào.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22213%22%3E%3C/svg%3E
Sau khi thêm kho lưu trữ, hãy cài đặt gói Apache CouchDB bằng lệnh dnf bên dưới.
Nhập y và nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22228%22%3E%3C/svg%3E
Ngoài ra, khi được hỏi về khóa GPG của Apache CouchDB, hãy nhập y để thêm khóa vào hệ thống của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22216%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy tiếp tục.
Mở cấu hình mặc định /opt/couchdb/etc/local.ini bằng trình soạn thảo nano lệnh.
Trong phần '[couchdb]', thêm dòng sau để thiết lập nút đơn Apache CouchDB.
Lưu và đóng tệp khi hoàn tất.
Tiếp theo, tạo cấu hình mới /opt/couchdb/etc/local.d/10-admins.ini bằng lệnh nano editor sau.
Thêm cấu hình bên dưới vào tệp và đảm bảo thay đổi tên người dùng và mật khẩu quản trị viên theo thông tin chi tiết của bạn. Mật khẩu dạng văn bản thuần túy này sẽ được mã hóa tự động khi chạy Apache CouchDB.
Lưu và đóng tệp khi hoàn tất.
Bây giờ hãy mở cấu hình mặc định /opt/couchdb/etc/default.ini bằng lệnh trình chỉnh sửa nano bên dưới.
Trong Phần '[chttpd]', hãy thay đổi 'bind_address' mặc định thành địa chỉ IP cục bộ của bạn. Điều này cho phép bạn truy cập từ máy tính cục bộ của mình.
Lưu và đóng tệp khi hoàn tất.
Sau đó, chạy lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ couchdb.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22702%22%20height=%22189%22%3E%3C/svg%3E
Cuối cùng, hãy xác minh dịch vụ couchdb bằng lệnh bên dưới để đảm bảo rằng dịch vụ đang chạy.
Nếu couchdb đang chạy, bạn sẽ nhận được đầu ra như 'active (running)'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22243%22%3E%3C/svg%3E
Thực hiện lệnh sau để mở các cổng 5984/tcp và 4369/tcp cho Apache CouchDB.
Tải lại firewalld để áp dụng thay đổi.
Sau đó, xác minh danh sách các cổng khả dụng trên firewalld bằng lệnh bên dưới. Đảm bảo các cổng 5984/tcp và 4369/tcp khả dụng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22282%22%3E%3C/svg%3E
Cuối cùng, chạy lệnh curl bên dưới để kiểm tra Apache CouchDB.
Hoặc, bạn có thể cài đặt 'jq' thông qua DNF và phân tích cú pháp đầu ra JSON để làm cho nó có thể đọc được.
Phân tích cú pháp đầu ra JSON bằng lệnh như cái này:
Nếu cài đặt CouchDB thành công, bạn sẽ nhận được thông báo sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22730%22%20height=%22444%22%3E%3C/svg%3E
Để truy cập Apache CouchDB, hãy truy cập địa chỉ IP máy chủ của bạn theo sau là cổng 5984 (tức là: http://192.168.5.50:5984/_utils#setup) bằng trình duyệt web yêu thích của bạn. Bạn sẽ nhận được trang đăng nhập của Apache CouchDB.
Nhập tên người dùng và mật khẩu quản trị của bạn, sau đó nhấp vào Đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22593%22%20height=%22393%22%3E%3C/svg%3E
Nếu bạn có tên người dùng và mật khẩu đúng, bạn sẽ nhận được bảng điều khiển quản trị Apache CouchDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22434%22%3E%3C/svg%3E
Đầu tiên, bạn sẽ tạo một cơ sở dữ liệu mới thông qua trang web Apache CouchDB giao diện:
Nhấp vào menu Cơ sở dữ liệu và nhấp vào nút Tạo cơ sở dữ liệu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22651%22%20height=%22252%22%3E%3C/svg%3E
Nhập tên cơ sở dữ liệu mới và nhấp vào Tạo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22348%22%20height=%22750%22%3E%3C/svg%3E
Bây giờ bạn đã tạo cơ sở dữ liệu trên Apache CouchDB, hãy nhấp vào tên cơ sở dữ liệu của bạn.
Để tạo tài liệu mới, hãy nhấp vào nút Tạo tài liệu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22251%22%3E%3C/svg%3E
Nhập Dữ liệu JSON, sau đó nhấp vào Tạo tài liệu để xác nhận.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22562%22%20height=%22358%22%3E%3C/svg%3E
Sau khi tài liệu được tạo, bạn sẽ nhận được kết quả 'Đang lưu tài liệu'.
Trong thông tin chi tiết về cơ sở dữ liệu của bạn, hãy nhấp vào tab Bảng và bạn sẽ thấy tài liệu JSON bạn đã tạo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22183%22%3E%3C/svg%3E
Nếu bạn cần sửa đổi tài liệu, hãy nhấp vào tên tài liệu, chỉnh sửa tài liệu của bạn, sau đó nhấp vào Lưu thay đổi. Ngoài ra, bạn có thể xóa tài liệu khỏi đó bằng nút xóa trên menu bên phải.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22237%22%3E%3C/svg%3E
Trước tiên, hãy chạy lệnh sau để xác thực với Apache CouchDB và liệt kê các cơ sở dữ liệu khả dụng qua curl. Hãy chắc chắn thay đổi tên người dùng và mật khẩu quản trị viên bằng thông tin chi tiết của bạn.
Nếu thành công, bạn sẽ thấy cơ sở dữ liệu fruits mà bạn đã tạo thông qua giao diện người dùng web có sẵn.
Bây giờ, hãy tạo cơ sở dữ liệu CouchDB mới bằng tùy chọn PUT trong một curl như sau.
Sau khi cơ sở dữ liệu được tạo, bạn sẽ nhận được đầu ra như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22177%22%3E%3C/svg%3E
Sau khi cơ sở dữ liệu được tạo, hãy kiểm tra thông tin chi tiết về người chơi trong cơ sở dữ liệu bằng lệnh bên dưới.
Đầu ra sau sẽ được hiển thị:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22527%22%3E%3C/svg%3E
Tiếp theo, để tạo một tài liệu mới và chèn dữ liệu vào CouchDB, hãy sử dụng lệnh curl sau.
Khi thành công, bạn sẽ nhận được kết quả '"ok": true'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E
Kiểm tra thông tin chi tiết về tài liệu của bạn bằng lệnh bên dưới. Bạn sẽ thấy tài liệu của mình có sẵn trên Apache CouchDB.
Bạn sẽ thấy dữ liệu bạn đã thêm, chẳng hạn như sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22198%22%3E%3C/svg%3E
Ngoài ra, bạn cũng đã học cách tạo cơ sở dữ liệu mới và chèn dữ liệu vào CouchDB thông qua giao diện người dùng web và API HTTP với Curl. Bây giờ, bạn có thể thêm nhiều nút hơn và thiết lập cụm Apache CouchDB để tối đa hóa hiệu suất của mình.
Apache CouchDB cho phép bạn sử dụng JSON để lưu trữ dữ liệu và nó cũng cung cấp giao diện người dùng web để quản lý hệ thống CouchDB và API HTTP cho phép bạn truy vấn dữ liệu dễ dàng.
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cài đặt Apache CouchDB trên máy chủ AlmaLinux 9. Bạn sẽ cài đặt Apache CouchDB trong một cụm một nút và thiết lập người dùng quản trị và tường lửa cho CouchDB. Ngoài ra, bạn sẽ học cách tạo cơ sở dữ liệu và tài liệu trên Apache CouchDB thông qua giao diện người dùng web và API HTTP với Curl.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn phải có những điều sau:- Máy chủ AlmaLinux 9.
- Người dùng không phải root có quyền quản trị viên.
- SELinux có chế độ cho phép.
Thiết lập kho lưu trữ Apache CouchDB
Apache CouchDB là cơ sở dữ liệu NoSQL đa nền tảng có thể cài đặt trên Linux, Windows, macOS và FreeBSD, cũng như công nghệ container như Docker và Kubernetes. Đối với các bản phân phối dựa trên RHEL, bạn sẽ cài đặt CouchDB từ kho lưu trữ chính thức thông qua DNF.Trước tiên, hãy chạy lệnh sau để cài đặt dnf-plugins-core vào máy chủ AlmaLinux của bạn.
Mã:
sudo dnf install dnf-plugins-core -y
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22165%22%3E%3C/svg%3E
Thêm kho lưu trữ Apache CouchDB vào hệ thống của bạn bằng lệnh sau
Mã:
sudo dnf config-manager --add-repo https://couchdb.apache.org/repo/couchdb.repo
Mã:
sudo dnf repolist
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22213%22%3E%3C/svg%3E
Sau khi thêm kho lưu trữ, hãy cài đặt gói Apache CouchDB bằng lệnh dnf bên dưới.
Mã:
sudo dnf install couchdb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22228%22%3E%3C/svg%3E
Ngoài ra, khi được hỏi về khóa GPG của Apache CouchDB, hãy nhập y để thêm khóa vào hệ thống của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22216%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy tiếp tục.
Cài đặt Apache CouchDB qua Kho lưu trữ
Sau khi cài đặt CouchDB qua DNF, bạn sẽ sửa đổi cấu hình CouchDB mặc định, thiết lập cụm single_node, cấu hình người dùng và mật khẩu quản trị viên, sau đó thiết lập địa chỉ HTTP với địa chỉ IP máy chủ cục bộ.Mở cấu hình mặc định /opt/couchdb/etc/local.ini bằng trình soạn thảo nano lệnh.
Mã:
sudo nano /opt/couchdb/etc/local.ini
Mã:
[couchdb]
single_node=true
Tiếp theo, tạo cấu hình mới /opt/couchdb/etc/local.d/10-admins.ini bằng lệnh nano editor sau.
Mã:
sudo nano /opt/couchdb/etc/local.d/10-admins.ini
Mã:
[admins]
admin = password
Bây giờ hãy mở cấu hình mặc định /opt/couchdb/etc/default.ini bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /opt/couchdb/etc/default.ini
Mã:
[chttpd]
bind_address = 192.168.5.50
Sau đó, chạy lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ couchdb.
Mã:
sudo systemctl start couchdb
sudo systemctl enable couchdb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22702%22%20height=%22189%22%3E%3C/svg%3E
Cuối cùng, hãy xác minh dịch vụ couchdb bằng lệnh bên dưới để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status couchdb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22243%22%3E%3C/svg%3E
Đang cấu hình Firewalld
Bây giờ CouchDB đang chạy, bạn sẽ thiết lập firewalld để mở các cổng 5984/tcp và 4369/tcp và cho phép truy cập vào cài đặt Apache CouchDB của bạn.Thực hiện lệnh sau để mở các cổng 5984/tcp và 4369/tcp cho Apache CouchDB.
Mã:
sudo firewall-cmd --permanent --add-port={5984/tcp,4369/tcp}
Mã:
sudo firewall-cmd --reload
Mã:
sudo firewall-cmd --list-all
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22282%22%3E%3C/svg%3E
Cuối cùng, chạy lệnh curl bên dưới để kiểm tra Apache CouchDB.
Mã:
curl http://192.168.5.50:5984/
Mã:
sudo dnf install -y
Mã:
curl http://192.168.5.50:5984/ | jq .
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22730%22%20height=%22444%22%3E%3C/svg%3E
Truy cập Quản trị Web Apache CouchDB
Tại thời điểm này, bạn đã cấu hình Apache CouchDB và tường lửa, bạn đã sẵn sàng để truy cập cài đặt CouchDB.Để truy cập Apache CouchDB, hãy truy cập địa chỉ IP máy chủ của bạn theo sau là cổng 5984 (tức là: http://192.168.5.50:5984/_utils#setup) bằng trình duyệt web yêu thích của bạn. Bạn sẽ nhận được trang đăng nhập của Apache CouchDB.
Nhập tên người dùng và mật khẩu quản trị của bạn, sau đó nhấp vào Đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22593%22%20height=%22393%22%3E%3C/svg%3E
Nếu bạn có tên người dùng và mật khẩu đúng, bạn sẽ nhận được bảng điều khiển quản trị Apache CouchDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22434%22%3E%3C/svg%3E
Quản lý cơ sở dữ liệu trong Apache CouchDB
Bây giờ bạn đã đăng nhập vào bảng điều khiển quản trị Apache CouchDB, bước tiếp theo là tìm hiểu cách tạo cơ sở dữ liệu và chèn dữ liệu vào CouchDB thông qua giao diện người dùng web và API HTTP với Curl.Quản lý hoạt động cơ bản thông qua giao diện người dùng web
Trước khi bắt đầu, hãy đảm bảo bạn đã đăng nhập vào bảng điều khiển quản trị Apache CouchDB.Đầu tiên, bạn sẽ tạo một cơ sở dữ liệu mới thông qua trang web Apache CouchDB giao diện:
Nhấp vào menu Cơ sở dữ liệu và nhấp vào nút Tạo cơ sở dữ liệu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22651%22%20height=%22252%22%3E%3C/svg%3E
Nhập tên cơ sở dữ liệu mới và nhấp vào Tạo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22348%22%20height=%22750%22%3E%3C/svg%3E
Bây giờ bạn đã tạo cơ sở dữ liệu trên Apache CouchDB, hãy nhấp vào tên cơ sở dữ liệu của bạn.
Để tạo tài liệu mới, hãy nhấp vào nút Tạo tài liệu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22251%22%3E%3C/svg%3E
Nhập Dữ liệu JSON, sau đó nhấp vào Tạo tài liệu để xác nhận.
Mã:
{
"item": "apple",
"prices": {
"Fresh Mart": 1.59,
"Price Max": 5.99,
"Apples Express": 0.79
}
}
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22562%22%20height=%22358%22%3E%3C/svg%3E
Sau khi tài liệu được tạo, bạn sẽ nhận được kết quả 'Đang lưu tài liệu'.
Trong thông tin chi tiết về cơ sở dữ liệu của bạn, hãy nhấp vào tab Bảng và bạn sẽ thấy tài liệu JSON bạn đã tạo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22183%22%3E%3C/svg%3E
Nếu bạn cần sửa đổi tài liệu, hãy nhấp vào tên tài liệu, chỉnh sửa tài liệu của bạn, sau đó nhấp vào Lưu thay đổi. Ngoài ra, bạn có thể xóa tài liệu khỏi đó bằng nút xóa trên menu bên phải.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22237%22%3E%3C/svg%3E
Các thao tác cơ bản với Curl trong cơ sở dữ liệu
Trong phần sau, bạn sẽ học cách tạo cơ sở dữ liệu và chèn dữ liệu vào Apache CouchDB qua API HTTP bằng Curl.Trước tiên, hãy chạy lệnh sau để xác thực với Apache CouchDB và liệt kê các cơ sở dữ liệu khả dụng qua curl. Hãy chắc chắn thay đổi tên người dùng và mật khẩu quản trị viên bằng thông tin chi tiết của bạn.
Mã:
curl -X GET http://admin:[emailprotected]:5984/_all_dbs | jq .
Bây giờ, hãy tạo cơ sở dữ liệu CouchDB mới bằng tùy chọn PUT trong một curl như sau.
Mã:
curl -X PUT http://admin:[emailprotected]:5984/players | jq .
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22177%22%3E%3C/svg%3E
Sau khi cơ sở dữ liệu được tạo, hãy kiểm tra thông tin chi tiết về người chơi trong cơ sở dữ liệu bằng lệnh bên dưới.
Mã:
curl -X GET http://admin:[emailprotected]:5984/players | jq .
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22527%22%3E%3C/svg%3E
Tiếp theo, để tạo một tài liệu mới và chèn dữ liệu vào CouchDB, hãy sử dụng lệnh curl sau.
Mã:
curl -X PUT http://admin:[emailprotected]:5984/players/documents \
-d '{"Name": "Nikola Jokic", "Team": "Denver Nuggets"}' | jq .
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E
Kiểm tra thông tin chi tiết về tài liệu của bạn bằng lệnh bên dưới. Bạn sẽ thấy tài liệu của mình có sẵn trên Apache CouchDB.
Mã:
curl -X GET http://admin:[emailprotected]:5984/players/documents
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22198%22%3E%3C/svg%3E
Kết luận
Xin chúc mừng! Bạn đã cài đặt thành công Apache CouchDB trên máy chủ AlmaLinux 9. Bạn cũng đã cấu hình một cụm single_node, thêm người dùng và mật khẩu quản trị viên, và cũng đã cấu hình CouchDB để chạy tại địa chỉ IP nội bộ.Ngoài ra, bạn cũng đã học cách tạo cơ sở dữ liệu mới và chèn dữ liệu vào CouchDB thông qua giao diện người dùng web và API HTTP với Curl. Bây giờ, bạn có thể thêm nhiều nút hơn và thiết lập cụm Apache CouchDB để tối đa hóa hiệu suất của mình.