Hướng dẫn cách cài đặt phpMyAdmin trên máy chủ Debian 10

Trên thực tế, nhiều người dùng cần chức năng quản lý cơ sở dữ liệu trên hệ thống của họ với MariaDB, họ có thể không cảm thấy thoải mái hoặc muốn tương tác bằng đồ họa, sẽ dễ dàng hơn với việc tương tác với hệ thống như MariaDB, nó chỉ thực hiện qua những dòng lệnh.

Memanage Database Menggunakan phpMyAdmin

Memanage Database Menggunakan phpMyAdmin

phpMyAdmin được tạo ra để người dùng có thể tương tác với MariaDB thông qua giao diện web. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn chi tiết về cách cài đặt và bảo mật phpMyAdmin để bạn có thể sử dụng nó một cách an toàn trong việc quản lý cơ sở dữ liệu của bạn trên hệ thống Debian 10.

Yêu cầu cần thiết

Để làm tốt hướng dẫn này của chúng tôi, bạn cần những thứ sau:

Lưu ý: MariaDB là một fork do cộng đồng MySQL phát triển, mặc dù hai chương trình có liên quan chặt chẽ với nhau nhưng chúng không thể hoán đổi cho nhau hoàn toàn. Mặc dù phpMyAdmin được thiết kế đặc biệt để quản lý cơ sở dữ liệu MySQL và tham chiếu đến MySQL trong các hộp thoại khác nhau, hãy yên tâm rằng cài đặt MariaDB của bạn sẽ hoạt động chính xác với phpMyAdmin.

Cuối cùng, có những lưu ý quan trọng về bảo mật khi sử dụng phần mềm phpMyAdmin, bởi vì: 
  • Giao tiếp trực tiếp với cài đặt MariaDB của bạn
  • ​​​​​​Xử lý xác thực bằng thông tin đăng nhập MariaDB
  • Thực thi và trả về kết quả cho các truy vấn SQL tùy ý
Vì những lý do này và bởi vì nó là một ứng dụng PHP được triển khai rộng rãi thường xuyên bị nhắm mục tiêu tấn công, bạn không nên chạy phpMyAdmin trên các hệ thống từ xa qua kết nối HTTP thuần túy.

Nếu bạn không có miền hiện đang được cấu hình bảo mật miễn phí với chứng chỉ SSL / TLS, bạn có thể làm theo hướng dẫn này về cách bảo mật Apache bằng Let's Encrypt trên Debian 10 miễn phí của chúng tôi để cài đặt và cấu hình cho tên miền của bạn. Điều này sẽ yêu cầu bạn đăng ký tên miền được đăng ký thật, nó được tạo bản ghi DNS cho máy chủ của bạn và thiết lập Máy chủ ảo Apache.
Khi bạn đã hoàn thành những yêu cầu ở trên, chúng ta đã sẵn sàng để bắt đầu với bài hướng dẫn này của chúng tôi.

Bước 1 - Cài đặt phpMyAdmin và các gói hỗ trợ cần thiết 

Trước khi cài đặt và cấu hình phpMyAdmin, chúng tôi khuyên bạn nên cài đặt thêm những tiện ích mở rộng PHP vào máy chủ của bạn để kích hoạt một số chức năng nhất định cũng như cải thiện hiệu suất làm việc của nó.
Nếu bạn đã làm theo hướng dẫn về cách cài đặt và cấu hình bộ phần mềm LAMP của chúng tôi, một số mô-đun sẽ được cài đặt sẵn cùng với gói phần mềm php trong bộ LAMP mà chúng tôi đã hướng dẫn. Tuy nhiên, bạn cũng nên cài đặt thêm những gói này:
  • Php-mbstring: Đây là module mở rộng PHP được sử dụng để quản lý các chuỗi không phải ASCII và chuyển đổi các chuỗi thành các mã hóa khác nhau
  • Php-zip: Module PHP này hỗ trợ tải tệp .zip lên phpMyAdmin, phục vụ cho việc sao lưu và cập nhập dữ liệu của bạn trên phpmyadmin nhanh chóng.
  • Php-gd: Module PHP này cho phép hỗ trợ Thư viện đồ họa GD.
