Hướng dẫn cài đặt Let's Encrypt SSL trên OpenLiteSpeed, LiteSpeed Web Server
Let's Encrypt cung cấp chứng chỉ SSL miễn phí cho các website muốn sử dụng HTTPS. Trong bài viết này VnCoder sẽ hướng dẫn chi tiết cách cài đặt Let's Encrypt cho website của bạn sử dụng máy chủ OpenLiteSpeed hoặc LiteSpeed Web Server
Let's Encrypt cung cấp chứng chỉ SSL miễn phí cho các website muốn sử dụng HTTPS. Trong bài viết này VnCoder sẽ hướng dẫn chi tiết cách cài đặt Let's Encrypt cho website của bạn sử dụng máy chủ OpenLiteSpeed hoặc LiteSpeed
Tại sao lại sử dụng Let’s Encrypt?
Let’s Encrypt là một nhà cung cấp chứng chỉ số SSL (Certificate Authority) hoàn toàn miễn phí, được nhiều cá nhân và tổ chức tin dùng và đặc biệt không giới hạn do tổ chức phi lợi nhuận Internet Security Research Group (ISRG) duy trì. Do đó Lets Encrypt được rất nhiều website sử dụng để cài đặt SSL khi muốn cấu hình HTTPS.
LiteSpeed và OpenLiteSpeed Web Server
LiteSpeed hay LiteSpeed Web Server (gọi tắt là LSWS) là một dịch vụ Web Server chạy trên nền tảng OS Linux, được biết đến với khả năng cung cấp một hiệu suất tuyệt vời và khả năng mở rộng cực cao. Một web server Apache nổi tiếng có thể được thay thế bằng LiteSpeed Web Server vô cùng dễ dàng mà không cần chỉnh sửa bất kỳ chi tiết nào trong cấu hình dịch vụ trên hệ điều hành và cũng không gây ảnh hưởng hay cản trở tiến trình hay chương trình nào cả. LiteSpeed khi sử dụng cần mất phí tuy nhiên chúng ta hoàn toàn có thể sử dụng bản miễn phí mã nguồn mở OpenLiteSpeed với phần đầy đủ tính năng tương tự
Cài đặt môi trường
Để cài đặt và sử dụng Let’s Encrypt trên server của bạn chúng ta sử dụng một công cụ là Let’s Encrypt CertBot
Cài đặt CertBot trên Ubuntu
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot
Cài đặt CertBot trên CentOS 7
yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install certbot
Cài đặt CertBot trên CentOS 8
wget https://dl.eff.org/certbot-auto
sudo mv certbot-auto /usr/local/bin/certbot-auto
sudo chown root /usr/local/bin/certbot-auto
sudo chmod 0755 /usr/local/bin/certbot-auto
Tạo chứng chỉ SSL cho website của bạn
Với các máy chủ Apache hoặc Nigx Certbot có thể tự động nhận diện máy chủ và cài đặt SSL một cách tự động. Với máy chủ OpenLiteSpeed ta thực hiện cài đặt thủ công như sau
Bước 1 chạy lệnh certbot để tạo chứng chỉ
certbot-auto certonly
Kết quả sau khi chạy lệnh
[root@git ~]# certbot-auto certonly
Saving debug log to /var/log/letsencrypt/letsencrypt.log
How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Spin up a temporary webserver (standalone)
2: Place files in webroot directory (webroot)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Tiếp theo các bạn nhập số 2 rồi nhấn enter
Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to cancel):
Sau đó các bạn nhập email để đăng kí SSL, LiteSpeed sẽ gửi email gia hạn hoặc các thông tin liên quan vào mail này.
Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v01.api.letsencrypt.org/directory
(A)gree/(C)ancel:
Nhập 'A' để đồng ý với điều khoản dịch vụ
Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let’s Encrypt project and the non-profit organization that develops Certbot?
(Y)es/(N)o:
Nhập 'N' từ chối chia sẻ thông tin email
Plugins selected: Authenticator webroot, Installer None
Please enter in your domain name(s) (comma and/or space separated) (Enter 'c'
to cancel):
Bước tiếp theo là bạn nhập tên miền của website cần đăng kí
Input the webroot for YOUR_DOMAIN: (Enter ‘c’ to cancel):
Nhập đường dẫn tới thưc mục gốc của website, đợi vài giây certbot sẽ tạo chứng chỉ cho các bạn
Waiting for verification… Cleaning up challenges
IMPORTANT NOTES: Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem
Your cert will expire on DATE. To obtain a new or tweaked version of this certificate in the future, simply run “certbot-auto” again.
To non-interactively renew *all* of your certificates, run “certbot-auto renew”
Cấu hình SSL cho OpenLiteSpeed
Sau khi đã tạo xong chứng chỉ SSL cho website, việc tiếp theo là ta phải cấu hình SSL trên trang admin
Truy cập trang admin của OpenLiteSpeed mặc định là domainname:7080 tạo thêm một Listeners mới cho HTTPS theo cấu hình dưới đây (nên đặt tên là HTTPS cho dễ nhớ)
Bây giờ chúng ta sẽ cấu hình SSL cho listener. Bạn vào Listeners –> SSL –> SSL Private Key & Certificate.
Copy đường dẫn chứng chỉ ở trên điền vào như sau
- Private Key File:
/etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem
- Certificate File:
/etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem
Ở phần SSL protocol tích tất cả các giao thức SSL
Nếu server của bạn có nhiều website thì bạn nhớ mapping website của bạn vào listenner HTTPs vừa tạo
Chọn SAVE sau đó khởi động lại OpenLiteSpeed
Khi cấu hình thành công Listener của bạn sẽ xuất hiện với màu xanh trên Dashboard
Việc tiếp theo là test thử website của các bạn trên trình duyệt, hiện cái khoá màu xanh ở thanh địa chỉ là thành công
Gia hạn SSL
Chứng chỉ Let’s Encrypt có thời hạn là 90 ngày, do đó bạn nên sử dụng cron job (Linux Scheduler) để gia hạn tự động Let’s Encrypt certificates trước khi hết hạn
Trước khi cấu hình cron job, bạn chạy câu lênh dưới đây để thử gia hạn tự động chứng chỉ
certbot renew --dry-run
Kết quả
Saving debug log to /var/log/letsencrypt/letsencrypt.log
-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/web.itzgeek.com.conf
-------------------------------------------------------------------------------
Cert not due for renewal, but simulating renewal for dry run
Starting new HTTPS connection (1): acme-staging.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for web.itzgeek.com
Waiting for verification...
Cleaning up challenges
-------------------------------------------------------------------------------
new certificate deployed without reload, fullchain is
/etc/letsencrypt/live/web.itzgeek.com/fullchain.pem
-------------------------------------------------------------------------------
** DRY RUN: simulating 'certbot renew' close to cert expiry
** (The test certificates below have not been saved.)
Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/web.itzgeek.com/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
** (The test certificates above have not been saved.)
Tiếp theo các bạn thực hiện cron job thực hiện gia hạn 2 ngày một lần (hệ thống chỉ thực hiện lệnh gia hạn khi sắp hết hạn) với lệnh sau. Để biết thêm về cron job có thể đọc bài sau Hướng dẫn sử dụng Cronjob
certbot renew
Tổng kết
Trong bài viết này, VnCoder đã hướng dẫn chi tiết cho các bạn cách đăng kí chứng chỉ Let’s Encrypt cho website của bạn và cấu hình HTTPS trên trang admin. Nếu bạn nào không thực hiện được có thể comment bên dưới mình sẽ hướng dẫn thêm, Chúc các bạn thành công
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!