Lỗi lỗi cài ssl lets encrypt cho sentora trên centos năm 2024

Process done as ROOT user.

NOTICE: For CentOS servers replace apt-get with yum and replace apache2 with httpd

Installing git & Let’s Encrypt Let’s Encrypt is a new Certificate Authority: It’s free, automated, and open.

Check to make sure mod_ssl is installed: On Sentora Panel go to Admin -> PHPinfo -> View Full PHP Configuration -> Search for mod_ssl If not, install it: NOTICE: For CentOS replace apt-get with yum Code: apt-get install mod_ssl

Check to make sure openssl is installed: (openssl does not mandate the install of mod_ssl in CentOS 6.x) On Sentora Panel go to Admin -> PHPinfo -> View Full PHP Configuration -> Search for openssl If not, install it: NOTICE: For CentOS replace apt-get with yum Code: apt-get install openssl

REQUIRED for CentOS: Edit /etc/httpd/conf.d/ssl.conf and change Listen 443 to

Listen 443

Next, install git and Let's Encrypt: NOTICE: For CentOS replace apt-get with yum apt-get install git git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --help

Creating a Certificate for your domain You need to turn off apache before creating a certificate or you will get something like

The program httpd (process ID XXXX) is already listening on TCP port 80. This will prevent us from binding to that port. Please stop the httpd program temporarily and then try again.

REMINDER: Replace domain.com by your domain URL. NOTICE: For CentOS replace apache2 with httpd service apache2 stop ./letsencrypt-auto certonly --standalone -d domain.com -d www.domain.com service apache2 start

Changing Sentora port: On Sentora Panel go to Admin -> Module Admin -> Apache Config > Override a Virtualhost [Select VHost] -> Tick Port Override. Forward Port 80 to Overriden Port: 443 Custom Entry:

(Don't forget to replace domain.com with your domain's URL below:)

SSLEngine on SSLProtocol ALL -SSLv2 -SSLv3 SSLHonorCipherOrder On SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS SSLCertificateFile /etc/letsencrypt/live/domain.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/domain.com/chain.pem # Keeping bellow for future upgrades. # Requires Apache >= 2.4 SSLCompression off

Save Vhost.

Wait on daemon update or run it manually and restart apache. NOTICE: For CentOS replace apache2 with httpd php -q /etc/sentora/panel/bin/daemon.php service apache2 restart

Your domain should now be secured by SSL. You can test it here: https://www.ssllabs.com/ssltest/

Let’s Encrypt là một Tổ chức Chứng chỉ (CA) cung cấp chứng chỉ miễn phí cho mã hóa Transport Layer Security (TLS), từ đó cho phép kết nối HTTPS được mã hóa trên máy chủ web. Nó đơn giản hóa quá trình tạo, xác nhận, ký, cài đặt và gia hạn chứng chỉ bằng cách cung cấp một ứng dụng phần mềm, Certbot, tự động hóa hầu hết các bước.

Trong hướng dẫn này, bạn sẽ sử dụng Certbot để thiết lập chứng chỉ TLS/SSL từ Let’s Encrypt trên một máy chủ CentOS 7 chạy Apache làm máy chủ web. Ngoài ra, bạn sẽ tự động hóa quá trình gia hạn chứng chỉ bằng một công việc cron, liên hệ với chúng tôi nếu bạn gặp khó khăn.

Chuẩn bị trước khi cài đặt:

Để hoàn thành hướng dẫn bảo mật Apache cài đặt SSL Let's Encrypt Cerbot trên CentOS 7, bạn cần:

  • Một máy chủ CentOS 7 được thiết lập bằng cách tuân theo hướng dẫn thiết lập máy chủ CentOS 7 ban đầu với một người dùng không phải là root có đặc quyền sudo.
  • Một tường lửa cơ bản được cấu hình.
  • Apache được cài đặt trên máy chủ CentOS 7 với máy chủ ảo được cấu hình. . Hãy chắc chắn rằng bạn có một tệp máy chủ ảo cho tên miền của bạn. Hướng dẫn này sẽ sử dụng sudo yum install certbot python2-certbot-apache mod_ssl 2 làm ví dụ.
  • Bạn nên sở hữu hoặc kiểm soát tên miền đã đăng ký mà bạn muốn sử dụng chứng chỉ với. Nếu bạn chưa có tên miền đã đăng ký, bạn có thể mua một tên trên KDATA, nhận một miễn phí trên Freenom hoặc sử dụng đăng ký tên miền mà bạn chọn.
  • Một bản ghi DNS A trỏ tên miền của bạn đến địa chỉ IP công cộng của máy chủ của bạn. Bản ghi DNS A là cần thiết vì cách Let’s Encrypt xác nhận rằng bạn sở hữu tên miền mà nó đang cấp chứng chỉ. Ví dụ, nếu bạn muốn có một chứng chỉ cho sudo yum install certbot python2-certbot-apache mod_ssl 3, tên miền đó phải được giải quyết đến máy chủ của bạn để quá trình xác nhận hoạt động. Thiết lập của chúng tôi sẽ sử dụng sudo yum install certbot python2-certbot-apache mod_ssl 3 và sudo yum install certbot python2-certbot-apache mod_ssl 5 làm tên miền, cả hai đều sẽ yêu cầu một bản ghi DNS hợp lệ.

