Cách cài đặt và bảo mật phiên bản phpMyAdmin mới nhất trên Debian 12

theanh

Administrator
Nhân viên
phpMyAdmin là một công cụ quản trị miễn phí, dựa trên web được sử dụng để quản lý cơ sở dữ liệu MySQL và MariaDB, được sử dụng rộng rãi trong các hệ thống Debian Linux. Công cụ này cung cấp giao diện thân thiện với người dùng để tương tác với cơ sở dữ liệu, cho phép người dùng thực hiện các truy vấn SQL, quản lý bảng cơ sở dữ liệu, nhập và xuất dữ liệu và cấu hình nhiều cài đặt cơ sở dữ liệu khác nhau mà không cần sử dụng dòng lệnh. Trên Debian Linux, phpMyAdmin thường được cài đặt cùng với ngăn xếp LAMP (Linux, Apache, MySQL/MariaDB, PHP), giúp quản trị viên và nhà phát triển dễ dàng xử lý các hoạt động cơ sở dữ liệu theo cách trực quan và có tổ chức hơn.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt và bảo mật công cụ quản trị cơ sở dữ liệu phpMyAdmin trên Debian 12.

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

  • Máy chủ chạy Debian 12.
  • Mật khẩu gốc được cấu hình trên máy chủ.

Bắt đầu​

Trước khi bắt đầu, hãy cập nhật các gói hệ thống của bạn lên phiên bản mới nhất. Bạn có thể cập nhật tất cả các gói bằng lệnh sau:
Mã:
apt update -y
Sau khi hệ thống của bạn được cập nhật, bạn có thể tiến hành bước tiếp theo.

Cài đặt LAMP Server​

phpMyAdmin là ứng dụng dựa trên PHP chạy trên máy chủ web. Vì vậy, bạn sẽ cần cài đặt máy chủ LAMP trên máy chủ của mình. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt install apache2 mariadb-server libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-zip php-gd unzip -y
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt và cấu hình phpMyAdmin​

Trước tiên, hãy tải xuống phiên bản mới nhất của phpMyAdmin từ trang web chính thức của họ bằng cách sử dụng lệnh sau lệnh:
Mã:
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
unzip phpMyAdmin-5.2.1-all-languages.zip
Tiếp theo, di chuyển thư mục đã giải nén đến /usr/share bằng lệnh sau lệnh:
Mã:
mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadmin
Tiếp theo, tạo thư mục cần thiết bằng lệnh sau:
Mã:
mkdir -p /var/lib/phpmyadmin/tmp
Tiếp theo, thiết lập quyền sở hữu thích hợp cho phpMyAdmin thư mục:
Mã:
chown -R www-data:www-data /var/lib/phpmyadmin
Tiếp theo, sao chép tệp cấu hình mẫu phpMyAdmin:
Mã:
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Tiếp theo, cài đặt pwgen và tạo khóa bí mật với nội dung sau lệnh:
Mã:
apt-get install pwgen -y
pwgen -s 32 1
Đầu ra:
Mã:
pau9t1SG6lmaeCFxKqeeaY5N4erIa25K
Tiếp theo, chỉnh sửa tệp config.inc.php và cấu hình it:
Mã:
nano /usr/share/phpmyadmin/config.inc.php
Xác định khóa bí mật của bạn và bỏ chú thích các dòng sau:
Mã:
$cfg['blowfish_secret'] = 'pau9t1SG6lmaeCFxKqeeaY5N4erIa25K'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'password';
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
Lưu và đóng tệp khi bạn hoàn tất.

Tạo người dùng quản trị phpMyAdmin​

Việc tạo một người dùng riêng để quản lý cơ sở dữ liệu thông qua phpMyAdmin luôn là được khuyến nghị.

Đầu tiên, nhập các bảng phpMyAdmin vào cơ sở dữ liệu MariaDB bằng lệnh sau:
Mã:
mysql < /usr/share/phpmyadmin/sql/create_tables.sql
Tiếp theo, kết nối với shell MariaDB bằng lệnh sau:
Mã:
mysql
Sau khi kết nối, hãy cấp tất cả các quyền cần thiết cho cơ sở dữ liệu phpmyadmin bằng lệnh sau lệnh:
Mã:
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';
Tiếp theo, tạo người dùng quản trị bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE USER myadmin;
Tiếp theo, cấp tất cả các quyền cho người dùng quản trị bằng lệnh sau lệnh:
Mã:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Tiếp theo, xóa các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Apache cho phpMyAdmin​

