Trước khi làm theo hướng dẫn, bạn cần lưu ý các vấn đề sau:
- Tên miền phải được trỏ đến IP của server đang cài đặt.
- Mặc định Certbot yêu cầu quyền
root
để truy cập và ghi dữ liệu vào:/etc/letsencrypt
,/var/log/letsencrypt
,/var/lib/letsencrypt
. - Ngoài ra, port 80 sẽ được sử dụng trong quá trình xác nhận tên miền để cấp chứng chỉ SSL. Do đó, nếu bạn đang chạy
nginx
hoặcapache
thì cần phải tắt đi trước khi thực hiện.
1 | sudo service nginx stop |
1. Cài đặt Let’s Encrypt Client
Download certbot-auto
Let’s Encrypt client và lưu vào /usr/sbin
:
1 | sudo wget https://dl.eff.org/certbot-auto -O /usr/sbin/certbot-auto |
2. Lấy SSL cho tên miền
Dùng lệnh sau:
1 | sudo certbot-auto certonly --standalone -d example.com -d www.example.com |
Trong quá trình cài đặt, bạn sẽ cần cung cấp địa chỉ email. Được dùng để thông báo khi SSL sắp hết hạn.
Ngoài ra, còn một số yêu cầu đồng ý điều khoản sử dụng.
3. Kiểm tra đã có SSL chưa
Sau khi hoàn tất bước 2, bạn vào thư mục /etc/letsencrypt/live/example.com
để kiểm tra xem đã có chứng chỉ hay chưa.
1 | cd /etc/letsencrypt/live/example.com |
Nếu kết quả như sau là OK:
1 | cert.pem |
4. Cấu hình SSL cho VirtualHost
Chỉnh các tập tin cấu VirtualHost của Apache hoặc Nginx như sau:
Nginx:
1 | ssl on; |
Apache:
1 | SSLEngine on |
5. Cấu hình tự động Renew chứng chỉ SSL
Chứng chỉ SSL chỉ có thời hạn là 3 tháng, do đó bạn cần phải renew nó trước khi hết hạn.
Cấu hình cronjob như sau:
1 | 0 2 * * * sudo /usr/sbin/certbot-auto -q renew |