Khi bạn đã hoàn thành tất cả các điều kiện tiên quyết này, tiến hành cài đặt phần mềm client Let’s Encrypt.

Bước 1 - Cài đặt Client Let’s Encrypt Certbot

Để sử dụng Let’s Encrypt để lấy chứng chỉ SSL, bạn cần cài đặt Certbot và

sudo yum install certbot python2-certbot-apache mod_ssl

6, một module Apache cung cấp hỗ trợ cho mã hóa SSL v3.

Gói

sudo yum install certbot python2-certbot-apache mod_ssl

7 không có sẵn thông qua quản lý gói theo mặc định. Bạn cần kích hoạt kho lưu trữ EPEL để cài đặt Certbot.

Để thêm kho lưu trữ EPEL cho CentOS 7, chạy lệnh sau:

sudo yum install epel-release

Bây giờ bạn đã truy cập vào kho lưu trữ, hãy cài đặt tất cả các gói cần thiết:

sudo yum install certbot python2-certbot-apache mod_ssl

Trong quá trình cài đặt, bạn sẽ được hỏi về việc nhập một khóa GPG. Khóa này sẽ xác minh tính xác thực của gói bạn đang cài đặt. Để cho phép quá trình cài đặt hoàn tất, hãy chấp nhận khóa GPG bằng cách nhập

sudo yum install certbot python2-certbot-apache mod_ssl

8 và nhấn

sudo yum install certbot python2-certbot-apache mod_ssl

9 khi được nhắc làm như vậy.

Với những dịch vụ này được cài đặt, bạn đã sẵn sàng chạy Certbot và lấy chứng chỉ của mình.

Bước 2 - Lấy chứng chỉ

Bây giờ Certbot đã được cài đặt, bạn có thể sử dụng nó để yêu cầu một chứng chỉ SSL cho tên miền của bạn.

Việc sử dụng ứng dụng

sudo certbot --apache -d example.com

0 của Let’s Encrypt để tạo Chứng chỉ SSL cho Apache tự động hóa nhiều bước trong quá trình. Ứng dụng sẽ tự động lấy và cài đặt một chứng chỉ SSL mới có hiệu lực cho các tên miền bạn cung cấp như là tham số.

Để thực hiện quá trình cài đặt tương tác và lấy một chứng chỉ chỉ đối với một tên miền duy nhất, chạy lệnh

sudo yum install certbot python2-certbot-apache mod_ssl

7 với:

sudo certbot --apache -d example.com

Điều này chạy

sudo yum install certbot python2-certbot-apache mod_ssl

7 với plugin

sudo certbot --apache -d example.com

3 và chỉ định tên miền cần cấu hình chứng chỉ với cờ

sudo certbot --apache -d example.com

4.

Nếu bạn muốn cài đặt một chứng chỉ duy nhất có hiệu lực cho nhiều tên miền hoặc tên miền con, bạn có thể truyền chúng dưới dạng tham số bổ sung cho lệnh, đánh dấu mỗi tên miền hoặc tên miền con mới với cờ -d. Tên miền đầu tiên trong danh sách tham số sẽ là tên miền cơ sở được Let’s Encrypt sử dụng để tạo chứng chỉ. Vì lý do này, hãy truyền tên miền cơ sở đầu tiên trong danh sách, tiếp theo là bất kỳ tên miền con hoặc định danh phụ khác:

sudo certbot --apache -d example.com -d www.example.com

Tên miền cơ sở trong ví dụ này là

sudo yum install certbot python2-certbot-apache mod_ssl

3.

Tiện ích

sudo yum install certbot python2-certbot-apache mod_ssl

7 cũng có thể yêu cầu thông tin tên miền từ bạn trong quá trình yêu cầu chứng chỉ. Để sử dụng chức năng này, gọi

sudo yum install certbot python2-certbot-apache mod_ssl

7 mà không có bất kỳ tên miền nào:

sudo certbot --apache

Chương trình sẽ hiển thị một hướng dẫn từng bước để tùy chỉnh tùy chọn chứng chỉ của bạn. Nó sẽ yêu cầu bạn cung cấp địa chỉ email để khôi phục chìa khóa mất và thông báo, và sau đó yêu cầu bạn đồng ý với điều khoản sử dụng. Nếu bạn không chỉ định tên miền của mình trong dòng lệnh, bạn sẽ được yêu cầu điều đó. Nếu các tệp Máy Chủ Ảo của bạn không chỉ định rõ tên miền mà họ phục vụ bằng cách sử dụng chỉ thị