Trước tiên, hãy cập nhật thư viện cài đặt apt trên máy chủ của bạn:
sudo apt update
Sau đó, chúng ta sẽ sử dụng thư viện apt để tải những gói phần mềm xuống và cài đặt chúng:
sudo apt install php-mbstring php-zip php-gd
Bây giờ, chúng ta có thể cài đặt phpMyAdmin.
Trong bài viết này, phpMyAdmin không có sẵn từ kho lưu trữ mặc định trên Debian, vì vậy chúng ta sẽ cần tải mã nguồn xuống máy chủ của mình từ trang phpMyAdmin.
Để làm điều này, bây giờ chúng ta sẽ điều hướng đến trang chủ cung cấp và phát hành phpMyAdmin, sau đó chọn một phiên bản phù hợp, ổn định và mới nhất rồi bấm vào liên kết tải xuống có định dạng lưu trữ với phần đuôi là tar.gz. Liên kết này trỏ đến một tệp lưu trữ được gọi là tarball, khi được giải nén nó sẽ cho chúng ta tất cả dữ liệu cần thiết của gói cài đặt phpmyadmin trên hệ thống máy chủ của chúng ta. Tại thời điểm chúng tôi viết bài viết này, phiên bản mới nhất hiện tại là phiên bản 4.9.7.

Lưu ý: Trên trang chủ của phpmyadmin bạn sẽ nhận thấy có những liên kết tải xuống với các gói ngôn ngữ cài đặt như sau: all-languages và english. Đường dẫn liên kết all-languages khi tải xuống, chúng ta sẽ có phiên bản phpMyAdmin cho phép chúng ta chọn một trong 72 ngôn ngữ, còn liên kết english chỉ cho phép chúng ta sử dụng phpMyAdmin bằng một ngôn ngữ duy nhất là tiếng Anh.

Hướng dẫn này chúng ta sẽ sử dụng gói  all-languages để cài đặt phpMyAdmin, nhưng nếu bạn muốn sử dụng phpMyAdmin chỉ bằng tiếng Anh, bạn có thể chọn liên kết cài đặt gói english. Chỉ cần bạn thay thế đường dẫn liên kết và tên của nó nếu cần thiết trong các lệnh bên dưới.

Thay thế đường dẫn liên kết trong lệnh wget  này bằng liên kết tải xuống mà bạn vừa sao chép trên trang chủ của phpmyadmin, sau đó bấm ENTER.

Lệnh này sẽ tải xuống bộ dữ liệu cài đặt phpmyadmin được nén lại với định dạng .tar.gz xuống máy chủ của bạn:

 
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.7/phpMyAdmin-4.9.7-all-languages.tar.gz
Bây giờ chúng ta sẽ giải nén nó ra, nếu bạn thay thế liên kết tải xuống ở lệnh trên, bạn sẽ có tên tệp tin nén khác với liên kết hướng dẫn của chúng tôi, hãy thay thế nó để giải nén đúng dữ liệu bạn vừa tải xuống. Tên tẹp tin của chúng tôi tải về là: phpMyAdmin-4.9.7-all-languages.tar.gz
tar xvf phpMyAdmin-4.9.7-all-languages.tar.gz
Sau khi bạn chắn chắn thông tin trên là đúng dữ liệu của bạn, bây giờ hãy bấm ENTER. Lệnh này sẽ giải nén dữ liệu mà chúng ta tải xuống và tạo một số tệp tin cũng như thư mục mới trên máy chủ của chúng ta và tất cả đều nằm trong một thư mục có tên phpMyAdmin-4.9.7-all-languages

Lúc này, chúng ta sẽ di chuyển thư mục phpMyAdmin-4.9.7-all-languages và tất cả các thư mục con trong đó đến vị trí mà phpMyAdmin sẽ tìm thấy dữ liệu được cấu hình theo mặc định của nó. Chúng ta cũng sẽ đổi tên thư mục phpMyAdmin-4.9.7-all-languages thành tên ngắn gọn hơn, bằng cách sử dụng lệnh sau:
sudo mv phpMyAdmin-4.9.7-all-languages/ /usr/share/phpmyadmin
Lưu ý rằng, nếu bạn thay thế liên kết tải xuống như được nói ở trên thì bạn cần phải thay thế tên tệp tin mà bạn đã giải nén có được tương ứng, nếu không bạn sẽ không có dữ liệu nào trong usr/share/phpmyadmin cả, bởi vì thông tin thư mục di chuyển sai sẽ là một thư mục trống.

