Hướng dẫn từng bước cách sử dụng Certbot để cài đặt chứng chỉ SSL Let's Encrypt miễn phí, bảo mật máy chủ web Apache trên Ubuntu và thiết lập tự động gia hạn.
Giới thiệu
Mã hóa SSL/TLS là tiêu chuẩn bắt buộc giúp bảo vệ dữ liệu truyền tải giữa người dùng và máy chủ web. Hướng dẫn này sẽ giúp bạn sử dụng Certbot để cài đặt chứng chỉ SSL miễn phí từ Let's Encrypt cho dịch vụ Apache trên Ubuntu, đồng thời thiết lập cơ chế tự động gia hạn chứng chỉ.
Yêu cầu tiên quyết
Trước khi thực hiện, bạn cần chuẩn bị:
- Máy chủ Ubuntu đã cài đặt sẵn Apache.
- Một tên miền đã được trỏ bản ghi A về địa chỉ IP của máy chủ.
- Quyền truy cập
sudotrên máy chủ.
Bước 1: Cài đặt Certbot và Plugin Apache
Certbot là công cụ chính thức giúp xin cấp phát và cấu hình SSL tự động. Hãy cập nhật danh sách gói dịch vụ và cài đặt Certbot cùng plugin tích hợp cho Apache:
sudo apt update
sudo apt install certbot python3-certbot-apache -y
Bước 2: Kiểm tra cấu hình Virtual Host của Apache
Để Certbot tự động nhận diện tên miền, tệp cấu hình Virtual Host của bạn phải khai báo chính xác ServerName (và ServerAlias nếu có).
Kiểm tra tệp cấu hình domain (ví dụ /etc/apache2/sites-available/example.com.conf):
sudo nano /etc/apache2/sites-available/example.com.conf
Đảm bảo dòng sau xuất hiện trong cấu hình:
ServerName example.com
ServerAlias www.example.com
Sau đó kiểm tra cú pháp và tải lại Apache:
sudo apache2ctl configtest
sudo systemctl reload apache2
Bước 3: Cho phép HTTPS qua Tường lửa (UFW)
Nếu máy chủ bật UFW, bạn cần mở cổng 443 cho giao thức HTTPS bằng cách cho phép profile 'Apache Full':
sudo ufw allow 'Apache Full'
sudo ufw status
Bước 4: Khởi tạo và cài đặt Chứng chỉ SSL
Chạy lệnh Certbot với plugin Apache để bắt đầu quy trình cấp phát chứng chỉ:
sudo certbot --apache
Trong quá trình cài đặt, Certbot sẽ yêu cầu bạn:
- Nhập Email để nhận thông báo gia hạn và an ninh.
- Đồng ý với các Điều khoản dịch vụ.
- Chọn tên miền cần cấp SSL (nếu có nhiều domain trong cấu hình).
- Lựa chọn có Chuyển hướng tự động (Redirect) toàn bộ lưu lượng HTTP sang HTTPS hay không (khuyến nghị chọn Redirect).
Sau khi hoàn tất, Certbot sẽ cập nhật lại cấu hình Apache và bật HTTPS ngay lập tức.
Bước 5: Kiểm tra tính năng Tự động gia hạn (Auto-renewal)
Chứng chỉ của Let's Encrypt có hiệu lực trong 90 ngày. Certbot tự động thiết lập một cronjob hoặc systemctl timer để kiểm tra và gia hạn chứng chỉ trước khi hết hạn.
Kiểm tra trạng thái timer gia hạn tự động:
sudo systemctl status certbot.timer
Bạn có thể chạy thử quy trình gia hạn giả định (dry-run) để đảm bảo không gặp lỗi khi gia hạn thực tế:
sudo certbot renew --dry-run
Nếu lệnh chạy thành công và không xuất hiện thông báo lỗi, hệ thống của bạn đã được thiết lập gia hạn hoàn toàn tự động.
Kết luận
Chỉ với vài lệnh cơ bản, bạn đã hoàn tất việc cài đặt chứng chỉ SSL Let's Encrypt cho web server Apache trên Ubuntu. Giờ đây, truy cập của người dùng tới website của bạn đã được mã hóa an toàn qua giao thức HTTPS.
Ngày phát hành: 05/06/2026
Nguồn: www.digitalocean.com