sudo certbot --apache -d example.com

8, bạn sẽ được yêu cầu chọn tệp máy chủ ảo. Trong hầu hết các trường hợp, tệp

sudo certbot --apache -d example.com

9 mặc định sẽ hoạt động.

Bạn cũng có thể chọn giữa việc kích hoạt cả hai quyền truy cập

sudo certbot --apache -d example.com -d www.example.com

0 và

sudo certbot --apache -d example.com -d www.example.com

1 hoặc buộc tất cả các yêu cầu chuyển hướng đến

sudo certbot --apache -d example.com -d www.example.com

1. Đối với tính bảo mật tốt hơn, nên chọn tùy chọn

sudo certbot --apache -d example.com -d www.example.com

3 nếu bạn không có bất kỳ nhu cầu đặc biệt nào để cho phép kết nối không mã hóa. Chọn lựa của bạn sau đó nhấn

sudo yum install certbot python2-certbot-apache mod_ssl

9.

Output 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

Khi quá trình cài đặt hoàn tất thành công, bạn sẽ thấy một thông báo tương tự như sau:

Output IMPORTANT NOTES:  - Congratulations! Your certificate and chain have been saved at:    /etc/letsencrypt/live/example.com/fullchain.pem    Your key file has been saved at:    /etc/letsencrypt/live/example.com/privkey.pem    Your cert will expire on 2019-08-14. 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 chứng chỉ được tạo sẽ có sẵn trong một thư mục con có tên theo tên miền cơ sở của bạn trong thư mục

sudo certbot --apache -d example.com -d www.example.com

5.

Bây giờ chứng chỉ của bạn đã được tải về, cài đặt và nạp, bạn có thể kiểm tra trạng thái chứng chỉ SSL của mình để đảm bảo rằng mọi thứ đều đang hoạt động.

Bước 3 - Kiểm tra trạng thái chứng chỉ của bạn

Tại điểm này, bạn có thể đảm bảo rằng Certbot đã tạo chứng chỉ SSL của bạn một cách đúng đắn bằng cách sử dụng SSL Server Test.

Mở liên kết sau trong trình duyệt web ưa thích của bạn, thay thế

sudo yum install certbot python2-certbot-apache mod_ssl

3 bằng tên miền cơ sở của bạn:

https://www.ssllabs.com/ssltest/analyze.html?d=example.com

Bạn sẽ đến trang mà ngay lập tức bắt đầu kiểm thử kết nối SSL đến máy chủ của bạn:

Lỗi lỗi cài ssl lets encrypt cho sentora trên centos năm 2024

Khi bài kiểm tra bắt đầu chạy, nó có thể mất vài phút để hoàn thành. Trạng thái của bài kiểm tra sẽ cập nhật trên trình duyệt của bạn.

Khi bài kiểm tra hoàn thành, trang sẽ hiển thị một chữ cái xếp hạng đánh giá mức độ bảo mật và chất lượng cấu hình máy chủ của bạn. Tại thời điểm viết hướng dẫn này, các cài đặt mặc định sẽ đưa ra một xếp hạng A:

Lỗi lỗi cài ssl lets encrypt cho sentora trên centos năm 2024

Để biết thêm thông tin về cách SSL Labs xác định các xếp hạng này, hãy kiểm tra bài viết SSL Labs Grading mô tả các cập nhật được thực hiện cho hệ thống xếp hạng vào tháng 1 năm 2018.

Hãy thử tải lại trang web của bạn bằng cách sử dụng

sudo certbot --apache -d example.com -d www.example.com

7 và chú ý đến chỉ báo bảo mật của trình duyệt. Bây giờ, nó sẽ chỉ ra rằng trang web của bạn được bảo vệ đúng cách, thường là bằng biểu tượng khóa màu xanh.

Với chứng chỉ SSL của bạn đã được cài đặt và xác nhận, bước tiếp theo là thiết lập tự động gia hạn chứng chỉ để duy trì tính hợp lệ của chứng chỉ của bạn.

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

Chứng chỉ Let’s Encrypt có hiệu lực trong vòng 90 ngày, nhưng khuyến nghị là bạn nên gia hạn chúng mỗi 60 ngày để có một khoảng thời gian chờ lỗi. Do đó, việc tốt nhất là tự động hóa quy trình này để định kỳ kiểm tra và gia hạn chứng chỉ.

Trước tiên, hãy xem xét lệnh mà bạn sẽ sử dụng để gia hạn chứng chỉ. Client

sudo certbot --apache -d example.com

0 của Let’s Encrypt có một lệnh

