Hướng dẫn cài đặt và cấu hình PostgreSQL 15 trên hệ điều hành Debian 11

1. Chuẩn bị các công cụ cần thiết

Trước khi bắt đầu cài đặt cơ sở dữ liệu, bạn cần cập nhật danh sách gói và cài đặt các tiện ích cơ bản để hỗ trợ việc thêm kho lưu trữ và xác thực khóa bảo mật.

apt-get update
apt-get install -y wget gnupg2 lsb-release sudo

2. Thêm kho lưu trữ chính thức từ PostgreSQL

Để cài đặt được phiên bản 15, chúng ta cần thêm kho lưu trữ (repository) chính thức của PostgreSQL vào hệ thống Debian 11.

# Nhập khóa GPG để xác thực gói cài đặt
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# Thêm cấu hình kho lưu trữ vào thư mục sources.list.d
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

3. Tiến hành cài đặt PostgreSQL 15

Sau khi đã thêm kho lưu trữ, hãy cập nhật lại chỉ mục gói và cài đặt phiên bản PostgreSQL mục tiêu.

sudo apt-get update
sudo apt-get -y install postgresql-15

4. Cấu hình cho phép kết nối từ xa

Mặc định, PostgreSQL chỉ chấp nhận các kết nối nội bộ. Để quản lý từ xa, bạn cần chỉnh sửa file cấu hình chính.

Mở file postgresql.conf:

sudo nano /etc/postgresql/15/main/postgresql.conf

Tìm và sửa dòng listen_addresses để cho phép lắng nghe trên tất cả các giao diện mạng:

listen_addresses = '*'

Tiếp theo, cấu hình phương thức xác thực trong file pg_hba.conf:

sudo nano /etc/postgresql/15/main/pg_hba.conf

Thêm các dòng sau vào cuối file để cho phép truy cập từ mọi địa chỉ IP bằng phương thức mật khẩu mã hóa scram-sha-256:

# Cho phép IPv4
host    all             all             0.0.0.0/0               scram-sha-256
# Cho phép IPv6
host    all             all             ::/0                    scram-sha-256

5. Quản trị người dùng và bảo mật

Để quản lý cơ sở dữ liệu một cách an toàn, bạn nên tạo một tài khoản quản trị riêng thay vì sử dụng tài khoản hệ thống mặc định.

Truy cập vào giao diện dòng lệnh của PostgreSQL:

sudo -u postgres psql

Thực hiện tạo một Role mới có toàn quyền (Superuser):

CREATE ROLE db_admin WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'StrongPassword123!';

Nếu bạn muốn đổi mật khẩu cho tài khoản postgres mặc định:

ALTER USER postgres WITH PASSWORD 'NewSecureKey@2024';

6. Quản lý dịch vụ và tường lửa

Áp dụng các thay đổi cấu hình bằng cách khởi động lại dịch vụ và đảm bảo cơ sở dữ liệu tự động chạy khi máy chủ khởi động.

sudo systemctl restart postgresql
sudo systemctl enable postgresql

Nếu hệ thống của bạn đang bật tường lửa (UFW), hãy mở cổng 5432 để cho phép lưu lượng mạng đi qua:

sudo ufw allow 5432/tcp

7. Thay đổi mật khẩu tài khoản hệ thống (Linux)

Ngoài mật khẩu trong cơ sở dữ liệu, bạn cũng nên đặt mật khẩu cho người dùng postgres trên hệ điều hành Linux để tăng cường bảo mật.

# Xóa mật khẩu cũ (nếu có)
sudo passwd -d postgres

# Thiết lập mật khẩu mới
sudo passwd postgres

Thẻ: Debian PostgreSQL Database Linux-Server sql

Đăng vào ngày 10 tháng 6 lúc 06:06