Hướng dẫn cài đặt phpMyAdmin trên CentOS

Cài đặt phpMyAdmin trên CentOS

phpMyAdmin là một công cụ nguồn mở miễn phí được viết bằng PHP để quản trị MySQL & MariaDB thông qua một trình duyệt web, có thể thực hiện nhiều tác vụ như tạo, sửa đổi các bảng, bản ghi, sao lưu hoặc xóa bỏ cơ sở dữ liệu. Ngoài ra còn thực hiện báo cáo, hoặc quản lý và cấp quyền truy cập cho người dùng từ xa. Tính đến nay, phpMyAdmin đã có đến hàng triệu lượt sử dụng và vẫn không ngừng tăng.

Điều kiện để cài đặt phpMyAdmin

Trong bài viết này, chúng tôi sẽ hướng dẫn cài đặt và cấu hình phpMyAdmin trên CentOS 7.

1. Cập nhật hệ thống

Để cập nhật hệ thống, chạy lệnh:

# sudo yum -y update

-y là một tham số tùy chọn. Nó phục vụ để tránh các câu hỏi xác nhận ở các bước tiếp theo.

2. Cài đặt gói bổ sung EPEL

(Nếu bạn đã cài đặt EPEL, bạn có thể bỏ qua bước này)
phpMyAdmin không có sẵn trong CentOS, vì vậy bạn cần cài đặt EPEL (Extra Packages for Enterprise Linux) có sẵn trên máy chủ. EPEL được sử dụng miễn phí và cung cấp nhiều gói mã nguồn mở.

Để cài đặt EPEL, chạy lệnh:

# sudo yum install -y epel-release

3. Cài đặt phpMyAdmin

Để cài đặt phiên bản phpMyAdmin mới nhất trên phiên bản PHP 7.3, bạn cần sửa tệp remi-php73.repo nằm tương tự đường dẫn /etc/yum.repos.d/remi-php73.repo.

Truy cập vào thư mục: /etc/yum.repos.d và mở tệp remi-php73.repo

[remi-php73]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php56/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/php56/httpsmirror
mirrorlist=http://cdn.remirepo.net/enterprise/7/php56/mirror
# NOTICE: common dependencies are in "remi-safe"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

Thay đổi enabled=0 sang enabled=1

Để tránh PHP chạy song song hoặc xung đột, bạn mở tệp remi.repo và tắt [remi-php56] bằng cách đặt enabled=0.

Lưu lại sau khi cấu hình xong.

Tiến hành cài đặt phpMyAdmin:

# sudo yum install phpmyadmin

Sau khi cài đặt xong, tạo shortcut đặt thư mục phpMyAdmin bên trong thư mục /usr/share/nginx/html/ để chúng ta có thể truy cập vào được theo đường dẫn http://example.com/phpMyAdmin

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

Chạy lệnh chmod:

# chown nginx:nginx /var/lib/php/session

Cấu hình PhpMyAdmin

Tiếp theo mở tệp /usr/share/phpMyAdmin/config.inc.php:

# sudo nano /etc/phpMyAdmin/config.inc.php

Để ngăn chặn đăng nhập bằng Root, Tìm dòng:

$cfg['Servers'][$i]['AllowRoot'] = TRUE;

Thay đổi thành:

$cfg['Servers'][$i]['AllowRoot'] = FALSE;

Để thêm khóa bảo mật, tìm dòng:

$cfg['blowfish_secret'] = '';

Thay đổi thành:

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

Thêm vào cuối tệp config.inc.php dòng sau:

$cfg['TempDir'] = '/usr/share/phpMyAdmin/tmp/';

Để kích hoạt Google reCAPTCHA, thêm vào cuối tệp config.inc.php 2 dòng sau:

$cfg['CaptchaLoginPublicKey'] = 'SITE KEY';
$cfg['CaptchaLoginPrivateKey'] = 'SECRET KEY';

Tạo thư mục tmp cho PhpMyAdmin:

# mkdir -p /usr/share/phpMyAdmin/tmp
# chown -R nginx:nginx /usr/share/phpMyAdmin/tmp

Bảo mật phpMyAdmin

Mở tệp /etc/nginx/conf.d/default.conf xoá toàn bộ nội dung trong đó và thay thế bằng nội dung sau:

server {
    listen 80;
    server_name localhost;
    index index.html index.htm index.php;
    root /usr/share/nginx/html;

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri $uri/ =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_intercept_errors on;

        if (-f $request_filename)
        {
            fastcgi_pass unix:/var/run/php-fpm.sock;
        }
    }
    location ~ ^/phpmyadmin {
        rewrite ^/* /phpMyAdmin last;
    }
    location ~ ^/pma {
        rewrite ^/* /phpMyAdmin last;
    }
    location ^~ /phpMyAdmin/log/ {
        deny all;
    }
    location ^~ /phpMyAdmin/libraries/ {
        deny all;
    }
    location ^~ /phpMyAdmin/templates/ {
        deny all;
    }
    location ^~ /phpMyAdmin/tmp/ {
        deny all;
    }
}

Tiếp theo chạy lệnh sau:

# mv /etc/nginx/conf.d/default.conf /etc/nginx/default.conf

Mở tệp /etc/nginx/nginx.conf và thêm vào bên trên dòng include /etc/nginx/conf.d/*.conf; đoạn mã sau:

include /etc/nginx/default.conf;

Khởi động lại Nginx và PHP:

# sudo systemctl restart nginx.service
# sudo systemctl restart php-fpm.service

Bây giờ, bạn có thể truy cập phpMyAdmin qua http://vps_ip_address/phpMyAdmin.

4. Kết luận !

Vậy là đã kết thúc quá trình cài đặt phpMyAdmin trên CentOS 7. Nếu có ý kiến đóng góp, vui lòng để lại bình luận bên dưới.

5/5 - (17 bình chọn)

Bình luận

Email của bạn sẽ không được hiển thị công khai.