sudo certbot --apache -d example.com -d www.example.com

9 mà tự động kiểm tra các chứng chỉ đã cài đặt hiện tại và cố gắng gia hạn chúng nếu chúng còn ít hơn 30 ngày trước khi hết hạn. Bằng cách sử dụng tùy chọn

sudo certbot --apache

0, bạn có thể chạy mô phỏng của công việc này để kiểm tra cách gia hạn hoạt động:

sudo certbot renew --dry-run

Đầu ra sẽ trông giống như sau:

Output Saving debug log to /var/log/letsencrypt/letsencrypt.log


Processing /etc/letsencrypt/renewal/example.com.conf


Cert not due for renewal, but simulating renewal for dry run Plugins selected: Authenticator apache, Installer apache Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org Renewing an existing certificate Performing the following challenges: http-01 challenge for example.com http-01 challenge for www.example.com Waiting for verification... Cleaning up challenges Resetting dropped connection: acme-staging-v02.api.letsencrypt.org


new certificate deployed with reload of apache server; fullchain is /etc/letsencrypt/live/example.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/example.com/fullchain.pem (success) ...

Lưu ý rằng nếu bạn đã tạo một chứng chỉ gói ghém với nhiều tên miền, chỉ có tên miền cơ sở sẽ được hiển thị trong đầu ra, nhưng quá trình gia hạn sẽ có hiệu lực cho tất cả các tên miền được bao gồm trong chứng chỉ này.

Một cách thực tế để đảm bảo rằng chứng chỉ của bạn sẽ không trở nên lạc hậu là tạo một công việc

sudo certbot --apache

1 sẽ thực hiện định kỳ lệnh gia hạn tự động cho bạn. Vì quá trình gia hạn đầu tiên kiểm tra ngày hết hạn và chỉ thực hiện gia hạn nếu chứng chỉ còn ít hơn 30 ngày trước khi hết hạn, nên hoàn toàn an toàn để tạo một công việc cron chạy mỗi tuần hoặc thậm chí mỗi ngày.

Tài liệu chính thức của Certbot khuyến khích chạy cron hai lần mỗi ngày. Điều này sẽ đảm bảo rằng, trong trường hợp Let’s Encrypt khởi xướng việc thu hồi chứng chỉ, không có quá nửa ngày trôi qua trước khi Certbot gia hạn chứng chỉ của bạn.

Chỉnh sửa

sudo certbot --apache

2 để tạo một công việc mới sẽ chạy gia hạn hai lần mỗi ngày. Để chỉnh sửa

sudo certbot --apache

2 cho người dùng root, chạy:

sudo yum install certbot python2-certbot-apache mod_ssl

0

Trình soạn thảo văn bản của bạn sẽ mở tệp

sudo certbot --apache

2 mặc định, đây là một tệp văn bản trống ở thời điểm này. Hướng dẫn này sẽ sử dụng trình soạn thảo vi.

Chuyển sang chế độ chèn bằng cách nhấn

sudo certbot --apache

5và thêm dòng sau đây:

sudo yum install certbot python2-certbot-apache mod_ssl

1

Khi bạn hoàn tất, nhấn

sudo certbot --apache

6 để thoát khỏi chế độ chèn, sau đó

sudo certbot --apache

7 và

sudo yum install certbot python2-certbot-apache mod_ssl

9 để lưu và thoát khỏi tệp. Điều này sẽ tạo ra một công việc cron mới sẽ thực thi vào buổi trưa và nửa đêm hàng ngày. Thêm một yếu tố ngẫu nhiên vào công việc cron của bạn sẽ đảm bảo rằng các công việc hàng giờ không xảy ra cùng một phút, gây ra một đỉnh trên máy chủ;

sudo certbot --apache

9 sẽ chọn một phút ngẫu nhiên trong vòng một giờ cho các nhiệm vụ gia hạn của bạn.

Để biết thêm thông tin về cách tạo và lên lịch công việc cron, bạn có thể kiểm tra Hướng dẫn cách sử dụng Cron để tự động hóa nhiệm vụ trong VPS của chúng tôi. Thông tin chi tiết hơn về gia hạn có thể được tìm thấy trong tài liệu Certbot.

Kết luận

Trong hướng dẫn này, bạn đã cài đặt ứng dụng Certbot của Let’s Encrypt, tải xuống chứng chỉ SSL cho tên miền của bạn và thiết lập tự động gia hạn chứng chỉ giúp bảo mật Apache trên CentOS 7. Nếu bạn có bất kỳ câu hỏi nào về việc sử dụng Certbot, bạn có thể kiểm tra tài liệu chính thức của Certbot. Chúng tôi cũng khuyến nghị bạn kiểm tra blog chính thức của Let’s Encrypt để cập nhật thông tin quan trọng từ thời gian này.