Hướng dẫn cài đặt và bảo mật phpMyAdmin trên server Ubuntu 18.04.

0

phpMyAdmin là một công cụ quản trị mã nguồn mở miễn phí cho MySQL và MariaDB. phpMyAdmin là một công cụ dựa trên web cho phép bạn dễ dàng quản lý cơ sở dữ liệu MySQL hoặc MariaDB. Bạn có thể thực hiện các tác vụ quản trị như tạo, chỉnh sửa hoặc xóa cơ sở dữ liệu, nhập và xuất các bản sao lưu cơ sở dữ liệu, chạy tìm kiếm và quản lý người dùng và quyền sử dụng phpMyAdmin.

Tính năng, đặc điểm

  • Hỗ trợ đa ngôn ngữ.
  • Nhập dữ liệu từ CSV và SQL.
  • Cung cấp biểu đồ trực tiếp để theo dõi hoạt động của máy chủ MySQL như kết nối, quy trình, sử dụng CPU / bộ nhớ, v.v.
  • Tìm kiếm trên toàn cầu trong một cơ sở dữ liệu hoặc một tập con của nó.
  • Giao diện web đơn giản và dễ sử dụng.
  • Xuất dữ liệu sang các định dạng khác nhau như CSV, SQL, XML, PDF, Word, Excel, LaTeX và các định dạng khác.

Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt và bảo mật phpMyAdmin trên server Ubuntu 18.04.

Yêu cầu

    • Máy chủ chạy Ubuntu 18.04.
    • User không phải user root với quyền sudo.

Cài đặt phpMyAdmin

Trước khi bắt đầu, bạn sẽ cần phải cài đặt Apache và MySQL vào máy chủ của bạn. Bạn có thể cài đặt nó bằng lệnh sau:

sudo apt-get install apache2 mysql-server -y

Theo mặc định, phpMyAdmin không có sẵn trong kho lưu trữ mặc định của Ubuntu 18.04. Vì vậy, bạn sẽ cần phải thêm kho lưu trữ PHP của bên thứ ba vào hệ thống của bạn.

Bạn có thể thêm nó bằng cách chỉ cần chạy lệnh sau:

sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php

Khi kho lưu trữ được thêm vào, cài đặt phpMyAdmin bằng cách chạy lệnh sau:

sudo apt-get install phpmyadmin php-mbstring php-gettext -y

Trong khi cài đặt, bạn sẽ được yêu cầu chọn máy chủ web như hình dưới đây:

Chọn Apache và nhấp vào nút OK . Bạn sẽ được chuyển hướng đến trang sau:

Bây giờ, bấm vào nút Có . Bạn sẽ thấy trang sau:

Ở đây, cung cấp mật khẩu ứng dụng MySQL của bạn cho phpMyAdmin và nhấp vào nút OK .

Khi phpMyAdmin đã được cài đặt, hãy kích hoạt phần mở rộng mbstring PHP bằng lệnh sau đây:

sudo phpenmod mbstring

Tiếp theo, khởi động lại dịch vụ Apache để áp dụng các thay đổi:

sudo systemctl restart apache2

Định cấu hình xác thực người dùng

phpMyAdmin tự động tạo một người dùng cơ sở dữ liệu tên là phpmyadmin với mật khẩu quản trị mà bạn đã đặt trong khi cài đặt. Tuy nhiên, bạn nên tạo một người dùng riêng để quản lý cơ sở dữ liệu thông qua giao diện web phpMyAdmin. Trong phiên bản mới nhất của MariaDB, người dùng MySQL gốc được thiết lập để xác thực bằng cách sử dụng plugin auth_socket theo mặc định. Vì vậy, nếu bạn muốn đăng nhập vào phpMyAdmin là người dùng MySQL gốc của bạn, bạn sẽ cần phải chuyển phương thức xác thực của nó từ auth_socket sang mysql_native_password.

Đầu tiên, đăng nhập vào MySQL shell bằng lệnh sau:

sudo mysql

Tiếp theo, kiểm tra phương thức xác thực của người dùng MySQL bằng lệnh sau:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output

+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.01 sec)

Trong đầu ra ở trên, bạn sẽ thấy người dùng root đó sử dụng plugin auth_socket.

Bạn có thể cấu hình tài khoản gốc để xác thực bằng mật khẩu bằng cách chạy lệnh sau:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Tiếp theo, xóa các đặc quyền bằng lệnh sau:

mysql> FLUSH PRIVILEGES;

Bây giờ, hãy kiểm tra các phương thức xác thực bằng cách chạy lệnh sau:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output

+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.01 sec)

Tiếp theo, tạo một người dùng riêng biệt với tên phpmyadminuser để kết nối với phpMyAdmin.

Đầu tiên, đăng nhập vào MySQL shell:

mysql -u root -p

Nhập mật khẩu gốc của bạn, sau đó tạo người dùng bằng lệnh sau:

MariaDB [(none)]> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';

Tiếp theo, cấp các đặc quyền thích hợp cho phpmyadminuser bằng lệnh sau đây:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;

Cuối cùng, thoát khỏi trình bao MySQL bằng lệnh sau:

MariaDB [(none)]> exit;

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL http: // your-server-ip / phpmyadmin. Bạn sẽ được chuyển hướng đến trang sau:

Ở đây, cung cấp tên người dùng và mật khẩu của bạn. Sau đó, bấm vào Go nút. Bạn sẽ thấy bảng điều khiển PhpMyAdmin trong trang sau:

Bảo mật PhpMyAdmin

phpMyAdmin hiện đã được cài đặt và cấu hình. Tuy nhiên, nó được khuyến khích để bảo vệ trường hợp phpMyAdmin của bạn để ngăn chặn truy cập trái phép Bạn có thể bảo mật phpMyAdmin bằng cách sử dụng tính năng xác thực và ủy quyền .htaccess của Apache.

Để thực hiện điều này, trước tiên hãy bật ghi đè tệp .htaccess bằng cách chỉnh sửa tệp phpmyadmin.conf:

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

Thực hiện các thay đổi sau:

<Directory /usr/share/phpmyadmin>
 Options SymLinksIfOwnerMatch
 DirectoryIndex index.php
 AllowOverride All

Lưu và đóng tập tin. Sau đó, khởi động lại dịch vụ Apache để áp dụng các chnages:

sudo systemctl restart apache2

Tiếp theo, tạo một tệp .htaccess bên trong thư mục phpmyadmin:

sudo nano /usr/share/phpmyadmin/.htaccess

Thêm các dòng sau:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Lưu và đóng tập tin. Sau đó, tạo một người dùng có tên admin với tiện ích htpasswd:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin

Output:

New password: 
Re-type new password: 
Adding password for user admin

Trường hợp phpMyAdmin của bạn hiện được bảo mật bằng một lớp xác thực bổ sung.

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL http: // your-server-ip / phpmyadmin. Bạn sẽ được chuyển hướng đến tên tài khoản và mật khẩu bổ sung mà bạn vừa cấu hình như hình dưới đây:

Bây giờ, cung cấp tên người dùng và mật khẩu và bấm vào Log Trong nút. Bạn nên được chuyển hướng đến trang xác thực phpMyAdmin thông thường.

PS. Nếu bạn thích bài viết cách cài đặt và bảo mật phpMyAdmin trên server Ubuntu 18.04, hãy chia sẻ nó với bạn bè của bạn trên các mạng xã hội bằng cách sử dụng các nút bên trái hoặc đơn giản là để lại câu trả lời dưới đây. Cảm ơn.

Leave a Reply

Your email address will not be published. Required fields are marked *