Cách cài đặt PhpMyAdmin với Nginx và Let's Encrypt SSL trên Ubuntu 24.04

theanh

Administrator
Nhân viên
phpMyAdmin trên Ubuntu là giao diện dựa trên web giúp đơn giản hóa việc quản lý cơ sở dữ liệu MySQL hoặc MariaDB. Nó cho phép người dùng thực hiện các hoạt động cơ sở dữ liệu như tạo, chỉnh sửa và xóa cơ sở dữ liệu, bảng và bản ghi mà không cần tương tác trực tiếp với dòng lệnh. Được thiết kế với mục đích dễ sử dụng, phpMyAdmin đặc biệt hữu ích cho những người dùng không quen với các lệnh SQL. Trên Ubuntu, nó có thể được cài đặt như một phần của ngăn xếp LAMP (Linux, Apache, MySQL, PHP), cung cấp giao diện đồ họa có thể truy cập thông qua trình duyệt web, khiến nó trở thành lựa chọn phổ biến cho các nhà phát triển và quản trị viên quản lý cơ sở dữ liệu trong môi trường Linux.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt phpMyAdmin với Nginx trên Ubuntu 24.04 và bao gồm một số mẹo bổ sung để thiết lập tối ưu.

Điều kiện tiên quyết​

  • Máy chủ chạy Ubuntu 24.04.
  • Tên miền hợp lệ được trỏ đến máy chủ của bạn.
  • Truy cập SSH bằng người dùng không phải root có quyền sudo.

Cài đặt Nginx, MariaDB và PHP​

Trước khi bắt đầu, hãy đảm bảo danh sách gói của bạn được cập nhật:
Mã:
sudo apt update && sudo apt upgrade -y
Tiếp theo, cài đặt Nginx, MariaDB, PHP và các phần mở rộng PHP cần thiết:
Mã:
sudo apt install nginx mariadb-server php php-cli php-mysql php-mbstring php-zip php-gd php-json php-curl php-fpm -y
Xác minh rằng từng dịch vụ đang chạy:
Mã:
systemctl status nginx
systemctl status mariadb
Mẹo: Cài đặt unattended-upgrades để đảm bảo các bản cập nhật bảo mật được áp dụng tự động:
Mã:
sudo apt install unattended-upgrades -y

Cài đặt phpMyAdmin​

Gói phpMyAdmin có sẵn trong kho lưu trữ Ubuntu 24.04 mặc định. Cài đặt bằng:
Mã:
sudo apt install phpmyadmin -y
Đảm bảo "Không có máy chủ web" được chọn trừ khi sử dụng Apache rõ ràng trên cùng một máy chủ.
Cấu hình phpMyAdmin theo cách thủ công cho Nginx​
Tạo liên kết tượng trưng trong trang web Nginx thư mục:
Mã:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Bảo mật MariaDB​

Chạy tập lệnh bảo mật để cải thiện cài đặt mặc định của MariaDB:
Mã:
sudo mysql_secure_installation
Làm theo lời nhắc trên màn hình:
  • Đặt mật khẩu gốc.
  • Xóa ẩn danh người dùng.
  • Không cho phép đăng nhập root từ xa.
  • Xóa cơ sở dữ liệu thử nghiệm.
Tạo người dùng cơ sở dữ liệu chuyên dụng cho phpMyAdmin:
Mã:
sudo mysql -u root -p
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Cấu hình Nginx cho phpMyAdmin​

Tạo tệp cấu hình Nginx cho phpMyAdmin:
Mã:
sudo nano /etc/nginx/conf.d/phpmyadmin.conf
Thêm cấu hình sau:
Mã:
server { listen 80; server_name phpmyadmin.example.com; root /usr/share/phpmyadmin; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; } location ~ /\.ht { deny all; }
}
Kiểm tra cấu hình cú pháp lỗi:
Mã:
sudo nginx -t
Tải lại Nginx để áp dụng các thay đổi:
Mã:
sudo systemctl reload nginx

Bảo mật phpMyAdmin bằng Let's Encrypt SSL​

Đảm bảo Certbot được cài đặt để quản lý SSL chứng chỉ:
Mã:
sudo apt install certbot python3-certbot-nginx -y
Sử dụng Certbot để lấy và cài đặt chứng chỉ:
Mã:
sudo certbot --nginx -d phpmyadmin.example.com
Thực hiện theo các bước để cấu hình SSL, bao gồm cả việc chọn tùy chọn chuyển hướng tất cả lưu lượng HTTP sang HTTPS.
Gia hạn chứng chỉ tự động​
Thiết lập tác vụ cron để tự động gia hạn chứng chỉ SSL:
Mã:
echo "0 3 * * * /usr/bin/certbot renew --quiet" | sudo tee /etc/cron.d/certbot-renew

Các bước cuối cùng​

Thay đổi quyền sở hữu:
Mã:
sudo chown -R www-data:www-data /usr/share/phpmyadmin
sudo chmod -R 755 /usr/share/phpmyadmin

Truy cập phpMyAdmin​

Mở trình duyệt web của bạn và điều hướng đến https://phpmyadmin.example.com. Đăng nhập bằng thông tin đăng nhập quản trị của bạn. Bạn sẽ thấy bảng điều khiển phpMyAdmin.

Kết luận​

Xin chúc mừng! Bạn đã cài đặt và bảo mật phpMyAdmin thành công với Nginx trên Ubuntu 24.04. Hãy nhớ thường xuyên cập nhật các gói máy chủ và sao lưu cơ sở dữ liệu của bạn.

Mẹo nâng cao: Để tăng cường bảo mật, hãy cân nhắc thiết lập xác thực hai yếu tố (2FA) cho các hoạt động nhạy cảm trong phpMyAdmin.
 
Back
Bên trên