Khi hoàn thành đến đây, chúng ta đã cài đặt hoàn tất phpMyAdmin, nhưng có một số thay đổi cấu hình chúng ta phải thực hiện để có thể truy cập phpMyAdmin thông qua địa chỉ IP hoặc tên miền trên trình duyệt web.


Bước 2 - Cấu hình thủ công phpMyAdmin 
Khi chúng ta cài đặt phpMyAdmin thông qua thư viện quản lí các gói cài đặt apt. Mặc định phpMyAdmin sẽ ở chế độ “Không được cấu hình”, sau đó sẽ thực hiện một số thao tác để nó tự động để thiết lập chương trình. Nhưng, vì trong hướng dẫn của bài viết này chúng ta đã cài đặt phpMyAdmin từ nguồn trên trang chủ của nó, vì thế chúng ta sẽ cần thực hiện một số bước để cài đặt phpmyAdmin theo cách thủ công.

Bây giờ, chúng ta sẽ tạo một thư mục mới nơi phpMyAdmin sẽ lưu trữ các dữ liệu tạm thời của nó với tên tmp thông qua lệnh sau:
sudo mkdir -p /var/lib/phpmyadmin/tmp
Đồng thời, chúng ta sẽ chỉ định người dùng Linux  www-data mà các máy chủ web như Apache sử dụng theo mặc định cho các hoạt động bình thường trong hệ thống Ubuntu và Debian - có quyền quản lý và sở hữu của thư mục này:
sudo chown -R www-data:www-data /var/lib/phpmyadmin
Những dữ liệu được trích xuất trước đó sẽ có tệp tin cấu hình mẫu như thế này: config.sample.inc.php, chúng ta sẽ sử dụng nó làm tệp cấu hình trên hệ thống của mình. Bây giờ, chúng ta sẽ tạo một bản sao của nó và vẫn giữ nguyên nó trong thư mục /usr/share/phpmyadmin nhưng chúng ta đổi tên bản sao thành config.inc.php với lệnh sau:
sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Mở tệp này bằng trình soạn thảo văn bản ưa thích của bạn, ở đây chúng tôi sử dụng nano:
sudo nano /usr/share/phpmyadmin/config.inc.php

phpMyAdmin sử dụng cookie làm phương thức xác thực theo mặc định, nó cho phép bạn đăng nhập vào phpMyAdmin với tư cách  của bất kỳ người dùng MariaDB nào hợp lệ với hỗ trợ của cookie. Với phương pháp này, mật khẩu người dùng MariaDB của chúng ta được lưu trữ và mã hóa bằng một thuật toán Tiêu chuẩn mã hóa nâng cao (AES) trong cookie tạm thời.

Trong quá khứ, phpMyAdmin đã sử dụng mật mã Blowfish cho mục đích này và điều này vẫn được phản ánh trong tệp cấu hình của nó. Kéo xuống vị trí của  $cfg['blowfish_secret'] trong tệp  /usr/share/phpmyadmin/config.inc.php, chúng ta sẽ nhìn thấy như thế này.
. . .$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */. . .
Bạn thấy hai dấu nháy đơn ' ' phía sau dấu bằng, bây giờ chúng ta sẽ nhập một chuỗi gồm 32 ký tự ngẫu nhiên. Đây không phải là cụm mật khẩu chúng ta cần nhớ, nó chỉ được sử dụng nội bộ bởi thuật toán AES được chúng tôi nhắc ở trên, ví dụ:
. . .$cfg['blowfish_secret'] = 'STRINGOFTHIRTYTWORANDOMCHARACTERS'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */. . .

