
Liệt kê tất cả chứng chỉ hiện có
sudo certbot certificates
Liệt kê tất cả site Apache trỏ SSL
grep -Ri "SSLCertificateFile" /etc/apache2/sites-enabled/
Xóa các site trỏ tới không còn dùng
sudo a2dissite
ví dụ
sudo a2dissite postfixadmin-le-ssl.conf
sudo a2dissite webname.site-le-ssl.conf
Test cấu hình Apache
sudo apache2ctl configtest
Nếu báo Syntax OK
→ Apache sẵn sàng restart.
Nếu còn lỗi → fix từng file .conf
bị báo lỗi.
Reload hoặc Restart Apache
sudo systemctl restart apache2
Hoặc nếu chắc chắn config OK, có thể dùng reload:
sudo systemctl reload apache2
Lời khuyên:
- Luôn chạy
apache2ctl configtest
trước khi reload/restart. - Khi xóa website, xoá luôn SSL config và chứng chỉ bằng
certbot delete
. - Nên kiểm tra lại tất cả site sau mỗi reboot để tránh Apache fail.
Gia hạn tất cả chứng chỉ
sudo certbot renew
Gia hạn một domain cụ thể trên Apache
sudo certbot --apache -d example.com -d www.example.com
--apache
để Certbot tự chỉnh VirtualHost SSL.
Thêm nhiều -d
nếu bạn có nhiều subdomain.
Kiểm tra systemd timer (mặc định Certbot)
Debian mới thường cài Certbot với systemd timer để tự động gia hạn:
systemctl list-timers | grep certbot
Output sẽ hiển thị khi nào timer chạy, ví dụ:
Thu 2025-09-04 03:15:00 JST 2 days left n/a n/a certbot.timer
Dùng Cronjob gia hạn tự động
Mở crontab cho root:
sudo crontab -e
Thêm dòng sau (chạy lúc 3h sáng hàng ngày, chỉ gia hạn nếu còn <30 ngày):
0 3 * * * certbot renew --quiet
--quiet
→ không xuất log nếu mọi thứ OK.
certbot renew
tự gia hạn tất cả chứng chỉ còn hạn.
Kiểm tra hoạt động tự động
Test dry-run:
sudo certbot renew --dry-run
Nếu chạy OK → cron hoặc systemd timer sẽ hoạt động đúng.
Lưu ý quan trọng
Trước khi timer/cron chạy, Apache phải không có lỗi config. Test bằng:
sudo apache2ctl configtest
Nếu có site trỏ SSL file mất → timer sẽ fail renew.
Khi xóa website, xoá luôn config SSL và chứng chỉ để cron/timer không bị lỗi.
Bình luận