Skip to main content

[Thủ Thuật Linux] Hướng Dẫn Cài Đặt phpMyAdmin Trên CentOS 7

phpMyAdmin là gì ?

PhpMyAdmin là một mã nguồn mở giúp quản trị cở sở dữ liệu MySQL và MariaDB thông qua giao diện web được viết bằng PHP.

Trước khi cài đặt  phpMyAdmin Trên CentOS 7 bạn cần phải có LEMP (Linux, Nginx, MariaDB, and PHP) trên CentOS 7.

Hướng Dẫn Cài Đặt phpMyAdmin Trên CentOS 7 nhanh chóng

Bởi vì phpMyAdmin không có sẵn trên repository của CentOS nên để cài đặt cần phải có EPEL repo (Extra Packages for Enterprise Linux). Vậy nên bạn cần dùng lệnh cài đặt EPEL repo 

sudo yum install epel-release

sau đó cài đặt phpMyAdmin

sudo yum install phpmyadmin

Sau khi cài đặt thành công bạn tạo một symbolic link đến folder phpMyAdmin

sudo ln -s /usr/share/phpMyAdmin /usr/share/nginx/html

Tiếp theo là restart php-fpm để có thể load lại các module cần thiết

sudo systemctl restart nginx

Giờ vào địa chỉ  http://server_domain_or_IP/phpMyAdmin để nhìn thấy giao diện phpMyAdmin.

Image
cài đặt phpMyadmin centos 7

Tăng cường bảo mật phpMyAdmin trên CentOS 7

Mặc dù giờ bạn đã xài được phpMyAdmin nhưng nó rất dễ bị hacker tấn công, vậy nên dưới đây một số hướng dẫn giúp bạn cải thiện bảo mật cho phpMyAdmin

Thay đổi đường dẫn truy cập

Chúng ta có thể thay đổi đường dẫn symbolic link đến phpMyAdmin bằng đường dẫn phức tạp hơn bằng các bước sau

# di chuyển đến folder /usr/share/nginx/html
cd /usr/share/nginx/html
ls -l

Bạn sẽ thấy  symbolic link đến phpMyAdmin hiện tại kiểu như sau 

-rw-r--r-- 1 root root 537 Aug  5 08:15 50x.html
-rw-r--r-- 1 root root 612 Aug  5 08:15 index.html
lrwxrwxrwx 1 root root  21 Aug  6 17:29 phpMyAdmin -> /usr/share/phpMyAdmin

Giờ bạn thay đổi symbolic link phpMyAdmin  thành yourlink bằng lệnh

sudo mv phpMyAdmin yourlink

Bây giờ bạn phải sử dụng đường dẫn http://server_domain_or_IP/yourlinkđể nhìn thấy giao diện phpMyAdmin.

Tăng cường bảo mật bằng xác thực Server - Web Server Authentication Gate

Đây sẽ là một xác thực từ server trước khi bạn thấy được trang phpMyAdmin . Tính năng yêu cầu OpenSSL đã cài đặt trên CentOS 7.

Tạo một password và bạn sẽ thấy được 1 password được tạo

openssl yourpass

# nó sẽ xuất hiện kết quả kiểu như  : O5az.RSPzd.HE

Copy giá trị đó vào file /etc/nginx/pma_pass

sudo nano /etc/nginx/pma_pass

Và điền user và mật khẩu vào như sau

demo:O5az.RSPzd.HE

Tiếp theo chúng ta thay đổi config của Nginx như sau 

sudo nano /etc/nginx/conf.d/default.conf

 Và thêm vào 

server {
    . . .

    location / {
        try_files $uri $uri/ =404;
    }
   # thêm /yourlink ở đây
    location /yourlink {
        auth_basic "Admin Login";
        auth_basic_user_file /etc/nginx/pma_pass;
    }

    . . .
}

Sau đó restart Nginx 

sudo systemctl restart nginx

Và quay lại đường dẫn của bạn sẽ xuất hiện

Image
auth_gate cho phpMyAdmin