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
Mục lục
- 1. Cài đặt PostgreSQL trên CentOS 8
- 2. Cấu hình và bảo mật PostgreSQL Database
- 3. Cài đặt pgAdmin4 trên CentOS 8
- 4. Cấu hình pgAdmin4 trên CentOS 8
- 5. Truy cập vào giao diện web của pgAdmin
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
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================