Hướng dẫn cài đặt PostgreSQL và pgAdmin trên CentOS 8

PostgreSQL là một cơ sở dữ liệu mã nguồn mở mạnh mẽ và hướng đối tượng được sử dụng rộng rãi trên nhiều nền tảng, Kiến trúc của nó được biết đến với độ tin cậy và khả năng mở rộng dễ dàng
pgAdmin là một công cụ mã nguồn mở dựa trên nền web hỗ trợ quản lí máy chủ cơ sở dữ liệu PostgreSQL. Trong bài này tôi sẽ hướng dẫn các bạn cài đặt PostgreSQL 12 và pgAdmin 4 trên CentOS 8

1. Cài đặt PostgreSQL trên CentOS 8

B1: Tắt Module PostgreSQL có sẵn bằng câu lệnh dnf

dnf -qy module disable postgresql

B2: Kích hoạt PostgreSQL Yum Repository bằng câu lệnh

dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

B3: Cài đặt các packages PostgreSQL 12 client và server

dnf install postgresql12 postgresql12-server


B4: Sau khi quá trình cài đặt thành công, khởi tạo cơ sở dữ liệu PostgreSQL, sau đó khởi chạy service và kích hoạt tự động khởi động khi boot. Sau đó kiểm tra service đã kích hoạt chưa lại bằng những câu lệnh dưới đây

/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl start postgresql-12
systemctl enable postgresql-12
systemctl status postgresql-12
systemctl is-enabled postgresql-12

2. Cấu hình và bảo mật PostgreSQL Database

B5: Tiếp theo chúng ta sẽ bảo mật cho tài khoản Postgres và tài khoản quản trị CSDL. Bắt đầu bằng việc tạo Password dùng công cụ passwd như dưới

passwd postgres


B6: Sau đó chuyển sang tài khoản hệ thống của Postgres và tạo một mật khẩu đủ an toàn cho tài khoản quản trị PostgreSQL như dưới

su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'securep@sshere';"
exit


B7: Giờ chúng ta sẽ cấu hình để Postgres server sẽ xác thực các clients như pgAdmin. Bạn có thể dùng 3 phương thức xác thực như md5, crypt hoặc password
Trong hướng dẫn này, chúng tôi sẽ cấu hình phương thức xác thực md5 trong files /var/lib/pgsql/12/data/pg_hba.conf.

vi /var/lib/pgsql/12/data/pg_hba.conf

Tìm những dòng sau và sửa phương thức xác thực sang md5

host all all 127.0.0.1/32 md5
host all all ::1/128 md5


B8: Sau khi lưu files, khởi chạy lại Services Postgres

systemctl restart postgresql-12

3. Cài đặt pgAdmin4 trên CentOS 8

B9: Bây giờ chúng ta sẽ cài pgAdmin4 để quản lí CSDL PostgreSQL từ nền web. Đâu ftiên bạn sẽ cần kích hoạt các repositories là EPEL và PowerTools

dnf install epel-release
dnf --enablerepo=PowerTools install pgadmin4


B10: Kích hoạt dịch vụ httpd và cho nó khởi động cùng hệ thống

systemctl start httpd
systemctl enable httpd
systemctl status httpd

4. Cấu hình pgAdmin4 trên CentOS 8

B11: Bây giờ chúng ta sẽ tạo một file cấu hình pgAdmin4 dưới dạng file cấu hình của httpd. Tạo một file cấu hình mới từ file mẫu sử dụng câu lệnh dưới

cp /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf

B12: Kiểm tra các cú pháp đều không gặp lỗi gì và khởi chạy lại service httpd

httpd -t
systemctl restart httpd


B13: Tạo một các thư mục chứa logs và thư viện cho pgAdmin sử dụng các câu lệnh dưới

mkdir -p /var/lib/pgadmin4/
mkdir -p /var/log/pgadmin4/

B14: Khai báo đường dẫn của log files, SQLite database, session database and storage trong file cấu hình Python của pgAdmin

vi /usr/lib/python3.6/site-packages/pgadmin4-web/config_distro.py

Thêm các dòng sau

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'


B15: Tạo một tài khoản để đăng nhập trên nền web và tạo một database chứa các cấu hình

python3 /usr/lib/python3.6/site-packages/pgadmin4-web/setup.py


B16: Thiết đặt quyền cho các Folder chứa pgAdmin

chown -R apache:apache /var/lib/pgadmin4
chown -R apache:apache /var/log/pgadmin4

B17: Cấu hình SELinux nếu cần

chcon -t httpd_sys_rw_content_t /var/log/pgadmin4 -R
chcon -t httpd_sys_rw_content_t /var/lib/pgadmin4 -R
setsebool -P httpd_can_network_connect 1

B18: Khởi chạy lại dịch vụ HTTPD

systemctl restart httpd

B19: Nếu bạn sử dụng firewalld thì bạn cần mở port 80 và 443

firewall-cmd --permanent --zone public --add-port 80/tcp
firewall-cmd --permanent --zone public --add-port 443/tcp
firewall-cmd --reload

5. Truy cập vào giao diện web của pgAdmin

B20: Bạn truy cập vào địa chỉ http://SERVER_IP/pgadmin4 hoặc http://localhost/pgadmin4
B21: Đăng nhập bằng tài khoản bạn vừa tạo ở bước 15

B22: Thêm một Server mới bằng cách click “Add New Server”

B23: Tại tab General, bạn đặt tên và comment nếu muốn

B24: Tại Tab Connection, bạn chỉ ra những thiết đặt ở dưới đây

  • Host: Host hoặc địa chỉ IP của PostgreSQL server.
  • Port: Mặc định là 5432
  • Maintenance Database: mặc định nên đặt là Postgres
  • Username/Password: Tên đăng nhập và mật khẩu của user quản lí database. Ban có thể dùng tài khoản Postgres


B25: Server được thêm vào sẽ xuất hiện trong hình dưới

B26: Khi click vào tên server sẽ show ra một dashboard như hình dưới

Trả lời

Email của bạn sẽ không được hiển thị công khai.