Hướng dẫn cài đặt Let’s Encrypt trên VPS Ubuntu 18.04

0

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn các bước cài đặt chứng chỉ SSL Let’s Encrypt trên VPS Ubuntu 18.04 và cấu hình nó với máy chủ web Nginx.

Let Encrypt là một tổ chức thẩm quyền chứng chỉ miễn phí và tự động. Họ phát triển nhằm mục đích mang lại các trang web an toàn cho tất cả người dùng trên web. Chúng giúp cài đặt dễ dàng và đơn giản, thậm chí bạn có thể thiết lập tự động gia hạn để bạn không bao giờ phải lo lắng về việc chứng chỉ của mình sẽ hết hạn. Hãy bắt đầu với việc cài đặt.

Điều kiện tiên quyết

  •  Máy chủ với hệ điều hành Ubuntu 18.04. Điều này cũng sẽ hoạt động với các bản phân phối Linux khác, nhưng hướng dẫn này đặc biệt nói về Ubuntu 18.04.
  •  Người dùng hệ thống có quyền sudo hoặc tài khoản root
  •  Tên miền hoặc tên miền phụ được trỏ đến máy chủ của bạn. Đối với mục đích của hướng dẫn này, chúng tôi sẽ sử dụng domain.comlàm ví dụ.

Bước 1: Đăng nhập và cập nhật máy chủ

Trước hết, đăng nhập vào máy chủ Ubuntu 18.04 của bạn thông qua SSH với tư cách là người dùng root hoặc bất kỳ người dùng nào khác có quyền sudo

root ssh @ IP_Address -p Port_Number

Trong đó ‘ IP_Address ‘ và ‘ Port_Number ‘ là địa chỉ IP thực tế của máy chủ của bạn và số cổng SSH.

Khi bạn đã đăng nhập, hãy chạy các lệnh sau để đảm bảo rằng tất cả các gói đã cài đặt trên máy chủ của bạn được cập nhật lên phiên bản mới nhất có sẵn

apt update && apt upgrade

Bạn cũng có thể bật cập nhật tự động trên máy chủ của mình như được mô tả trong một trong các bài đăng trên blog trước đây của chúng tôi, rất được khuyến khích. Bằng cách này, hệ thống sẽ tự động kiểm tra các bản cập nhật.

Bước 2: Cài đặt Máy chủ web Nginx

Trong hướng dẫn này, chúng tôi sẽ cài đặt và sử dụng máy chủ web Nginx. Đây là một máy chủ web miễn phí, mã nguồn mở và hiệu suất cao được biết đến với hiệu suất tuyệt vời, tính ổn định, sử dụng tài nguyên thấp, bộ tính năng mở rộng và cấu hình đơn giản. Nginx có sẵn trong kho chính thức Ubuntu 18.04 và việc cài đặt khá dễ dàng. Chạy lệnh sau để cài đặt nó trên máy chủ của bạn

apt -y install nginx

Khi máy chủ web Nginx được cài đặt, nó sẽ tự động được khởi động. Bạn có thể kiểm tra trạng thái của nó bằng lệnh sau

systemctl status nginx

Đầu ra:

â nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-07-24 02:40:17 CDT; 1min 8s ago
     Docs: man:nginx(8)
  Process: 28420 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 28419 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 28421 (nginx)
    Tasks: 3 (limit: 2321)
   CGroup: /system.slice/nginx.service
           ââ28421 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ââ28422 nginx: worker process
           ââ28423 nginx: worker process

Jul 24 02:40:17 hostname systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 24 02:40:17 hostname systemd[1]: Started A high performance web server and a reverse proxy server.

Cho phép Nginx tự động khởi động sau khi khởi động lại máy chủ

systemctl enable nginx

Bước 3: Cài đặt Certbot