Lưu ý: Nếu cụm mật khẩu bạn nhập ở đây có độ dài ngắn hơn 32 ký tự sẽ dẫn đến việc cookie được mã hóa kém an toàn. Tuy nhiên, nhập một chuỗi dài hơn 32 ký tự sẽ không gây nên điều gì cả. 
Để tạo một chuỗi ký tự ngẫu nhiên, bạn có thể cài đặt và sử dụng chương trình pwgen có sẵn trên thư viện apt của bạn:
sudo apt install pwgen
Theo mặc định, chương trình pwgen tạo mật khẩu dễ, kém an toàn. Tuy nhiên, chúng ta tăng độ khó cho nó bằng cách thêm -s như trong lệnh sau, bạn có thể tạo một mật khẩu hoàn toàn ngẫu nhiên, khó ghi nhớ và an toàn hơn nhiều. Ở lệnh dưới đây bạn cần lưu ý, phía sau -s là số 32, có nghĩa là chương trình sẽ tạo ra chuỗi có 32 ký tự ngẫu nhiên và số 1 sau số 32 có nghĩa là chương trình sẽ tạo duy nhất 1 chuỗi. Qua ví dụ ở lệnh dưới, bạn có thể tùy biến lại dòng lệnh của bạ theo sở thích và phục vụ cho những công việc khác mà bạn cần dùng đến:
pwgen -s 32 1

Tiếp theo, chúng ta tiếp tục kéo xuống phần /* User used to manipulate with storage */. trong file cấu hình của phpmyAdmin như ở trên với đường dẫn /usr/share/phpmyadmin/config.inc.php. Phần này gồm một số thông tin xác định người dùng cho cơ sở dữ liệu MariaDB có tên là pma, người dùng này sẽ thực hiện được những nhiệm vụ quản trị nhất định trên phpMyAdmin. Theo nhà phát hành, tài khoản người dùng đặc biệt này không cần thiết trong trường hợp chỉ có một người dùng truy cập phpMyAdmin, nhưng nó được khuyến khích cấu hình hỏa động trong các trường hợp nếu chúng ta sử dụng nhiều người dùng trên phpmyAdmin của mình

Và bây giờ chúng ta sẽ cấu hình cho người dùng pma. Để cho dòng controluser controlpass hoạt động, chúng ta làm bằng cách xóa các dấu gạch chéo trước những dòng đó. Sau đó, cập nhật thông tin cấu hình mật khẩu an toàn cho controlpass. Nếu bạn không làm điều này, mật khẩu mặc định password sẽ vẫn được thực thi và người khác có thể dễ dàng truy cập vào cơ sở dữ liệu của bạn thông qua giao diện phpMyAdmin, vì vậy hãy tạo cho nó một mật khẩu an toàn
Sau khi thực hiện những thay đổi được nói ở trên, nội dung trong tệp cấu hình /usr/share/phpmyadmin/config.inc.php sẽ giống như sau:
. . ./* User used to manipulate with storage */// $cfg['Servers'][$i]['controlhost'] = '';// $cfg['Servers'][$i]['controlport'] = '';$cfg['Servers'][$i]['controluser'] = 'pma';$cfg['Servers'][$i]['controlpass'] = 'password';. . .

Ở dưới phần trên, bạn sẽ thấy hàng  /* Storage database and tables */. Phần này bao gồm một số thông tin xác định vị trí lưu trữ cấu hình phpMyAdmin, cơ sở dữ liệu và một số bảng được người dùng cơ sở dữ liệu pma quản lý sử dụng. Các bảng này sẽ kích hoạt một số chức năng trong phpMyAdmin, bao gồm Bookmarks, comments, PDF generation,....

Chúng ta xóa dấu gạch chéo ở đầu mỗi dòng để nó bắt đầu hoạt đồng, sau khi hoàn thành thì nội dung trong tệp cấu hình  /usr/share/phpmyadmin/config.inc.php giống như thế này:

 
. . ./* Storage database and tables */$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';. . .
Các bảng này chưa tồn tại, nhưng chúng ta sẽ tạo chúng trong những bước ngắn gọn tiếp theo.

Hoàn thành dếnđây, chúng ta sẽ kéo xuống cuối tệp cấu hình  /usr/share/phpmyadmin/config.inc.php bằng cách nhấn giữ phim Ctrl và phím End trên bàn phím của bạn và thêm dòng sau:
. . .$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
Thao tác này phpMyAdmin sẽ cấu hình để sử dụng thư mục /var/lib/phpmyadmin/tmp mà chúng ta đã tạo ở trên làm thư mục lưu trữ tạm thời. phpMyAdmin sẽ sử dụng thư mục tạm thời này làm bộ đệm ẩn giúp chúng ta cải thiện tốc độ tải trang nhanh hơn:
Lưu và đóng tệp sau khi thêm dòng này. Nếu bạn cũng sử dụng nano như chúng tôi, bạn có thể nhấn CTRL + X, sau đó bấm YENTER.

