Cài đặt phpMyAdmin trên CentOS 8|Rhel 8 - Install phpMyAdmin on CentOS 8|Rhel 8

Làm cách nào để install phpMyAdmin trên hệ thống RHEL / CentOS 8 Linux? Trong bài viết này, mình sẽ đề cập đến cách cài đặt và định cấu hình phpMyAdmin trên RHEL 8. phpMyAdmin là một công cụ phần mềm nguồn mở được viết bằng PHP để quản lý máy chủ cơ sở dữ liệu MySQL và MariaDB từ giao diện Web.

phpMyAdmin hỗ trợ nhiều hoạt động trên MySQL, MariaDB và Drizzle. Với công cụ này, bạn có thể quản lý cơ sở dữ liệu, bảng, cột, quan hệ, chỉ mục, người dùng, quyền và những thứ khác thông qua giao diện web trực quan và dễ sử dụng.

Đối với Ubuntu/Debian, tham khảo Cài đặt phpMyAdmin mới nhất trên Ubuntu

Install và cấu hình phpMyAdmin trên RHEL/CentOS 8

Dưới đây là các bước bạn sẽ làm theo để install và định cấu hình phpMyAdmin trên RHEL 8. Các phần phụ thuộc cần có là PHP, máy chủ Web Apache và máy chủ cơ sở dữ liệu sẽ được quản lý.

Bước 1: Cài đặt PHP và các tiện ích mở rộng cần thiết

phpMyAdmin được viết bằng PHP và bạn sẽ cần cài đặt nó trên máy chủ RHEL / CentOS 8 của mình.

sudo dnf -y install @php
sudo dnf -y install php-zip php-json php-fpm

Đảm bảo phần mở rộng php-mysqlnd được cài đặt.

sudo yum -y install php-mysqlnd

Bắt đầu và kích hoạt dịch vụ FPM:

sudo systemctl enable --now php-fpm

Bước 2: Cài đặt máy chủ cơ sở dữ liệu MariaDB/MySQL

Bước tiếp theo là cài đặt máy chủ cơ sở dữ liệu MariaDB/MySQL. Làm theo hướng dẫn bên dưới để cài đặt MariaDB hoặc MySQL trên RHEL 8.

Bước 3: Cài đặt máy chủ web Apache

phpMyAdmin hỗ trợ cả Apache và Nginx làm máy chủ web. Mình chọn máy chủ Apache httpd vì đây là máy chủ Web được sử dụng nhiều nhất trong doanh nghiệp và hệ sinh thái RHEL.

Sử dụng hướng dẫn bên dưới để cài đặt máy chủ web Apache trên RHEL 8.

Bước 4: Cài đặt phpMyAdmin trên RHEL 8

Truy cập trang tải xuống phpMyAdmin và kiểm tra gói mới nhất hiện có. Sau đó tải tập tin xuống hệ thống cục bộ của bạn.

wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

Trích xuất lưu trữ đã tải xuống

tar xvf phpMyAdmin-latest-all-languages.tar.gz

Di chuyển thư mục sang /usr/share/phpmyadmin.

rm phpMyAdmin-latest-all-languages.tar.gz
sudo mv phpMyAdmin-*/ /usr/share/phpmyadmin

Tạo thư mục cho các tập tin tạm thời phpMyAdmin.

sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown -R apache:apache /var/lib/phpmyadmin

Tạo thư mục cho các file cấu hình phpMyAdmin như file htpass.

sudo mkdir /etc/phpmyadmin/

Tạo tập tin cấu hình phpMyAdmin:

sudo cp /usr/share/phpmyadmin/config.sample.inc.php  /usr/share/phpmyadmin/config.inc.php

Chỉnh sửa tập tin:

sudo vim /usr/share/phpmyadmin/config.inc.php

Đặt cụm mật khẩu bí mật - Cần dài 32 ký tự:

$cfg['blowfish_secret'] = 'H2OxcGXxflSd8JwrwVlh6KW6s2rER63i'; 

Định cấu hình thư mục Temp:

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

Bước 5: Cấu hình máy chủ web Apache

Tạo tệp cấu hình phpMyAdmin Apache.

sudo vim /etc/httpd/conf.d/phpmyadmin.conf

Thêm dữ liệu bên dưới:

# Apache configuration for phpMyAdmin
Alias /phpMyAdmin /usr/share/phpmyadmin/
Alias /phpmyadmin /usr/share/phpmyadmin/
 
<Directory /usr/share/phpmyadmin/>
   AddDefaultCharset UTF-8
 
   <IfModule mod_authz_core.c>
     # Apache 2.4
     Require all granted
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

Bạn có thể hạn chế quyền truy cập từ IP cụ thể bằng cách thêm dòng như bên dưới:

Require ip 127.0.0.1 192.168.0.0/24

Xác thực cấu hình Apache.

$ sudo apachectl configtest
Syntax OK

Khởi động lại dịch vụ httpd để tải cấu hình mới,

sudo systemctl restart httpd

Bước 6: Cấu hình SELinux và Tường lửa

Nếu bạn có SELinux ở chế độ thực thi (Enforcing), bạn sẽ gặp lỗi Từ chối cấp phép khi cố truy cập trang phpMyAdmin. Cho phép httpd phân phát nội dung trong thư mục phpmyadmin.

sudo semanage fcontext -a -t httpd_sys_content_t "/usr/share/phpmyadmin(/.*)?"

Áp dụng chính sách bằng cách chạy lệnh:

sudo restorecon -Rv /usr/share/phpmyadmin

Cho phép cổng http trong tường lửa:

sudo firewall-cmd --add-service=http --permanent

Tải lại cấu hình tải lại tường lửa:

sudo firewall-cmd --reload

Bước 7: Truy cập giao diện Web phpMyAdmin trên RHEL 8

Mở URL http://[ServerIP|Hostname]/phpmyadmin

install phpmyadmin trên centos 8

Đăng nhập vào trang quản lý phpMyAdmin với thông tin đăng nhập cơ sở dữ liệu của bạn - tên người dùng và mật khẩu.

install phpmyadmin trên centos 8

Chúc mừng! Bạn đã install thành công phpMyAdmin trên RHEL 8/CentOS 8.