Trong hướng dẫn này, mình sẽ hướng dẫn 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.
Bước 1: Cập nhật hệ điều hành
chạy lệnh sau để tiến hành cập nhật:
# 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. Bạn tham khảo bài viết tại đây để cài đặt LAMP cho server
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.html tệ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.com vớ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_ssl mô-đ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 ta 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 ta 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.com thư 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ỉ’.
Như vậy chúng ta đã cài đặt và định cấu hình thành công Let’s Encrypt với Apache trên VPS CentOS 7. Chúc bạn thành công