Tiếp theo, chúng sẽ cần tạo cơ sở dữ liệu lưu trữ phpMyAdmin và các bảng. Khi chúng ta cài đặt phpMyAdmin trên, nó cũng tạo một tệp tin có tên create_tables.sql. Tệp tin SQL này chứa tất cả các lệnh cần thiết để tạo cơ sở dữ liệu lưu trữ cấu hình và các bảng phpMyAdmin cần thiết để hoạt động.
Chạy lệnh này để sử dụng tệp  create_tables.sql tạo cơ sở dữ liệu lưu trữ cấu hình và bảng:
sudo mariadb < /usr/share/phpmyadmin/sql/create_tables.sql
Tiếp theo, chúng ta sẽ tạo người dùng quản trị pma:
sudo mariadb
Tại đây, chúng ta chạy lệnh này để tạo người dùng pma và cấp cho nó những quyền thích hợp. Đảm bảo thay đổi nội dung password thành mật khẩu của bạn để phù hợp với mật khẩu bạn đã đặt ở trong tệp cấu hình config.inc.php:
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';
Nếu bạn chưa tạo, bạn cũng nên tạo người dùng MariaDB thông thường cho mục đích quản lý cơ sở dữ liệu thông qua phpMyAdmin của bạn, vì bạn nên đăng nhập bằng tài khoản khác chứ không phải là tài khoản người dùng pma. Nên bạn có thể tạo người dùng có đặc quyền đối với tất cả các bảng trong cơ sở dữ liệu, cũng như quyền thêm, thay đổi và xóa đặc quyền người dùng bằng lệnh dưới. Dù bạn chỉ định đặc quyền nào cho người dùng này, thì cũng nên tạo cho người dùng này một mật khẩu mạnh và an toàn:
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Sau đó, chúng ta thoát khỏi chương trình MariaDB bằng cách nhập vào:
exit
phpMyAdmin hiện đã được cài đặt và cấu hình đầy đủ trên máy chủ của bạn. Tuy nhiên, máy chủ Apache của bạn chưa biết cách phục vụ ứng dụng. Để giải quyết vấn đề này, chúng tôi sẽ tạo một tệp cấu hình Apache cho nó.

Bước 3 - Định cấu hình Apache để sử dụng phpMyAdmin

Khi chúng ta cài đặt phpMyAdmin từ kho lưu trữ apt mặc định, quá trình cài đặt sẽ tự động tạo tệp cấu hình Apache và đặt nó vào thư mục /etc/apache2/conf-enabled/. Tuy nhiên, vì chúng tôi đã cài đặt phpMyAdmin từ nguồn tại trang nhà phát hành trong bài viết này, vì thế chúng ta sẽ cần tạo và kích hoạt tệp này theo cách thủ công.
Tạo một tệp có tên phpmyadmin.conf trong thư mục /etc/apache2/conf-available/
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Sau đó, chúng ta sẽ thêm nội dung sau vào tệp này:
# phpMyAdmin default Apache configurationAlias /phpmyadmin /usr/share/phpmyadmin<Directory /usr/share/phpmyadmin>    Options SymLinksIfOwnerMatch    DirectoryIndex index.php    <IfModule mod_php5.c>        <IfModule mod_mime.c>            AddType application/x-httpd-php .php        </IfModule>        <FilesMatch ".+\.php$">            SetHandler application/x-httpd-php        </FilesMatch>        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    </IfModule>    <IfModule mod_php.c>        <IfModule mod_mime.c>            AddType application/x-httpd-php .php        </IfModule>        <FilesMatch ".+\.php$">            SetHandler application/x-httpd-php        </FilesMatch>        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    </IfModule></Directory># Authorize for setup<Directory /usr/share/phpmyadmin/setup>    <IfModule mod_authz_core.c>        <IfModule mod_authn_file.c>            AuthType Basic            AuthName "phpMyAdmin Setup"            AuthUserFile /etc/phpmyadmin/htpasswd.setup        </IfModule>        Require valid-user    </IfModule></Directory># Disallow web access to directories that don't need it<Directory /usr/share/phpmyadmin/templates>    Require all denied</Directory><Directory /usr/share/phpmyadmin/libraries>    Require all denied</Directory><Directory /usr/share/phpmyadmin/setup/lib>    Require all denied</Directory>
 Đây là tệp cấu hình phpMyAdmin Apache mặc định được chúng tôi sưu tập trong các bản cài đặt mặc định trên Ubuntu, tuy nhiên nội dung này cũng sẽ hoạt động tốt cho các thiết lập Debian của chúng ta.
