phpMyAdmin là một công cụ mã nguồn mở và miễn phí để quản lý máy chủ MySQL và MariaDB qua giao diện dựa trên web. Với phpMyAdmin, bạn có thể tạo và quản lý cơ sở dữ liệu và người dùng, thực thi các câu lệnh SQL, nhập và xuất dữ liệu, và thực hiện các hoạt động cơ sở dữ liệu như tạo, xóa, bảng, cột, chỉ mục, quyền và nhiều hơn nữa. phpMyAdmin là một trong những công cụ quản trị phổ biến và được sử dụng rộng rãi nhất, đặc biệt là đối với các dịch vụ lưu trữ web.
Tính năng
Sau khi tất cả các gói được cài đặt, hãy khởi động dịch vụ Apache và MariaDB và cho phép chúng khởi động sau khi khởi động lại hệ thống bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Sau khi hoàn tất, bạn sẽ thấy đầu ra sau:
Tại thời điểm này, cài đặt MariaDB của bạn đã được bảo mật.
Sau khi tải xuống, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, di chuyển nội dung đã giải nén vào thư mục /usr/share như hiển thị bên dưới:
Tiếp theo, hãy đổi thư mục thành /usr/share/phpmyadmin và đổi tên tệp config.sample.inc.php:
Tiếp theo, mở tệp bằng trình soạn thảo văn bản yêu thích của bạn như được hiển thị bên dưới:
Thay đổi dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, nhập create_tables.sql bằng lệnh sau:
Cung cấp mật khẩu root của bạn khi được nhắc nhập bảng.
Tiếp theo, tạo thư mục tmp cho phpmyadmin và cấp quyền thích hợp:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ Apache bằng lệnh sau:
Bạn có thể kiểm tra trạng thái của Apache bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Trước tiên, hãy cài đặt gói policycoreutils-python-utils để quản lý môi trường SELinux bằng lệnh sau:
Tiếp theo, hãy bật quyền truy cập vào thư mục /usr/share/phpmyadmin bằng lệnh sau:
Bây giờ hãy đệ quy qua tất cả các tệp trong thư mục phpmyadmin của bạn bằng cách chạy lệnh sau:
Tiếp theo, bạn sẽ cần tạo một quy tắc tường lửa để cho phép dịch vụ HTTP từ các mạng bên ngoài. Bạn có thể cho phép bằng lệnh sau:
phpMyAdmin hiện đã được cài đặt và cấu hình. Bây giờ là lúc kiểm tra xem nó có hoạt động hay không.
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:
Bạn có thể định cấu hình bằng cách chỉnh sửa tệp /etc/httpd/conf.d/phpmyadmin.conf:
Tìm các dòng sau:
Và thay thế chúng bằng quyền sau:
Lưu và đóng tệp khi bạn hoàn tất.
Để thực hiện, hãy tạo tệp xác thực mới bằng công cụ htpasswd như hiển thị bên dưới:
Bạn sẽ được yêu cầu cung cấp mật khẩu quản trị viên như hiển thị bên dưới:
Tiếp theo, bạn sẽ cần cấu hình Apache để sử dụng tệp .htpasswd. Bạn có thể thực hiện việc này bằng cách chỉnh sửa tệp /etc/httpd/conf.d/phpmyadmin.conf.
Thêm các dòng sau bên dưới dòng "AddDefaultCharset UTF-8":
Lưu tệp và khởi động lại dịch vụ Apache để các thay đổi có hiệu lực:
Cung cấp tên người dùng và mật khẩu quản trị viên của bạn, sau đó nhấp vào nút OK. Bạn sẽ được chuyển hướng đến trang đăng nhập phpMyAdmin:
Bây giờ, hãy cung cấp thông tin đăng nhập người dùng quản trị MySQL của bạn và nhấp vào nút Go. Bạn sẽ thấy trang sau:
Tính năng
- Cung cấp giao diện web đơn giản và thân thiện với người dùng.
- Nhập dữ liệu từ CSV và SQL.
- Hỗ trợ hầu hết các tính năng của MySQL bao gồm tạo, sao chép, xóa, đổi tên, xóa và thay đổi cơ sở dữ liệu, bảng, trường và chỉ mục.
- Cho phép bạn xuất dữ liệu sang nhiều định dạng khác nhau như PDF, CSV, SQL, XML và nhiều định dạng khác.
- Quản lý nhiều máy chủ.
- Tạo các truy vấn phức tạp bằng Truy vấn theo ví dụ (QBE).
Yêu cầu
- Máy chủ chạy CentOS 8.
- Mật khẩu gốc được cấu hình trên máy chủ.
Cài đặt LAMP Server
Trước tiên, bạn sẽ cần cài đặt Apache, MariaDB, PHP và các thư viện PHP khác vào máy chủ của mình. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
dnf install httpd mariadb-server php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli php-mysqlnd php-json php-mbstring wget unzip
Mã:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
Cấu hình MariaDB
Theo mặc định, MariaDB không được bảo mật. Vì vậy, trước tiên bạn sẽ cần bảo mật cho nó. Bạn có thể thực hiện bằng cách chạy tập lệnh mysql_secure_installation:
Mã:
mysql_secure_installation
Mã:
Đặt mật khẩu root? [Y/n] YMật khẩu mới:Xóa người dùng ẩn danh? [Y/n] YKhông cho phép đăng nhập root từ xa? [Y/n] YXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] YTải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Mã:
... Thành công!Đang dọn dẹp...Xong! Nếu bạn đã hoàn tất tất cả các bước trên, thìcài đặt MariaDB của bạn hiện đã an toàn.Cảm ơn bạn đã sử dụng MariaDB!
Cài đặt phpMyAdmin
Theo mặc định, phpMyAdmin không có trong kho lưu trữ mặc định của CentOS 8. Vì vậy, bạn sẽ cần 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ạn có thể tải xuống bằng lệnh sau:
Mã:
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.2/phpMyAdmin-4.9.2-all-languages.zip
Mã:
unzip phpMyAdmin-4.9.2-all-languages.zip
Mã:
mv phpMyAdmin-4.9.2-all-languages /usr/share/phpmyadmin
Mã:
cd /usr/share/phpmyadmin
mv config.sample.inc.php config.inc.php
Mã:
nano config.inc.php
Mã:
$cfg['blowfish_secret'] = 'your-secret-password';
Mã:
mysql < /usr/share/phpmyadmin/sql/create_tables.sql -u root -p
Tiếp theo, tạo thư mục tmp cho phpmyadmin và cấp quyền thích hợp:
Mã:
mkdir /usr/share/phpmyadmin/tmp
chown -R apache:apache /usr/share/phpmyadmin
chmod 777 /usr/share/phpmyadmin/tmp
Cấu hình Apache cho phpMyAdmin
Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Apache cho phpMyAdmin. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/httpd/conf.d/phpmyadmin.conf
Mã:
Bí danh /phpmyadmin /usr/share/phpmyadmin AddDefaultCharset UTF-8 # Apache 2.4 Yêu cầu tất cả được cấp # Apache 2.2 Thứ tự Từ chối, Cho phép Từ chối tất cả Cho phép từ 127.0.0.1 Cho phép từ ::1 # Apache 2.4 Yêu cầu tất cả được cấp # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1
Mã:
systemctl restart httpd
Mã:
systemctl status httpd
Mã:
? httpd.service - Máy chủ HTTP Apache Đã tải: đã tải (/usr/lib/systemd/system/httpd.service; đã bật; cài đặt trước của nhà cung cấp: đã tắt) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ 4, ngày 18 tháng 12 năm 2019 lúc 01:07:52 EST; 6 giây trước Tài liệu: man:httpd.service(8) PID chính: 5636 (httpd) Trạng thái: "Đã bắt đầu, đang lắng nghe trên: cổng 80" Nhiệm vụ: 213 (giới hạn: 25044) Bộ nhớ: 28,7M CGroup: /system.slice/httpd.service ??5636 /usr/sbin/httpd -DFOREGROUND ??5639 /usr/sbin/httpd -DFOREGROUND ??5640 /usr/sbin/httpd -DFOREGROUND ??5641 /usr/sbin/httpd -DFOREGROUND ??5642 /usr/sbin/httpd -DFOREGROUND18 tháng 12 01:07:52 centos8 systemd[1]: Đã dừng Máy chủ HTTP Apache.18/12 01:07:52 centos8 systemd[1]: Đang khởi động Máy chủ Apache HTTP...18/12 01:07:52 centos8 httpd[5636]: AH00558: httpd: Không thể xác định chính xác tên miền đủ điều kiện của máy chủ, sử dụng fe80::200:d0>18/12 01:07:52 centos8 httpd[5636]: Máy chủ được cấu hình, đang lắng nghe trên: cổng 8018/12 01:07:52 centos8 systemd[1]: Đã khởi động Máy chủ HTTP Apache.
Cấu hình SELinux và Tường lửa
Theo mặc định, SELinux được bật trong CentOS 8. Vì vậy, bạn sẽ cần cấu hình SELinux để phpMyAdmin hoạt động chính xác.Trước tiên, hãy cài đặt gói policycoreutils-python-utils để quản lý môi trường SELinux bằng lệnh sau:
Mã:
dnf install policycoreutils-python-utils
Mã:
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/phpmyadmin/'
semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/phpmyadmin/tmp(/.*)?"
Mã:
restorecon -Rv '/usr/share/phpmyadmin/'
Mã:
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
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:
Bảo mật phpMyAdmin
Lúc này, phiên bản phpMyAdmin đang hoạt động bình thường. Tuy nhiên, bảo mật phiên bản phpMyAdmin của bạn khỏi thế giới bên ngoài là một nhiệm vụ quan trọng đối với bạn. Trong phần này, chúng tôi sẽ chỉ cho bạn cách bảo mật phiên bản phpMyAdmin của mình.Cho phép phpMyAdmin từ IP cụ thể
Trước tiên, bạn sẽ cần định cấu hình phpMyAdmin của mình để chỉ có thể truy cập được từ địa chỉ IP của kết nối tại nhà.Bạn có thể định cấu hình bằng cách chỉnh sửa tệp /etc/httpd/conf.d/phpmyadmin.conf:
Mã:
nano /etc/httpd/conf.d/phpmyadmin.conf
Mã:
Yêu cầu tất cả các quyền được cấp
Mã:
Yêu cầu ip your-home--connection-ip-address Yêu cầu ip ::1
Cấu hình lớp xác thực bổ sung
Bạn nên bảo vệ thư mục phpmyadmin bằng mật khẩu bằng cách thiết lập xác thực cơ bản.Để thực hiện, hãy tạo tệp xác thực mới bằng công cụ htpasswd như hiển thị bên dưới:
Mã:
mkdir /etc/phpmyadmin
htpasswd -c /etc/phpmyadmin/.htpasswd admin
Mã:
Mật khẩu mới:Nhập lại mật khẩu mới:Đang thêm mật khẩu cho người dùng admin
Mã:
nano /etc/httpd/conf.d/phpmyadmin.conf
Mã:
Options +FollowSymLinks +Multiviews +Indexes AllowOverride None AuthType basic AuthName "Authentication Required" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
Mã:
systemctl restart httpd
Truy cập phpMyAdmin
Bây giờ, phiên bản phpMyAdmin của bạn được bảo mật bằng một lớp bảo mật bổ sung. Mở trình duyệt web của bạn và nhập URL http://your-server-ip/phpmyadmin. Bạn sẽ được yêu cầu nhập thông tin đăng nhập của người dùng mà bạn đã tạo trước đó như hiển thị bên dưới:Cung cấp tên người dùng và mật khẩu quản trị viên của bạn, sau đó nhấp vào nút OK. Bạn sẽ được chuyển hướng đến trang đăng nhập phpMyAdmin:
Bây giờ, hãy cung cấp thông tin đăng nhập người dùng quản trị MySQL của bạn và nhấp vào nút Go. Bạn sẽ thấy trang sau: