phpMyAdmin là một công cụ quản trị mã nguồn mở và miễn phí cho MySQL và MariaDB. Là một ứng dụng web di động được viết chủ yếu bằng PHP, nó đã trở thành một trong những công cụ quản trị MySQL phổ biến nhất, đặc biệt là đối với các dịch vụ lưu trữ web. Trong hướng dẫn này, chúng tôi sẽ cài đặt phpMyAdmin với Apache trên CentOS 7.
Điều kiện tiên quyết quan trọng trước khi sử dụng hướng dẫn này là cài đặt ngăn xếp LAMP (Linux, Apache, MariaDB và PHP) trên máy chủ CentOS 7 của bạn. Ngăn xếp LAMP là nền tảng sẽ được sử dụng để phục vụ giao diện phpMyAdmin của chúng tôi (MariaDB cũng là phần mềm quản lý cơ sở dữ liệu mà chúng tôi muốn quản lý). Nếu bạn chưa cài đặt LAMP trên máy chủ của mình, hãy nhấp vào đây để đọc hướng dẫn của chúng tôi về cài đặt LAMP trên CentOS 7.
Bước 1:Thêm kho EPEL:
Chúng tôi cần thêm repo EPEL (Gói bổ sung cho Enterprise Linux) vào máy chủ của mình trước khi tiến hành cài đặt vì nó chứa nhiều gói bổ sung, bao gồm gói phpMyAdmin mà chúng tôi đang tìm kiếm. Để cài đặt, hãy gõ lệnh bên dưới:
sudo yum install epel-release
Bước 2:Cài đặt phpMyAdmin:
Gõ lệnh bên dưới để cài đặt gói phpMyAdmin bằng cách sử dụng hệ thống đóng gói yum theo sau là y để tiếp tục:
sudo yum install phpmyadmin
Sau khi cài đặt thành công, bạn sẽ nhận được một kết quả tương tự như hình dưới đây:
Cài đặt bao gồm một tệp cấu hình Apache đã được đặt trong thư mục thích hợp của nó. Chúng tôi cần sửa đổi tệp cấu hình này để cài đặt của chúng tôi hoạt động hoàn hảo theo nhu cầu của chúng tôi.
Mở phpMyAdmin.conf
trong /etc/httpd
tệp trong trình soạn thảo văn bản (nano trong hướng dẫn này) để thực hiện một số sửa đổi:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Hiện tại, thiết lập trong tệp cấu hình được định cấu hình để từ chối quyền truy cập vào bất kỳ kết nối nào không được thực hiện từ chính máy chủ. Vì chúng tôi đang đánh giá máy chủ của mình từ xa (qua ssh), chúng tôi cần sửa đổi một số dòng để chỉ định địa chỉ IP của kết nối tại nhà của bạn.
Vị trí đầu tiên là <Directory /usr/share/phpMyAdmin/>
phần như hình dưới đây:
Thay đổi bất kỳ dòng nào đọc Require ip 127.0.0.1
hoặc Allow from 127.0.0.1
để tham khảo địa chỉ IP của kết nối gia đình của bạn.
Lưu ý: Nếu bạn cần trợ giúp tìm IP của kết nối gia đình, hãy nhấp vào đây để kiểm tra.
Vị trí thứ hai là <Directory /usr/share/phpMyAdmin/setup/>
phần như hình dưới đây:
Ngoài ra, hãy thay đổi bất kỳ dòng nào có nội dung Require ip 127.0.0.1
hoặc Allow from 127.0.0.1
để tham khảo địa chỉ IP của kết nối gia đình của bạn.
Lưu ý: Địa chỉ IP của các kết nối gia đình của bạn khác với địa chỉ IP của VPS của bạn.
Sau khi thực hiện các cấu hình, hãy khởi động lại máy chủ web Apache bằng cách nhập:
sudo systemctl restart httpd.service
Để truy cập giao diện, hãy truy cập địa chỉ IP công cộng của bạn hoặc tên miền của máy chủ, theo sau là / phpMyAdmin, trong trình duyệt web của bạn:
http://server_domain_or_IP/phpMyAdmin
Đăng nhập vào giao diện phpmyadmin bằng tên người dùng gốc và mật khẩu quản trị bạn đã thiết lập trong quá trình cài đặt MySQL. Sau khi đăng nhập, giao diện người dùng sẽ giống như ảnh chụp màn hình bên dưới:
BẢO MẬT KHẢ NĂNG BẢO MẬT PHPMYADMIN CỦA BẠN
Bảo mật phpmyadmin của bạn là điều quan trọng để ngăn chặn truy cập trái phép. Một cách dễ dàng để làm điều này là thay đổi vị trí của giao diện từ / phpMyAdmin sang một thứ khác để ngăn chặn các nỗ lực brute-force của bot tự động.
Mở tệp cấu hình bằng lệnh bên dưới:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Hai dòng bên dưới là bí danh mặc định cung cấp nội dung cho chúng tôi từ /usr/share/phpMyAdmin
vị trí nếu chúng tôi truy cập tên miền hoặc địa chỉ IP của trang web của chúng tôi, theo sau là /phpMyAdmin
hoặc /phpmyadmin
.
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
Chúng tôi sẽ vô hiệu hóa các bí danh mặc định này do tỷ lệ chúng bị nhắm mục tiêu bởi bot và người dùng độc hại. Vì mục đích bảo mật, chúng tôi nên quyết định bí danh của riêng mình có lưu ý đến hai quy tắc sau:
- Nó không nên chỉ ra mục đích của vị trí URL.
- Nó phải dễ nhớ nhưng không dễ đoán.
Trong hướng dẫn này, chúng tôi sẽ sử dụng /somethingelse
.
Để áp dụng các thay đổi của chúng tôi, chúng tôi sẽ nhận xét các dòng hiện có (bạn có thể loại bỏ chúng một cách khéo léo) và thêm các dòng của riêng chúng tôi:
#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /somethingelse /usr/share/phpMyAdmin
Lưu và đóng tệp, sau đó tiến hành khởi động lại httpd bằng lệnh bên dưới:
sudo systemctl restart httpd.service
Nếu bạn truy cập vị trí cài đặt phpMyAdmin trước đó của mình, bạn sẽ gặp lỗi 404:
http://server_domain_or_IP/phpMyAdmin
http://server_domain_or_IP/nothingtosee
Bạn cũng có thể bảo mật phpMyAdmin đặt một cổng vào trước toàn bộ ứng dụng bằng cách sử dụng .htaccess
tích hợp sẵn của Apache chức năng xác thực và ủy quyền.
Trước tiên, chúng tôi sẽ cần kích hoạt tính năng ghi đè tệp .htaccess bằng cách chỉnh sửa tệp cấu hình Apache của chúng tôi. Mở phpmyadmin.conf bằng lệnh bên dưới:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Thêm AllowOverride All
ở cuối <Directory /usr/share/phpmyadmin>
của tệp cấu hình như được hiển thị bên dưới:
Lưu tệp trước khi đóng rồi tiến hành khởi động lại Apache bằng lệnh:
sudo systemctl restart apache2
Sau khi cho phép sử dụng .htaccess, chúng ta cần tạo tệp để triển khai bảo mật đầy đủ bằng cách gõ lệnh dưới đây:
sudo nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Bạn có thể đọc thêm trên htaccess
tại đây.
Nhập lệnh bên dưới để thêm mật khẩu vào htaccess
tệp:
sudo htpasswd -c /etc/httpd/pma_pass username
Để thêm người dùng bổ sung để xác thực, hãy nhập lại lệnh tương tự nhưng lần này không có -c
cờ và với tên người dùng mới:
sudo htpasswd /etc/httpd/pma_pass seconduser
Với điều này, bất cứ khi nào bạn truy cập phpMyAdmin trên miền 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 như hình dưới đây:
Với điều này, bất cứ khi nào bạn truy cập phpMyAdmin trên miền của mình, bạn sẽ được nhắc tên tài khoản và mật khẩu bổ sung mà bạn vừa định cấu hình như hình dưới đây:
Sau khi nhập mật khẩu xác thực Apache, bạn sẽ được chuyển hướng đến trang xác thực phpMyAdmin ban đầu để nhập các thông tin đăng nhập khác của bạn.