Lưu và đóng tệp, sau đó chúng ta kích hoạt phpmyadmin.conf  bằng cách sử dụng a2enconf như sau:
sudo a2enconf phpmyadmin.conf 
Bây giờ, tải lại chương trình dịch vụ  apache2 để máy chủ chính xác có được những thay đổi cấu hình mà chúng ta đã chỉnh sửa để nó hoạt động theo ý muốn của chúng ta
sudo systemctl reload apache2

Lúc này, chúng ta có thể truy cập vào trang đăng nhập phpMyAdmin bằng cách sử dụng tên miền hoặc địa chỉ ip trên máy chủ của mình và nhập nó trình duyệt web như sau:

https://your_domain/phpmyadmin hoặc https://your_ip/phpmyadmin

Bạn sẽ thấy nội dung trang đăng nhập của phpmyAdmin như sau:
 

phpmyadmin login blank

Sử dụng tên đăng nhập và mật khẩu bạn đã tạo ở trên để đăng nhập vào giao diện này. Sau khi đăng nhập, bạn sẽ thấy giao diện quản lý bên trong như thế này:
 
phpmyadmin ui deb10


 Nhìn như vậy, chúc mừng bạn. Mọi thứ đã sẵn sàng, bây giờ bạn có thể bắt đầu sử dụng phpmyAdmin để kết nối sử dụng các dịch vụ trên máy chủ Web của bạn. Những nội dung tiếp theo, chúng tôi sẽ hướng dẫn để bạn bảo vệ phpmyAdmin trên máy chủ một cách an toàn, bảo mật tốt hơn để tránh khỏi những kẻ tấn công.

Bước 4 - Bảo mật phpMyAdmin

Vì tính phổ biến được sử dụng rộng rãi của nó, nên phpMyAdmin là mục tiêu lớn của những kẻ tấn công và bạn nên cẩn thận để ngăn chặn những truy cập trái phép. Một trong những cách dễ nhất để thực hiện việc này là chúng ta sẽ đặt một cổng xác thực trước khi muốn truy cập vào trang đăng nhập của phpmyAdmin bằng cách sử dụng chức năng xác thực thông qua tệp tin .htaccess và ủy quyền tích hợp của Apache .

Để thực hiện việc này, trước tiên chúng ta phải chỉnh sửa tệp cấu hình Apache để cho phép sử dụng ghi đè tệp 
.htaccess .

Chỉnh sửa tệp được liên kết đã được đặt trong thư mục cấu hình Apache:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf 


Chúng ta thêm nội dung AllowOverride All  vào  <Directory /usr/share/phpmyadmin> của tệp cấu hình này, như sau:
 

<Directory /usr/share/phpmyadmin>    Options FollowSymLinks    DirectoryIndex index.php    AllowOverride All    <IfModule mod_php5.c>    . . .

 Khi bạn cũng đã thêm dòng này xong, hãy lưu và đóng nó. Cũng như thường lệ, để máy chủ thực hiện các thay đổi bạn đã thực hiện, hãy khởi động lại Apache:
sudo systemctl restart apache2
Bây giờ chúng đã cho phép sử dụng .htaccess cho máy chủ của mình, chúng ta sẽ tạo một ứng dụng để thực bắt đầu triển khai một vài bảo mật cho hệ thống.
Lưu ý, tệp tin này phải được tạo trong thư mục phpmyAdnin của bạn. Bạn có thể tạo tệp cần thiết và mở tệp đó trong trình soạn thảo văn bản của mình với người dùng root: 
sudo nano /usr/share/phpmyadmin/.htaccess

Trong tệp /usr/share/phpmyadmin/.htaccess, hãy nhập nội dung sau:
AuthType BasicAuthName "Restricted Files"AuthUserFile /usr/share/phpmyadmin/.htpasswdRequire valid-user
 Đây là ý nghĩa hoạt động của mỗi dòng trên:
AuthType Basic: Dòng này chỉ định kiểu xác thực mà bạn đang triển khai. Loại này sẽ triển khai xác thực mật khẩu bằng dữ liệu mật khẩu.
AuthName: Dòng này đặt thông báo cho thông tin xác thực. Bạn nên giữ điều này chung chung để người dùng trái phép sẽ không nhận được bất kỳ thông tin nào về những gì đang được bạn bảo vệ.
AuthUserFile: Dòng này đặt vị trí của tệp mật khẩu sẽ được sử dụng để xác thực. Điều này phải nằm ngoài các thư mục đang sử dụng. Chúng ta ôi sẽ tạo tệp này ở bên dưới.
Require valid-user: Dòng này chỉ định chỉ những người dùng đã xác thực mới được cấp quyền truy cập vào dữ liệu này. Đây là điều thực sự đã cản được những người dùng trái phép.
Khi bạn hoàn thành thông tin tẻeen, hãy lưu và đóng tệp tin lại.
Vị trí mà chúng ta chọn cho tệp mật khẩu của mình, ở đây chúng tôi hướng dẫn sẽ là  /usr/share/phpmyadmin/.htpasswd. Bây giờ bạn có thể tạo tệp này và chuyển nó thành người dùng ban đầu bằng tiện ích htpasswd :
sudo htpasswd -c /usr/share/phpmyadmin/.htpasswd username
Bạn sẽ được nhắc lựa chọn và xác nhận mật khẩu cho người dùng mà bạn đang tạo. Sau đó, tệp được tạo bằng mật khẩu bạn đã nhập và nó sẽ mã hóa thông tin đó
Nếu bạn muốn thêm một người dùng khác để bổ sung, bạn không cần phải thêm  -c vào lệnh, chỉ cần như thế này: 
sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
Bây giờ, khi bạn truy cập vào phpMyAdmin của mình, bạn sẽ được nhắc nhập tên tài khoản và mật khẩu bổ sung mà bạn vừa định cấu hình:       
https://your_domain_or_IP/phpmyadmin
 
pma deb10 apache auth


Nếu bạn nhập chính xác thông tin xác thực Apache, bạn sẽ được đưa đến trang đăng nhập phpMyAdmin để nhập thông tin đăng nhập MariaDB của mình. Thiết lập này sẽ bổ sung thêm một lớp bảo mật, điều rất cần thiết vì phpMyAdmin đã bị phản ánh nhiều về những lỗ hổng bảo mật trong quá khứ của nó.

Phần kết luận

Bây giờ bạn đã cấu hình phpMyAdmin và sẵn sàng sử dụng trên máy chủ Debian 10 của mình. Sử dụng giao diện này, bạn có thể dễ dàng tạo cơ sở dữ liệu, người dùng, bảng dữ liệu, v.v. và thực hiện các thao tác thông thường như chỉnh sửa, xóa và thêm, thay đổi cấu trúc dữ liệu...

Tác giả bài viết: Hoàng Sơn

Đừng quên để lại cho chúng tôi bình luận nếu bạn gặp khó khăn hoặc cần bất kỳ giúp đỡ nào. Chúng tôi sẽ trả lời tất cả những ý kiến cũng như luôn lắng nghe đóng góp của mọi người tại bình luận dưới này, điều này sẽ cần thiết cho một vài người bạn khác cũng cần được trao đổi thêm thông tin.
Cám ơn các bạn đã quan tâm và dành thời gian xem hết bài viết này của chúng tôi.

Tổng số điểm của bài viết là: 5 trong 1 đánh giá

Xếp hạng: 5 - 1 phiếu bầu
Click để đánh giá bài viết

  Ý kiến bạn đọc

Góc nhìn

Xem tất cả
Cách đơn giản để quản lý cảm xúc của bạn và sống hạnh phúc mỗi ngày

Cách đơn giản để quản lý cảm xúc của bạn và sống hạnh phúc mỗi ngày

Mọi người đều đã trải qua sự tức giận, buồn bã, thất vọng và thất vọng. Nếu quản lý không đúng cách, những cảm xúc tiêu cực này có thể phá vỡ mối quan...

Làm thế nào để thành công?

Làm thế nào để thành công?

Hôm nay, chúng ta tạm gác lại những chia sẻ phục vụ cho mục đích hỗ trợ kỹ thuật. Cùng nghĩ một tí xíu về thời gian đã qua và định hướng sơ bộ cho câu...

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây