Hướng dẫn cài đặt Let’s Encrypt trên CentOS 7

0

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt ứng dụng Let’s Encrypt trên VPS CentOS 7 của bạn và cấp chứng chỉ SSL cho tên miền của bạn.

Cải thiện bảo mật trang web của bạn thông qua mã hóa SSL có thể tăng niềm tin của khách truy cập vào trang web của bạn. Trước đây, thiết lập mã hóa SSL trên trang web là một nhiệm vụ phức tạp. Tuy nhiên, Let’s Encrypt là cơ quan cấp chứng chỉ nguồn mở và miễn phí (CA) cho phép lấy và cài đặt chứng chỉ thông qua các lệnh đơn giản, tự động. Nhờ có họ, việc thiết lập mã hóa và tăng tính bảo mật cho trang web của bạn được thực hiện dễ dàng hơn rất nhiều. Let’s Encrypt cung cấp chứng chỉ SSL hợp lệ cho tên miền của bạn mà không mất bất kỳ chi phí nào và cũng có thể được sử dụng cho mục đích sản xuất / thương mại.

Hãy bắt đầu với việc cài đặt – đó là một cài đặt đơn giản và sẽ không mất nhiều thời gian.

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

  • Với mục đích của hướng dẫn này, chúng tôi sẽ sử dụng VPS CentOS 7 .
  • Truy cập root SSH đầy đủ hoặc người dùng có quyền sudo cũng được yêu cầu.
  • Một tên miền hợp lệ được trỏ đến địa chỉ IP của máy chủ của bạn. Trong hướng dẫn này, chúng tôi sẽ sử dụng domain.com.

Bước 1: Kết nối qua SSH và Cập nhật HĐH

Kết nối với máy chủ của bạn thông qua SSH với tư cách là người dùng root bằng lệnh sau:

ssh root@IP_ADDRESS -p PORT_NUMBER

Hãy nhớ thay thế IP_ADDRESS và và PORT_NUMBER, bằng địa chỉ IP và số cổng SSH tương ứng của máy chủ của bạn.

Trước khi bắt đầu cài đặt, bạn sẽ cần cập nhật các gói HĐH của mình lên các phiên bản mới nhất của chúng. Thật dễ dàng để làm điều đó và sẽ không mất nhiều hơn một vài phút.

Bạn có thể làm điều này bằng cách chạy lệnh sau:

yum update

Sau khi cập nhật hoàn tất, chúng ta có thể chuyển sang bước tiếp theo.

Bước 2: Cài đặt LAMP Stack

Chúng ta cần cài đặt LAMP stack trên máy chủ. Nó bao gồm Linux (mà chúng ta đã có), Apache, MySQL và PHP. Chúng ta có thể cài đặt nó bằng cách chạy lệnh sau:

yum install httpd mariadb-server php php-cli php-common

Khi tất cả các gói được cài đặt, hãy khởi động dịch vụ Apache và MariaDB:

systemctl start httpd
systemctl start mariadb

Cho phép họ bắt đầu khởi động máy chủ bằng lệnh sau:

systemctl enable httpd
systemctl enable mariadb

Bước 3: Cấu hình Apache

Chúng ta cần tạo một tệp cấu hình Apache mới. Chúng ta có thể tạo nó bằng lệnh sau:

nano /etc/httpd/conf.d/domain.com

Thêm các dòng sau:

<VirtualHost *:80>
    ServerAdmin admin@domain.com
    DocumentRoot "/var/www/html"
    DirectoryIndex index.html
    ServerName domain.com
    ErrorLog "/var/log/httpd/domain.com.error_log"
    CustomLog "/var/log/httpd/domain.com.access_log" common
</VirtualHost>

Lưu và đóng tập tin.

Sau đó, tạo một index.htmltệp cho mục đích thử nghiệm bằng lệnh sau:

nano /var/www/html/index.html

Thêm các dòng sau:

<html>
Test - Welcome to The Apache Web Server.
</html>

Lưu tệp và thay đổi chủ sở hữu tệp ‘/var/www/html/index.html’ cho người dùng Apache để Apache có thể đọc tệp:

chown -R apache: apache /var/www/html/index.html

Hãy nhớ thay đổi domain.comvới tên miền thực tế của bạn.
Bây giờ chúng ta đã cài đặt Apache, chúng ta có thể tiếp tục và cài đặt certbot.

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

Chúng ta cần cài đặt Certbot và kích hoạt mod_sslmô-đun Apache trên máy chủ. Certbot là một công cụ đơn giản và dễ sử dụng giúp đơn giản hóa việc quản lý máy chủ bằng cách tự động hóa việc lấy chứng chỉ và định cấu hình dịch vụ web để sử dụng chúng.

Theo mặc định, gói Certbot không khả dụng trong kho lưu trữ hệ điều hành mặc định của CentOS 7. Chúng ta cần kích hoạt kho lưu trữ EPEL, sau đó cài đặt Certbot.

Để thêm kho EPEL chạy lệnh sau:

yum install epel-release

Sau khi kích hoạt, cài đặt tất cả các gói cần thiết bằng lệnh sau:

yum install certbot python2-certbot-apache mod_ssl

Sau khi cài đặt, chúng ta có thể tiến hành bước tiếp theo.

Bước 5: Lấy và cài đặt SSL cho tên miền của bạn

Giờ đây, Certbot đã được cài đặt, bạn có thể sử dụng nó để lấy và cài đặt chứng chỉ SSL cho tên miền của mình.

Chỉ cần chạy lệnh sau để lấy và cài đặt chứng chỉ SSL cho miền của bạn:

certbot --apache -d domain.com

Chúng tôi cũng có thể cài đặt một chứng chỉ duy nhất cho nhiều tên miền và tên miền phụ được lưu trữ trên máy chủ với cờ ‘-d’, ví dụ:

certbot --apache -d domain.com -d www. domain.com -d domain2.com -d test.domain2.com

Chúng tôi sẽ được yêu cầu cung cấp một địa chỉ email và đồng ý với các điều khoản dịch vụ.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): admin@domain.com
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
Starting new HTTPS connection (1): supporters.eff.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for domain.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/httpd/conf.d/domain.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/domain.com-le-ssl.conf

Nhập Y và nhấn [Enter] và bạn sẽ thấy đầu ra sau:

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

Tại đây, bạn cần chọn bất kỳ một tùy chọn để tiếp tục. Nếu bạn chọn tùy chọn 1, nó sẽ chỉ tải xuống chứng chỉ SSL và bạn cần định cấu hình Apache theo cách thủ công để sử dụng chứng chỉ SSL. Nếu bạn chọn tùy chọn 2, nó sẽ tự động tải xuống và định cấu hình Apache để sử dụng chứng chỉ SSL. Trong trường hợp này, chọn tùy chọn 2 và nhấn [Enter]. Khi quá trình cài đặt thành công, bạn sẽ thấy một thông báo tương tự như sau:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://domain.com
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/domain.com-0001/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/domain.com-0001/privkey.pem
Your cert will expire on 2019-10-22. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Các tập tin chứng chỉ được tạo có sẵn trong /etc/letsencrypt/live/domain.comthư mục. Bạn có thể kiểm tra chứng chỉ SSL mới được tạo bằng lệnh sau:

ls / etc / letencrypt / live / domain.com /

Bạn sẽ thấy đầu ra sau:

cert.pem chain.pem fullchain.pem privatekey.pem

Bước 6: Kiểm tra chứng chỉ SSL của bạn

Mở trình duyệt web của bạn và nhập URL https://domain.com. Để kiểm tra chứng chỉ SSL trong Chrome, nhấp vào biểu tượng ổ khóa trong thanh địa chỉ cho https: // domain.com và từ hộp bật lên, nhấp vào ‘Hợp lệ’ dưới dấu nhắc ‘Chứng chỉ’.

Bước 7: Thiết lập gia hạn tự động

Theo mặc định, chứng chỉ Let’s Encrypt có hiệu lực trong 90 ngày, do đó, nên gia hạn chứng chỉ trước khi hết hạn. Lý tưởng nhất là tự động hóa quá trình gia hạn để kiểm tra định kỳ và gia hạn chứng chỉ.

Chúng ta có thể kiểm tra quá trình gia hạn bằng tay với lệnh sau.

certbot renew --dry-run

Lệnh trên sẽ tự động kiểm tra các chứng chỉ hiện được cài đặt và cố gắng gia hạn chúng nếu chúng chưa đến 30 ngày kể từ ngày hết hạn.

Chúng ta cũng có thể thêm một cronjob để tự động chạy lệnh trên hai lần một ngày.

Để làm như vậy, chỉnh sửa crontab bằng lệnh sau:

crontab -e

Thêm dòng sau:

* */12 * * * root /usr/bin/certbot renew >/dev/null 2>&1

Lưu và đóng tập tin.

Xin chúc mừng! Chúng tôi đã cài đặt và định cấu hình thành công Let’s Encrypt  với Apache trên VPS CentOS 7.

PS . Nếu bạn thích bài đăng này về cách Cài đặt Let Encrypt trên CentOS 7 hoặc nếu bạn thấy nó hữu ích, 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ẻ hoặc chỉ cần để lại câu trả lời bên dưới. Cảm ơn.

Leave a Reply

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