Cài đặt Let’s Encrypt SSL trên linux

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ặc apache thì cần phải tắt đi trước khi thực hiện.
1
2
sudo service nginx stop
sudo service apache2 stop

1. Cài đặt Let’s Encrypt Client

Download certbot-auto Let’s Encrypt client và lưu vào /usr/sbin:

1
2
sudo wget https://dl.eff.org/certbot-auto -O /usr/sbin/certbot-auto
sudo chmod a+x /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
2
cd /etc/letsencrypt/live/example.com
ls

Nếu kết quả như sau là OK:

1
2
3
4
cert.pem
chain.pem
fullchain.pem
privkey.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
2
3
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

Apache:

1
2
3
4
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

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
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×