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.
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.
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.
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:
Tiếp theo, di chuyển thư mục đã giải nén đến /usr/share bằng lệnh sau lệnh:
Tiếp theo, tạo thư mục cần thiết bằng lệnh sau:
Tiếp theo, thiết lập quyền sở hữu thích hợp cho phpMyAdmin thư mục:
Tiếp theo, sao chép tệp cấu hình mẫu phpMyAdmin:
Tiếp theo, cài đặt pwgen và tạo khóa bí mật với nội dung sau lệnh:
Đầu ra:
Tiếp theo, chỉnh sửa tệp config.inc.php và cấu hình it:
Xác định khóa bí mật của bạn và bỏ chú thích các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Đầu tiên, nhập các bảng phpMyAdmin vào cơ sở dữ liệu MariaDB bằng lệnh sau:
Tiếp theo, kết nối với shell MariaDB bằng lệnh sau:
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:
Tiếp theo, tạo người dùng quản trị bằng lệnh sau:
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:
Tiếp theo, xóa các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
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:
Tiếp theo, tải lại dịch vụ Apache để áp dụng các thay đổi:
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:
Bạn sẽ thấy kết quả sau:
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:
Đầu tiên, hãy chỉnh sửa tệp cấu hình phpMyAdmin:
Thêm dòng "AllowOverride All" vào khối máy chủ sau:
Lưu và đóng tệp khi bạn hoàn tất, sau đó khởi động lại Apache dịch vụ:
Tiếp theo, tạo tệp .htaccess và xác định loại xác thực Apache:
Thêm nội dung sau dòng:
Lưu và đóng tệp sau đó tạo người dùng bằng lệnh sau:
Bạn sẽ được yêu cầu đặt mật khẩu như hình minh họa bên dưới:
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.
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
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
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
Mã:
unzip phpMyAdmin-5.2.1-all-languages.zip
Mã:
mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadmin
Mã:
mkdir -p /var/lib/phpmyadmin/tmp
Mã:
chown -R www-data:www-data /var/lib/phpmyadmin
Mã:
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Mã:
apt-get install pwgen -y
pwgen -s 32 1
Mã:
pau9t1SG6lmaeCFxKqeeaY5N4erIa25K
Mã:
nano /usr/share/phpmyadmin/config.inc.php
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';
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
Mã:
mysql
Mã:
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';
Mã:
MariaDB [(none)]> CREATE USER myadmin;
Mã:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
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
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
Mã:
a2enconf phpmyadmin.conf
Mã:
systemctl reload apache2
Mã:
systemctl status apache2
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:
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:

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
Mã:
Options FollowSymLinks DirectoryIndex index.php AllowOverride All
Mã:
systemctl restart apache2
Mã:
nano /usr/share/phpmyadmin/.htaccess
Mã:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user
Mã:
htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuser
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:
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.