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
- Đã cài đặt Nginx trên CentOS 7
- Đã cài đặt MariaDB trên CentOS 7
- Đã cài đặt Php với Php-fpm trên CentOS 7
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.
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.
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
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.
Kết Thúc !
Nếu có ý kiến đóng góp, vui lòng để lại bình luận bên dưới.