Cách cài đặt PostgreSQL và phpPgAdmin trên Ubuntu 20.04 LTS

theanh

Administrator
Nhân viên
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.

PostgreSQL có sẵn cho nhiều hệ điều hành bao gồm Linux, FreeBSD, Solaris và Microsoft Windows. PhpPgAdmin là một ứng dụng web dựa trên PHP để quản lý cơ sở dữ liệu PostgreSQL. Với Phppgadmin, bạn có thể dễ dàng tạo cơ sở dữ liệu, tạo vai trò và tạo bảng trong Postgres.

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt PostgreSQL và giao diện quản trị dựa trên web phpPgAdmin trên Ubuntu 20.04 LTS (Bionic Beaver). Tôi sẽ sử dụng máy chủ Ubuntu tối thiểu làm cơ sở cho thiết lập này.

Điều kiện tiên quyết​

  • Ubuntu 20.04
  • Quyền root

Chúng ta sẽ làm gì?​

  1. Cài đặt PostgreSQL và phpPgAdmin
  2. Tạo người dùng PostgreSQL mới
  3. Cấu hình Apache2
  4. Thiết lập tường lửa UFW
  5. Kiểm tra

Bước 1 - Cài đặt PostgreSQL, phpPgAdmin và tất cả các phụ thuộc​

Trước khi cài đặt bất kỳ gói nào trên hệ thống Ubuntu, hãy cập nhật và nâng cấp tất cả các gói bằng lệnh apt bên dưới.
Mã:
sudo apt update
sudo apt upgrade
Và bây giờ chúng ta đã sẵn sàng để cài đặt các gói PostgreSQL, phpPgAdmin và Apache2.

PostgreSQL và PhpPgAdmin có sẵn trong kho lưu trữ Ubuntu. Vì vậy, bạn chỉ cần cài đặt chúng bằng lệnh apt.
Mã:
sudo apt -y install postgresql postgresql-contrib phppgadmin
Sau khi hoàn tất quá trình cài đặt, hãy khởi động dịch vụ PostgreSQL và thêm nó vào hệ thống khởi động.
Mã:
systemctl start postgresql
systemctl enable postgresql
Tiếp theo, hãy kiểm tra dịch vụ PostgreSQL bằng lệnh sau.
Mã:
systemctl status postgresql
Kết quả là dịch vụ PostgreSQL đã hoạt động.



Và tất cả các gói cài đặt PostgreSQL và phpPgAdmin đã hoàn tất.

Bước 2 - Tạo người dùng mới PostgreSQL​

PostgreSQL sử dụng các vai trò để xác thực và ủy quyền người dùng, giống như các quyền theo kiểu Unix. Theo mặc định, PostgreSQL tạo một người dùng mới có tên là "postgres" để xác thực cơ bản.

Trong bước này, chúng ta sẽ tạo một người dùng PostgreSQL mới có quyền như một siêu người dùng, tạo cơ sở dữ liệu, tạo vai trò và đăng nhập. Người dùng mới sẽ được sử dụng để đăng nhập vào PostgreSQL thông qua 'phpPgAdmin' và để làm như vậy, chúng ta phải đăng nhập vào shell PostgreSQL với tư cách là người dùng 'postgres' mặc định.

Đăng nhập vào shell PostgreSQL bằng lệnh bên dưới.
Mã:
sudo -i -u postgres psql
Tiếp theo, tạo một vai trò mới 'hakase' với mật khẩu 'hakasepasspgsql' bằng truy vấn sau.
Mã:
CREATE ROLE hakase WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'hakasepasspgsql';
Bây giờ hãy kiểm tra tất cả người dùng khả dụng trên hệ thống PostgreSQL.
Mã:
\du
Và bạn sẽ thấy một người dùng mới 'hakase' trong danh sách, bây giờ hãy nhập '\q' để thoát khỏi PostgreSQL shell.



Kết quả là, một người dùng mới có tên 'hakase' đã được tạo và người dùng này sẽ có thể đăng nhập vào máy chủ PostgreSQL thông qua phpPgAdmin.

Bước 3 - Cấu hình Máy chủ Web Apache​

