PostgreSQL hay Postgres là một hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng (ORDBMS) hiệu suất cao mạnh mẽ được phát hành theo giấy phép theo phong cách BSD linh hoạt. PostgreSQL rất phù hợp với các cơ sở dữ liệu lớn và có nhiều tính năng nâng cao.
pgAdmin4 là một công cụ quản lý PostgreSQL nguồn mở được thiết kế cho nhiều phiên bản cơ sở dữ liệu PostgreSQL. pgAdmin4 đã được tạo ra với tất cả các tính năng có thể tìm thấy trên máy chủ PostgreSQL. Được viết bằng python và jquery và có thể cài đặt trên Windows, Mac và Linux. Nó cung cấp nhiều mô hình triển khai, có thể được cài đặt dưới dạng ứng dụng trên máy tính để bàn hoặc ứng dụng máy chủ chạy sau máy chủ web như Apache2.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt cơ sở dữ liệu PostgreSQL mới nhất và pgAdmin4 trên Máy chủ CentOS 7. Chúng tôi sẽ cài đặt PostgreSQL trên Máy chủ CentOS 7 và sau đó cấu hình mật khẩu cho người dùng 'postgres' mặc định. Sau đó, chúng ta sẽ cài đặt và cấu hình công cụ quản lý pgAdmin4 PostgreSQL.
Những việc chúng ta sẽ làm:
Bây giờ hãy nâng cấp tất cả các gói lên phiên bản mới nhất và thêm kho lưu trữ EPEL vào hệ thống CentOS 7.
Chạy lệnh yum bên dưới.
Sau đó, cài đặt một số gói cần thiết cho hướng dẫn này, bao gồm quản lý chính sách SELinux, firewalld, trình soạn thảo vim và net-tools.
Bây giờ, tất cả các gói cần thiết đã được cài đặt vào hệ thống CentOS 7.
Thêm kho lưu trữ PostgreSQL cho hệ thống CentOS 7 bằng lệnh sau.
Bây giờ hãy kiểm tra tất cả các mục có sẵn trên hệ thống.
Và bạn sẽ nhận được kho lưu trữ PostgreSQL đã được thêm vào hệ thống CentOS 7.
Tiếp theo, chúng ta sẽ cài đặt phiên bản PostgreSQL mới nhất '11' và khởi tạo thiết lập cơ sở dữ liệu PostgreSQL.
Cài đặt PostgreSQL 11 bằng lệnh yum bên dưới.
Sau khi hoàn tất cài đặt, hãy khởi tạo cơ sở dữ liệu PostgreSQL bằng tiện ích lệnh sau do chính PostgreSQL cung cấp.
Và bây giờ bạn có thể khởi động dịch vụ PostgreSQL. Khởi động dịch vụ PostgreSQL và thêm nó vào hệ thống khởi động.
Và dịch vụ PostgreSQL 11 đã hoạt động trên hệ thống CentOS 7.
Để thiết lập mật khẩu cho người dùng 'postgres', bạn sẽ cần đăng nhập vào người dùng 'postgres' và truy cập vào giao diện dòng lệnh PostgreSQL 'psql'.
Thay đổi mật khẩu cho người dùng 'postgres' sử dụng truy vấn sau.
Sau khi hoàn tất, hãy nhập 'exit' để đăng xuất khỏi giao diện 'psql' và người dùng 'postgres'.
Tiếp theo, chúng ta sẽ thay đổi phương thức xác thực cho tất cả quyền truy cập nội bộ thành 'md5'.
Đi tới thư mục '/var/lib/pgsql/11/data/' và chỉnh sửa tệp cấu hình 'pg_hba.conf' bằng trình soạn thảo vim.
Thay đổi dòng xác thực cho máy chủ '127.0.0.1/32', từ 'ident' thành 'md5'.
Lưu và đóng.
Bây giờ hãy khởi động lại dịch vụ PostgreSQL.
Và bạn sẽ có thể kết nối đến cơ sở dữ liệu bằng mật khẩu mà bạn vừa thiết lập.
Kiểm tra cấu hình bằng lệnh psql như bên dưới.
Nhập mật khẩu mà bạn vừa tạo và đảm bảo rằng bạn có thể đăng nhập vào giao diện dòng lệnh PostgreSQL bằng mật khẩu đó.
Và quá trình cài đặt và cấu hình PostgreSQL 11 trên hệ thống CentOS 7 đã hoàn tất.
Cài đặt gói pgAdmin4 bằng lệnh yum bên dưới.
Bằng cách cài đặt Gói pgAdmin4, nó sẽ tự động cài đặt các gói phụ thuộc cho chính nó, bao gồm máy chủ web httpd và 'pgAdmin-web'.
Sau khi hoàn tất quá trình cài đặt, hãy khởi động dịch vụ httpd và thêm nó vào thời gian khởi động.
Bây giờ pgAdmin4 đang chạy với cấu hình mặc định trong máy chủ web httpd.
Trước khi đi xa hơn, hãy đến thư mục '/etc/httpd/conf.d' và đổi tên mẫu cấu hình pgAdmin4 thành 'pgadmin4.conf'.
Bây giờ hãy tạo một thư mục dữ liệu và nhật ký mới cho pgAdmin4.
Thư mục dữ liệu '/var/lib/pgadmin4/' sẽ được sử dụng để lưu trữ tất cả cấu hình pgAdmin4 và tất cả nhật ký pgAdmin4 sẽ có sẵn tại thư mục '/var/log/pgadmin4'.
Sau đó, chúng ta cần định nghĩa thư mục dữ liệu và nhật ký cho cấu hình pgAdmin4. Chỉnh sửa tệp cấu hình pgAdmin4 'config.py' bằng trình soạn thảo vim như bên dưới.
Dán cấu hình sau vào dòng cuối cùng.
Lưu và đóng.
Tiếp theo, tạo người dùng quản trị mới cho pgAdmin4 bằng tập lệnh thiết lập pgAdmin như bên dưới.
Nhập địa chỉ email và mật khẩu của bạn, bạn sẽ nhận được kết quả như bên dưới.
Kết quả là người dùng quản trị pgAdmin đã được tạo.
Bây giờ chúng ta cần khởi động lại dịch vụ httpd.
Và thay đổi chủ sở hữu của thư mục dữ liệu và nhật ký pgAdmin4 thành người dùng 'apache'.
Và cấu hình pgAdmin4 đã hoàn tất.
Kiểm tra trạng thái của SELinux bằng lệnh bên dưới.
Dưới đây là kết quả của SELinux với chế độ 'Enforcing'.
Trước tiên, chúng ta phải cho phép dịch vụ httpd kết nối với mạng. Cho phép pgAdmin4 trong máy chủ web httpd truy cập máy chủ PostgreSQL trên địa chỉ IP cục bộ '127.0.0.1' với cổng '5432'.
Chạy lệnh setsebool bên dưới.
Sau đó, chúng ta cần thêm ngữ cảnh và nhãn của tất cả các tệp pgAdmin4 trên thư mục dữ liệu và nhật ký vào 'httpd_sys_rw_content_t'.
Sau đó khôi phục ngữ cảnh SELinux của các tệp trên cả dữ liệu và nhật ký thư mục.
Và cấu hình SELinux cho pgAdmin4 đã hoàn tất.
Sử dụng lệnh bên dưới để thêm các dịch vụ HTTP và HTTPS vào các quy tắc firewalld.
Bây giờ hãy tải lại các quy tắc tường lửa.
Cấu hình firewalld đã hoàn tất, và pgAdmin4 sẽ có thể truy cập được thông qua máy chủ web httpd.
Và bạn sẽ nhận được trang đăng nhập pgAdmin4.
Đăng nhập bằng địa chỉ email và mật khẩu đã khởi tạo trong quá trình cài đặt, sau đó nhấp vào nút 'Đăng nhập'.
Sau khi đăng nhập vào pgAdmin4, bạn sẽ nhận được bảng điều khiển như bên dưới.
Sau đó, chúng ta phải thêm máy chủ PostgreSQL của mình vào công cụ quản lý pgAdmin4.
Trên bảng điều khiển pgAdmin4, nhấp vào 'Thêm máy chủ mới' nút.
Trên tab 'Chung', nhập tên máy chủ mới. Nhập thông tin chi tiết về máy chủ PostgreSQL của bạn vào tab 'Kết nối', bao gồm Địa chỉ máy chủ/IP, Tên người dùng và Mật khẩu.
Bây giờ hãy nhấp vào nút 'Lưu'.
Sau khi máy chủ PostgreSQL được thêm vào, bạn sẽ nhận được thông tin chi tiết về máy chủ PostgreSQL của mình trên menu bên trái.
Kết quả là quá trình cài đặt và cấu hình PostgreSQL và pgAdmin4 trên CentOS 7 Server đã hoàn tất thành công.
https://www.pgadmin.org/docs/pgadmin4/4.12/index.html
pgAdmin4 là một công cụ quản lý PostgreSQL nguồn mở được thiết kế cho nhiều phiên bản cơ sở dữ liệu PostgreSQL. pgAdmin4 đã được tạo ra với tất cả các tính năng có thể tìm thấy trên máy chủ PostgreSQL. Được viết bằng python và jquery và có thể cài đặt trên Windows, Mac và Linux. Nó cung cấp nhiều mô hình triển khai, có thể được cài đặt dưới dạng ứng dụng trên máy tính để bàn hoặc ứng dụng máy chủ chạy sau máy chủ web như Apache2.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt cơ sở dữ liệu PostgreSQL mới nhất và pgAdmin4 trên Máy chủ CentOS 7. Chúng tôi sẽ cài đặt PostgreSQL trên Máy chủ CentOS 7 và sau đó cấu hình mật khẩu cho người dùng 'postgres' mặc định. Sau đó, chúng ta sẽ cài đặt và cấu hình công cụ quản lý pgAdmin4 PostgreSQL.
Những việc chúng ta sẽ làm:
- Cài đặt Dependencies
- Cài đặt PostgreSQL 11 trên CentOS 7
- Cấu hình người dùng và xác thực PostgreSQL
- Cài đặt pgAdmin4 trên CentOS 7
- Cấu hình pgAdmin4
- Thiết lập SELinux cho PostgreSQL và pgAdmin4
- Thiết lập Firewalld
- Kiểm tra
Bước 1 - Cài đặt Dependencies
Trước tiên, chúng ta sẽ nâng cấp tất cả các gói lên phiên bản mới nhất và cài đặt một số gói cần thiết cho hướng dẫn này.Bây giờ hãy nâng cấp tất cả các gói lên phiên bản mới nhất và thêm kho lưu trữ EPEL vào hệ thống CentOS 7.
Chạy lệnh yum bên dưới.
Mã:
sudo yum update
sudo yum -y install epel-release
Mã:
sudo yum -y install policycoreutils-python firewalld vim net-tools
Bước 2 - Cài đặt PostgreSQL
Trong bước này, chúng ta sẽ cài đặt PostgreSQL từ kho lưu trữ chính thức. để làm điều đó, chúng ta cần thêm kho lưu trữ PostgreSQL cho CentOS 7 vào hệ thống của mình.Thêm kho lưu trữ PostgreSQL cho hệ thống CentOS 7 bằng lệnh sau.
Mã:
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Mã:
sudo yum repolist
Tiếp theo, chúng ta sẽ cài đặt phiên bản PostgreSQL mới nhất '11' và khởi tạo thiết lập cơ sở dữ liệu PostgreSQL.
Cài đặt PostgreSQL 11 bằng lệnh yum bên dưới.
Mã:
sudo yum -y install postgresql11 postgresql11-server postgresql11-contrib
Mã:
/usr/pgsql-11/bin/postgresql-11-setup initdb
Mã:
systemctl start postgresql-11
systemctl enable postgresql-11
Bước 3 - Thiết lập Người dùng và Xác thực PostgreSQL
Sau khi cài đặt PostgreSQL 11 trên hệ thống CentOS 7, chúng ta sẽ cấu hình mật khẩu cho người dùng 'postgres' và thay đổi phương thức xác thực 'ident' mặc định thành 'md5'.Để thiết lập mật khẩu cho người dùng 'postgres', bạn sẽ cần đăng nhập vào người dùng 'postgres' và truy cập vào giao diện dòng lệnh PostgreSQL 'psql'.
Mã:
su - postgres
psql
Mã:
\password postgres
NHẬP MẬT KHẨU CỦA BẠN
Tiếp theo, chúng ta sẽ thay đổi phương thức xác thực cho tất cả quyền truy cập nội bộ thành 'md5'.
Đi tới thư mục '/var/lib/pgsql/11/data/' và chỉnh sửa tệp cấu hình 'pg_hba.conf' bằng trình soạn thảo vim.
Mã:
cd /var/lib/pgsql/11/data/
vim pg_hba.conf
Mã:
host all all 127.0.0.1/32 md5
Bây giờ hãy khởi động lại dịch vụ PostgreSQL.
Mã:
systemctl restart postgresql-11
Kiểm tra cấu hình bằng lệnh psql như bên dưới.
Mã:
psql -h 127.0.0.1 -U postgres
Mật khẩu:
Và quá trình cài đặt và cấu hình PostgreSQL 11 trên hệ thống CentOS 7 đã hoàn tất.
Bước 4 - Cài đặt pgAdmin4
Trong bước này, chúng ta sẽ cài đặt 'pgAdmin4' vào hệ thống CentOS 7.Cài đặt gói pgAdmin4 bằng lệnh yum bên dưới.
Mã:
sudo yum -y install pgadmin4
Sau khi hoàn tất quá trình cài đặt, hãy khởi động dịch vụ httpd và thêm nó vào thời gian khởi động.
Mã:
systemctl start httpd
systemctl enable httpd
Bước 5 - Cấu hình pgAdmin4
Trong bước này, chúng ta sẽ cấu hình pgAdmin4 trên hệ thống CentOS 7. Chúng ta sẽ định nghĩa thư mục dữ liệu/lưu trữ và nhật ký cho pgAdmin4, sau đó thiết lập người dùng admin cho pgAdmin4.Trước khi đi xa hơn, hãy đến thư mục '/etc/httpd/conf.d' và đổi tên mẫu cấu hình pgAdmin4 thành 'pgadmin4.conf'.
Mã:
cd /etc/httpd/conf.d/
mv pgadmin4.conf.sample pgadmin4.conf
Mã:
mkdir -p /var/log/pgadmin4/
mkdir -p /var/lib/pgadmin4/{sessions,storage}
Sau đó, chúng ta cần định nghĩa thư mục dữ liệu và nhật ký cho cấu hình pgAdmin4. Chỉnh sửa tệp cấu hình pgAdmin4 'config.py' bằng trình soạn thảo vim như bên dưới.
Mã:
vim /usr/lib/python2.7/site-packages/pgadmin4-web/config.py
Mã:
LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
Tiếp theo, tạo người dùng quản trị mới cho pgAdmin4 bằng tập lệnh thiết lập pgAdmin như bên dưới.
Mã:
python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py
Kết quả là người dùng quản trị pgAdmin đã được tạo.
Bây giờ chúng ta cần khởi động lại dịch vụ httpd.
Mã:
systemctl restart httpd
Mã:
chown -R apache:apache /var/lib/pgadmin4/
chown -R apache:apache /var/log/pgadmin4/
Bước 6 - Cấu hình SELinux cho pgAdmin4
Nếu bạn đang cài đặt pgAdmin4 trên máy chủ CentOS 7 với chế độ 'enforcing' của SELinux, thì bạn phải thực hiện phần này.Kiểm tra trạng thái của SELinux bằng lệnh bên dưới.
Mã:
sestatus
Trước tiên, chúng ta phải cho phép dịch vụ httpd kết nối với mạng. Cho phép pgAdmin4 trong máy chủ web httpd truy cập máy chủ PostgreSQL trên địa chỉ IP cục bộ '127.0.0.1' với cổng '5432'.
Chạy lệnh setsebool bên dưới.
Mã:
setsebool -P httpd_can_network_connect 1
Mã:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/lib/pgadmin4(/.*)?"
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/log/pgadmin4(/.*)?"
Mã:
sudo restorecon -R /var/lib/pgadmin4/
sudo restorecon -R /var/log/pgadmin4/
Bước 7 - Thiết lập Firewalld
Trong bước này, chúng ta sẽ thêm các dịch vụ HTTP và HTTPS vào cấu hình firewalld.Sử dụng lệnh bên dưới để thêm các dịch vụ HTTP và HTTPS vào các quy tắc firewalld.
Mã:
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Mã:
firewall-cmd --reload
Bước 8 - Kiểm tra
Mở trình duyệt web của bạn và nhập địa chỉ IP của máy chủ và đường dẫn URL '/pgadmin4' vào thanh địa chỉ.Và bạn sẽ nhận được trang đăng nhập pgAdmin4.
Đăng nhập bằng địa chỉ email và mật khẩu đã khởi tạo trong quá trình cài đặt, sau đó nhấp vào nút 'Đăng nhập'.
Sau khi đăng nhập vào pgAdmin4, bạn sẽ nhận được bảng điều khiển như bên dưới.
Sau đó, chúng ta phải thêm máy chủ PostgreSQL của mình vào công cụ quản lý pgAdmin4.
Trên bảng điều khiển pgAdmin4, nhấp vào 'Thêm máy chủ mới' nút.
Trên tab 'Chung', nhập tên máy chủ mới. Nhập thông tin chi tiết về máy chủ PostgreSQL của bạn vào tab 'Kết nối', bao gồm Địa chỉ máy chủ/IP, Tên người dùng và Mật khẩu.
Bây giờ hãy nhấp vào nút 'Lưu'.
Sau khi máy chủ PostgreSQL được thêm vào, bạn sẽ nhận được thông tin chi tiết về máy chủ PostgreSQL của mình trên menu bên trái.
Kết quả là quá trình cài đặt và cấu hình PostgreSQL và pgAdmin4 trên CentOS 7 Server đã hoàn tất thành công.
Tham khảo
https://www.postgresql.org/docs/manuals/https://www.pgadmin.org/docs/pgadmin4/4.12/index.html