Nếu bạn sử dụng host có cpanel thì rất đơn giản chỉ cần mở cpanel copy mã key ssl vào là chạy. Đối với các dự án web cần build server hoặc sử dụng các dịch vụ như Amazon cloud, google cloud. Yêu cầu bạn phải hiểu biết về cài đặt và cấu hình SSL cho hệ thống.
Bài viết hướng dẫn bạn làm thế nào để cài đặt chứng chỉ máy chủ SSL trên Appache 2.4.8
Chú ý:
- Với mỗi phiên bản appache đều có cách cài đặt khác nhau bạn kiểm tra phiên bản appache trước khi thực hiện tiếp bài hướng dẫn này nhé.
- Sau khi cài đặt xong, bắt buộc phải restart lại Appache dẫn tới web sẽ bị tạm dừng, bạn nên backup file, copy lượt lượt các lệnh trước khi thực hiện cấu hình để giảm bớt thời gian viết lệnh. Trường hợp appache start thất bại bạn có thể nhanh chóng backup lại.
Bài toán đặt ra: bạn đã triển khai cho khách hàng website trên EC2 của amazon với appache server trên centos 7 hoặc ubuntu…, một thời gian sau khách hàng muốn khi truy cập vào web phải bắt đầu bằng https thay vì http được bảo mật bởi SSL. Khách cung cấp cho bạn một loạt file chứng chỉ ssl.
Cách thực hiện:
Bước 1, Cài đặt thêm mod_ssl
yum -y install httpd mod_ssl
sudo systemctl enable httpd.service
systemctl start httpd.service
Bước 2, Cấu hình máy chủ ssl để hiển thị chứng chỉ.
sudo vi /etc/httpd/conf.d/ssl.conf
<VirtualHost *:443>
DocumentRoot /var/www/html
ServerName www.example.com
SSLEngine on
SSLCertificateFile /etc/ssl/private/ictsharing.com.crt
SSLCertificateKeyFile /etc/ssl/private/ictsharing.com.key
SSLCertificateChainFile /etc/ssl/private/ictsharing.com.cer
</VirtualHost>
Bước 3, Kiểm tra chứng chỉ khách hàng cung cấp
Tất cả các file khách hàng cung cấp đảm bảo có 3 file chính sau:
- Private key
(The file is displayed on the browser on the final screen of the application information input from the service manager and saved by the customer) - Intermediate Certificate Authority Certificate (Intermediate Certificate)
- Server certificate
Bước 4, kết hợp các chứng chỉ ssl
Kết hợp chứng chỉ server certificate, intermediate CA certificate, và cross-root certificate vào một file.
Lưu vào thư mục được chỉ định ở trên.
Ví dụ:
----- BEGIN CERTIFICATE -----
<Server Certificate>
----- END CERTIFICATE -----
----- BEGIN CERTIFICATE -----
<Intermediate Certificate>
---- -END CERTIFICATE -----
----- BEGIN CERTIFICATE -----
<Cross-root certificate>
----- END CERTIFICATE -----
Bước 5, Lưu các chứng chỉ tới appche server
Lưu các chứng chỉ vào thư mục appache server.
Private key: /etc/httpd/conf/ssl.key/
Server certificate: /etc/httpd/conf/ssl.crt/
Bạn nên lưu tên chứng chỉ đó để dễ phân biệt, gợi ý bạn nên đặt tên là các domain
ví dụ:
Private key domain_name.key => ictsharing.com.key
Server certificate domain_name.crt => ictsharing.com.crt
Chú ý:
Trường hợp khác path dirctory conf của của Apache thì thay lại path khác: ví dụ: trường hợp này /usr/local/apache/ thì sẽ thay /etc/httpd/conf/ bằng /usr/local/apache/
Bước 6, Cấu hình file ssl.conf
Để chứng chỉ máy chủ hợp lệ, bạn cần cấu hình ssl vào file:
/etc/httpd/conf.d/ssl.conf
Trường hợp trong thư mục conf.d chưa tồn tại file ssl.conf bạn có thể tạo mới file này như nội dung sau:
<VirtualHost 192.168.xxx.xxx:443> ※1 ※2
DocumentRoot "/usr/local/apache/htdocs"
ServerName www.ictsharing.com ※3
SSLEngine on
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/ictsharing.com.key ※4
SSLCertificateFile /etc/httpd/conf/ssl.crt/ictsharing.com.crt ※4
</VirtualHost>
Trong đó:
※1 <VirtualHost 192.168.xxx.xxx:443>là địa chỉ IP tĩnh của máy chủ.
※2 <VirtualHost *:443> công 443 là mặc định cổng của ssl
※3 ServerName www.ictsharing.com、tên server hoặc đặt là domain
※4 Trường hợp khác path dirctory conf của của Apache thì thay lại path khác: ví dụ: trường hợp này /usr/local/apache/ thì sẽ thay /etc/httpd/conf/ bằng /usr/local/apache/
Bước 7, Khởi động lại Apache
/etc/httpd/conf/apachectl stop
/usr/local/apache/bin/apachectl startssl
hoặc
/etc/rc.d/init.d/httpd stop
/etc/rc.d/init.d/httpd start
tuy theo phiên bản để khởi động lại server apache.