Certbot là một công cụ mã nguồn mở và miễn phí được viết bằng Python, giúp lấy chứng chỉ SSL từ Let Encrypt và định cấu hình nó trên máy chủ web của bạn. Phiên bản Cerbot có thể được cài đặt từ kho lưu trữ Ubuntu chính thức đã lỗi thời, vì vậy để cài đặt phiên bản mới nhất được duy trì bởi nhóm Certbot, chúng tôi sẽ phải thêm Certbot PPA vào danh sách kho lưu trữ của bạn.

Để làm điều đó, hãy chạy theo các lệnh trên máy chủ của bạn

apt install  software-properties-common
add-apt-repository universe
add-apt-repository ppa:certbot/certbot

Trong quá trình thêm kho lưu trữ, bạn sẽ được nhắc nhấn nút Enter để chấp nhận nó. Sau đó cập nhật danh sách kho

apt update

Khi kho lưu trữ được thêm vào và danh sách kho lưu trữ được cập nhật, hãy tiếp tục và cài đặt gói Certbot Nginx

apt -y install python-certbot-nginx

Bước 4: Cài đặt chứng chỉ SSL Hãy mã hóa

Như chúng tôi đã đề cập trong phần ‘Điều kiện tiên quyết’ trong hướng dẫn, chúng tôi sẽ sử dụng domain.comlàm miền mẫu. Vì vậy, để có được chứng chỉ SSL Encrypt SSL cho tên miền này, chúng tôi sẽ chạy Certbot với plugin HPnginx sẽ chỉnh sửa cấu hình Nginx cho tên miền cụ thể.

certbot --nginx -d domain.com -d www.domain.com

Trong quá trình cài đặt chứng chỉ SSL Encrypt SSL, bạn sẽ được nhắc nhập địa chỉ email được sử dụng để gia hạn khẩn cấp và thông báo bảo mật

Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): admin@domain.com

Đọc và chấp nhận Điều khoản dịch vụ của Encrypt

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: A

Chọn xem bạn có muốn chuyển hướng tất cả các đề tài đến HTTPS hay không, điều này được khuyến nghị.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/default
-------------------------------------------------------------------------------

Với bước này, chứng chỉ SSL domain.comđược cài đặt thành công và bạn có thể truy cập tên miền của mình tại https://domain.com. Bạn có thể sử dụng Cerbot để xác minh điều này và kiểm tra ngày hết hạn của chứng chỉ

certbot certificates

Đầu ra:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
-------------------------------------------------------------------------------
Found the following certs:
  Certificate Name: domain.com
    Domains: domain.com
    Expiry Date: 2019-10-22 08:56:19+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/domain.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/domain.com/privkey.pem
-------------------------------------------------------------------------------

Bước 5: Kiểm tra gia hạn tự động

Gói certbot mà chúng tôi đã cài đặt trong hướng dẫn này đi kèm với bộ đếm thời gian systemd sẽ kiểm tra chứng chỉ SSL và tự động gia hạn trước khi hết hạn. Bạn có thể kiểm tra xem bộ đếm thời gian có chạy như hình dưới đây không

systemctl list-timers |grep certbot
Wed 2019-07-24 15:38:39 CDT  9h left       n/a                          n/a          certbot.timer                certbot.service

Để kiểm tra xem tính năng gia hạn tự động có hoạt động đúng không, hãy ra lệnh sau

certbot renew --dry-run

Nếu nó hoạt động, thì đó là nó! Bạn đã thiết lập thành công chứng chỉ Let’s Encrypt trên VPS Ubuntu 18.04 của mình, cũng như thiết lập tự động gia hạn.

Tái bút Nếu bạn thích bài đăng này về cách cài đặt Let Encrypt trên Ubuntu 18.04 với Nginx , vui lòng chia sẻ nó với bạn bè của bạn trên các mạng xã hội bằng các nút chia sẻ bên dưới hoặc chỉ cần để lại nhận xét trong phần bình luận. Cảm ơn.

Leave a Reply

Your email address will not be published. Required fields are marked *