Trong serie này mình đã có hướng dẫn qua về cách cài SSL miễn phí với Let’s Encrypt cho hostname của mình để có thể vào trang quản trị bằng https mà không bị lỗi. Trong bài này, mình sẽ hướng dẫn bạn cài chứng chỉ SSL cho các domain khác có trong VestaCP, bất kỳ website nào của user nào. Và dĩ nhiên, để làm được bạn sẽ cần truy cập vào máy chủ qua SSH bằng tài khoản root.
Let’s Encrypt chỉ có thể tạo ra khi domain bạn đã truy cập được server. Do vậy bạn muốn thêm domain nào thì hãy thêm tên miền vào VestaCP và trỏ về máy chủ trước.
Bước 1. Tạo chứng chỉ Let’s Encrypt
Bạn xem lại bước cài đặt Let’s Encrypt ở bài tạo SSL cho trang quản trị VestaCP, bài này mình chỉ nói đến bước tạo thôi.
Trước tiên cần dừng ứng dụng Apache và NGINX chạy trên máy chủ.
service httpd stop service nginx stop
Và hãy chắc chắn đã Lets Encrypt vào:
yum install git -y git clone https://github.com/letsencrypt/letsencrypt /opt/le cd /opt/le
Chúng ta chạy lệnh sau để tạo chứng chỉ SSL cho domain cần tạo.
/opt/le/letsencrypt-auto certonly --standalone -d domain.com
Và đừng quên cho nó tự động gia hạn chứng chỉ bằng cách gõ lệnh crontab -e
và chèn đoạn sau vào dưới cuối cùng để tự động gia hạn mỗi 90 ngày:
* * */90 * * /opt/le/letsencrypt-auto renew >/dev/null 2>&1
Sau đó mở thư mục /etc/letsencrypt/live/domain.com sẽ có các tập tin sau: cert.pem, chain.pem, fullchain.pem và privkey.pem.
Bây giờ bạn hãy sửa domain bạn cần thêm SSL trong VestaCP, đánh dấu vào phần SSL Support và lấy nội dung của các tập tin chứng chỉ vừa tạo tương ứng như sau:
cat /etc/letsencrypt/live/domain.com/cert.pem
Copy nội dung bỏ vào phần SSL Certificate.
cat /etc/letsencrypt/live/domain.com/privkey.pem
Copy nội dung bỏ vào phần SSL Key.
cat /etc/letsencrypt/live/domain.com/fullchain.pem
Copy nội dung bỏ vào SSL Certificate Authority / Intermediate.
Lưu lại và khởi động lại VestaCP.
service vesta restart
Bây giờ bạn đã có thể truy cập vào domain của bạn thông qua giao thức https://domain.com rồi đó.