Tiếp theo, bạn phải tạo tệp cấu hình máy chủ ảo Apache cho phpMyAdmin. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/apache2/conf-available/phpmyadmin.conf
Thêm các dòng sau:
Mã:
Alias /phpmyadmin /usr/share/phpmyadmin
 Options SymLinksIfOwnerMatch DirectoryIndex index.php   AddType application/x-httpd-php .php   SetHandler application/x-httpd-php  php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0    AddType application/x-httpd-php .php   SetHandler application/x-httpd-php  php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 

# Authorize for setup
   AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup  Require valid-user 

# Disallow web access to directories that don't need it
 Require all denied

 Require all denied

 Require all denied
Lưu và đóng tệp khi bạn hoàn tất, sau đó kích hoạt tệp cấu hình phpMyAdmin bằng lệnh sau lệnh:
Mã:
a2enconf phpmyadmin.conf
Tiếp theo, tải lại dịch vụ Apache để áp dụng các thay đổi:
Mã:
systemctl reload apache2
Bạn có thể kiểm tra trạng thái của dịch vụ Apache bằng cách sử dụng lệnh sau lệnh:
Mã:
systemctl status apache2
Bạn sẽ thấy kết quả sau:
Mã:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2024-08-25 11:28:21 UTC; 5s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 23021 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 23031 (apache2) Tasks: 6 (limit: 2341) Memory: 14.6M CPU: 89ms CGroup: /system.slice/apache2.service ??45031 /usr/sbin/apache2 -k start ??45032 /usr/sbin/apache2 -k start ??45033 /usr/sbin/apache2 -k start ??45034 /usr/sbin/apache2 -k start ??45035 /usr/sbin/apache2 -k start ??45036 /usr/sbin/apache2 -k start
Sun 25 11:28:21 debian systemd[1]: Starting The Apache HTTP Server...

Truy cập phpMyAdmin​

Lúc này, phpMyAdmin đã được cài đặt và cấu hình. Bây giờ, hãy mở trình duyệt web của bạn và truy cập phpMyAdmin bằng URL . Bạn sẽ thấy trang đăng nhập phpMyAdmin:


p1.png



Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đi. Bạn sẽ thấy bảng điều khiển phpMyAdmin trên trang sau:


p2.png


Bảo mật phpMyAdmin​

Bạn nên bảo mật phpMyAdmin bằng xác thực hai yếu tố. Bạn có thể thực hiện việc này bằng cách sử dụng chức năng xác thực và ủy quyền .htaccess.

Đầu tiên, hãy chỉnh sửa tệp cấu hình phpMyAdmin:
Mã:
nano /etc/apache2/conf-available/phpmyadmin.conf
Thêm dòng "AllowOverride All" vào khối máy chủ sau:
Mã:
 Options FollowSymLinks DirectoryIndex index.php AllowOverride All
Lưu và đóng tệp khi bạn hoàn tất, sau đó khởi động lại Apache dịch vụ:
Mã:
systemctl restart apache2
Tiếp theo, tạo tệp .htaccess và xác định loại xác thực Apache:
Mã:
nano /usr/share/phpmyadmin/.htaccess
Thêm nội dung sau dòng:
Mã:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user
Lưu và đóng tệp sau đó tạo người dùng bằng lệnh sau:
Mã:
htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuser
Bạn sẽ được yêu cầu đặt mật khẩu như hình minh họa bên dưới:
Mã:
New password:
Re-type new password:
Adding password for user secureuser

Xác minh phpMyAdmin​

Tại thời điểm này, phpMyAdmin được bảo mật bằng xác thực bổ sung. Để xác minh, hãy mở trình duyệt web của bạn và truy cập phpMyAdmin bằng URL . Bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu bổ sung như hiển thị bên dưới:


p3.png



Sau khi cung cấp tên người dùng và mật khẩu, bạn sẽ được chuyển hướng đến trang đăng nhập phpMyAdmin thông thường.

Kết luận​

Xin chúc mừng! Bạn đã cài đặt và bảo mật phpMyAdmin thành công trên Debian 12. Bây giờ bạn có thể khám phá phpMyAdmin và quản lý cơ sở dữ liệu của mình từ trình duyệt web.
 
Back
Bên trên