Hướng dẫn cài đặt SSL Let Apache
Trong bài viết này Nhân Hòa sẽ hướng dẫn các bạn cách cài đặt chứng chỉ SSL Let’s Encrypt lên máy chủ Apache một cách đơn giản và nhanh chóng nhất. Các bạn cùng xem qua bài viết này nhé.
I. Giới thiệu SSL Let’s Encrypt :
- SSL là chữ viết tắt của Secure Sockets Layer (Lớp socket bảo mật). Một loại bảo mật giúp mã hóa liên lạc giữa website và trình duyệt. Công nghệ này đang lỗi thời và được thay thế hoàn toàn bở TLS.
- Let’s Encrypt là một tổ chức xác thực SSL giống như Comodo, GeoTrust, Symantec nhưng có điểm khác đó là họ là tổ chức phi lợi nhuận được thành lập với sự bảo trợ của các tổ chức lớn trên thế giới Cisco, Akamai, Mozilla, Facebook…Do đó, những chứng chỉ SSL Let’s Encrypt sẽ không khác gì với những loại chứng chỉ SSL khác mà chỉ khác nhau ở chỗ bạn phải gia hạn mỗi 90 ngày một lần nếu muốn tiếp tục sử dụng.
II. Chuẩn bị :
- 1 máy chủ chạy hệ điều hành CentOS 7,CentOS 8… đã cài đặt Apache Stack
- Trỏ tên miền về IP máy chủ ( Nếu cài đặt SSL cho cả www.domain.com thì subdomain www cũng phải trỏ về IP máy chủ )
III. Các bước thực hiện:
Để cài đặt SSL Let’s Encrypt trên máy chủ Apache các bạn có thể thực hiện với 4 bước sau.
-
Bước 1 – Cài đặt Certbot Let’s Encrypt Client
- Để thêm kho lưu trữ CentOS 7 EPEL, hãy chạy lệnh sau:
yum install epel-release
– Bây giờ bạn có quyền truy cập vào kho lưu trữ, hãy cài đặt tất cả các gói được yêu cầu:
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 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 kết thúc, hãy chấp nhận phím GPG bằng cách nhập Y
và nhấn ENTER
khi được nhắc làm như vậy.
Với các dịch vụ này được cài đặt, bây giờ bạn đã sẵn sàng chạy Certbot và tìm nạp 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 chứng chỉ SSL cho miền của mình.
Việc sử dụng certbot
máy khách Let’s Encrypt để tạo Chứng chỉ SSL cho Apache sẽ tự động hóa nhiều bước trong quy trình. Máy khách sẽ tự động lấy và cài đặt chứng chỉ SSL mới hợp lệ cho các miền bạn cung cấp dưới dạng tham số.
Để thực hiện cài đặt tương tác và lấy chứng chỉ chỉ bao gồm một tên miền, hãy chạy certbot
lệnh với:
sudo certbot –apache -d zaraoder.xyz
Điều này chạy certbot với –apache plugin và chỉ định miền để định cấu hình chứng chỉ với -d .
Nếu bạn muốn cài đặt một chứng chỉ hợp lệ cho nhiều tên miền hoặc tên miền phụ, bạn có thể chuyển chúng dưới dạng tham số bổ sung cho lệnh, gắn -d cho từng tên miền hoặc tên miền phụ mới . Tên miền đầu tiên trong danh sách các tham số sẽ là miền cơ sở được Let’s Encrypt sử dụng để tạo chứng chỉ. Vì lý do này, hãy chuyển tên miền cơ sở vào vị trí đầu tiên trong danh sách, theo sau là bất kỳ tên miền phụ hoặc bí danh bổ sung nào :
sudo certbot –apache -d zaraoder.xyz -d www.zaraoder.xyz
Miền cơ sở trong ví dụ này là : zaraoder.xyz
Các certbot tiện ích cũng có thể nhắc bạn cho thông tin tên miền trong quá trình yêu cầu chứng chỉ. Để sử dụng chức năng này, hãy gọi certbot mà không có bất kỳ miền nào:
sudo certbot –apache
Chương trình sẽ giới thiệu cho bạn hướng dẫn từng bước để tùy chỉnh các 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 khóa bị mất và các thông báo, sau đó nhắc bạn đồng ý với các điều khoản dịch vụ. Nếu bạn không chỉ định miền của mình trên dòng lệnh, bạn cũng sẽ được nhắc về điều đó. Nếu tệp Máy chủ ảo của bạn không chỉ định miền mà chúng phân phối rõ ràng bằng cách sử dụng lệnh ServerName
, 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, ssl.conf
tệp mặc định sẽ hoạt động.
Bạn cũng sẽ có thể chọn giữa bật cả hai http
và https
truy cập hoặc buộc tất cả các yêu cầu chuyển hướng đến https
. Để bảo mật tốt hơn, bạn nên chọn tùy chọn 2: Redirect
nếu bạn không có bất kỳ nhu cầu đặc biệt nào để cho phép các kết nối không được mã hóa. Chọn sự lựa chọn của bạn rồi nhấn ENTER
.
Khi quá trình cài đặt kết thúc thành công, bạn sẽ thấy một thông báo tương tự như sau:
Các tệp chứng chỉ đã tạo sẽ có sẵn trong một thư mục con được đặt tên theo tên miền cơ sở của bạn trong /etc/letsencrypt/live thư mục.
Bây giờ các chứng chỉ của bạn đã được tải xuống, cài đặt và tải, 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ứ đang hoạt động.
Bước 3 – Kiểm tra trạng thái chứng chỉ của bạn
Tại thời điểm này, bạn có thể đảm bảo rằng Certbot đã tạo đúng chứng chỉ SSL của bạn bằng cách sử dụng Kiểm tra máy chủ SSL
Mở liên kết sau trong trình duyệt web ưa thích của bạn, thay thế zaraoder.xyz bằng tên miền cơ sở của bạn :
https://www.sslshopper.com/ssl-checker.html#hostname=zaraoder.xyz
Bạn sẽ đến một trang ngay lập tức bắt đầu kiểm tra kết nối SSL với máy chủ của bạn:
Hãy thử tải lại trang web của bạn bằng cách sử dụng https://và để ý chỉ báo bảo mật của trình duyệt. Bây giờ nó sẽ cho biết rằng trang web được bảo mật đúng cách, thường có biểu tượng ổ khóa màu xanh lá cây.
Khi chứng chỉ SSL của bạn đã được thiết lập và xác minh, bước tiếp theo là thiết lập tự động gia hạn cho chứng chỉ của bạn để giữ cho chứng chỉ của bạn hợp lệ.
Bước 4 – Thiết lập Tự động gia hạn
Chứng chỉ Let’s Encrypt có giá trị trong 90 ngày, nhưng bạn nên gia hạn chứng chỉ sau mỗi 60 ngày để hạn chế sai sót. Do đó, cách tốt nhất là tự động hóa quy trình này để kiểm tra và gia hạn chứng chỉ theo định kỳ.
Chúng tôi khuyên bạn 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 bắt đầu thu hồi chứng chỉ, sẽ không quá nửa ngày trước khi Certbot gia hạn chứng chỉ của bạn.
Chỉnh sửa crontab để 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 crontab cho người dùng root , hãy chạy :
sudo crontab -e
Trình soạn thảo văn bản của bạn sẽ mở mặc định crontab là tệp văn bản trống tại thời điểm này. Hướng dẫn này sẽ sử dụng trình soạn thảo văn bản vi.
Vào chế độ chèn bằng cách nhấn i và thêm vào dòng sau:
0 0,12 * * * python -c ‘import random; import time; time.sleep(random.random() * 3600)’ && certbot renew
Khi bạn hoàn tất, nhấn ESC rời chèn mode, sau đó :wq! và ENTERđể lưu và thoát khỏi các tập tin. Đ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 tất cả các công việc hàng giờ không xảy ra cùng một phút, gây ra sự tăng đột biến của máy chủ; python -c ‘import random; import time; time.sleep(random.random() * 3600)’sẽ chọn một phút ngẫu nhiên trong giờ cho các nhiệm vụ gia hạn của bạn.
Như vậy trong bài viết này Nhân Hòa đã hướng dẫn các bạn cách cài đặt SSL Let’s Encrypt lên website thông qua Certbot một cách nhanh chóng và đơn giản nhất. Hy vọng bài viết này sẽ giúp các bạn cài đặt thành công.
IV. Tổng kết
Như vậy trong bài viết này Nhân Hòa đã hướng dẫn các bạn cách cài đặt SSL Let’s Encrypt lên website thông qua Certbot một cách nhanh chóng và đơn giản nhất. Hy vọng bài viết này sẽ giúp các bạn cài đặt thành công.