Trong bước này, chúng ta sẽ cấu hình cấu hình Apache cho phpPgAdmin, được tạo tự động trong quá trình cài đặt các gói.

Vào thư mục '/etc/apache2/conf-available' và chỉnh sửa tệp cấu hình 'phppgadmin.conf' bằng vim bằng cách nhập:
Mã:
cd /etc/apache2/conf-available/
vim phppgadmin.conf
Theo mặc định, có thể truy cập phpPgAdmin thông qua URL đường dẫn 'phppgadmin'. Vì lý do bảo mật, chúng tôi sẽ thay đổi URL đường dẫn mặc định của phppgadmin bằng cách thay đổi tùy chọn 'Alias'.

Thay đổi URL đường dẫn mặc định 'phppgadmin' bằng đường dẫn của riêng bạn như bên dưới.
Mã:
Alias /pgsqladminlogin /usr/share/phppgadmin
Không chú thích dòng '#Require local' bằng cách thêm # vào trước dòng và thêm allow from all bên dưới dòng để bạn có thể truy cập từ trình duyệt của mình.
Mã:
Require all granted
Lưu và đóng.

Tiếp theo, hãy kiểm tra cấu hình Apache và đảm bảo không có lỗi, sau đó khởi động lại dịch vụ Apache.
Mã:
apachectl configtest
systemctl restart apache2
Kết quả là cấu hình Apache cho phpPgAdmin đã hoàn tất.

Bước 4 - Thiết lập Tường lửa UFW​

Đối với hướng dẫn này, chúng tôi sẽ chạy các dịch vụ PostgreSQL và Apache dưới tường lửa UFW.

Thêm các cổng ssh, http và https vào tường lửa ufw bằng lệnh sau.
Mã:
for svc in ssh http https
do
ufw allow $svc
done
Tiếp theo, hãy khởi động và bật tường lửa UFW.
Mã:
ufw enable
Và bạn sẽ được yêu cầu đảm bảo rằng bạn muốn chạy dịch vụ tường lửa UFW. Nhập 'y' và nhấn Enter để khởi động tường lửa.



Và tường lửa UFW đã hoạt động với giao thức ssh, http và https.

Kiểm tra trạng thái tường lửa UFW bằng lệnh bên dưới.
Mã:
ufw status numbered
Dưới đây là kết quả bạn sẽ nhận được.


Bước 5 - Kiểm tra​

Trước khi tiến hành thêm, hãy kiểm tra các dịch vụ cổng PostgreSQL và Apache bằng lệnh ss bên dưới.
Mã:
ss -plnt
Và bạn sẽ nhận được cổng PostgreSQL '5432' và cổng Apache '80' ở trạng thái LISTEN, cả hai dịch vụ đều đang hoạt động.



Tiếp theo, hãy mở trình duyệt web của bạn và nhập địa chỉ IP máy chủ theo đường dẫn tùy chỉnh của bạn phpPgAdmin.


Và bạn sẽ nhận được trang phpPgAdmin mặc định như bên dưới.



Bây giờ hãy nhấp vào tab 'Máy chủ' và bạn sẽ nhận được trang đăng nhập phpPgAdmin.



Nhập tên người dùng và mật khẩu PostgreSQL đã tạo ở trên cùng và nhấp vào nút 'Đăng nhập'.

Và bạn sẽ nhận được giao diện bảng điều khiển phpPgAdmin này.



Quá trình cài đặt cơ sở dữ liệu PostgreSQL với phpPgAdmin trên Ubuntu 20.04 LTS đã hoàn tất thành công.

Kết luận​

PostgreSQL là một hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng (ORDBMS) tiên tiến. Đây là mã nguồn mở và có một cộng đồng lớn và năng động. PostgreSQL cung cấp chương trình dòng lệnh psql làm giao diện chính, có thể được sử dụng để nhập trực tiếp các truy vấn SQL hoặc thực thi chúng từ một tệp. phpPgAdmin là một công cụ quản trị dựa trên web cho PostgreSQL được viết bằng PHP giúp việc quản trị cơ sở dữ liệu Postgres dễ dàng hơn.
 
Back
Bên trên