Hướng dẫn cài đặt SSL cho Apache trên VPS Centos

Article ID: 435
Cập nhật gần nhất: 28 Th03, 2020

Sau khi đăng ký và kích hoạt các chứng chỉ SSL, quý khách sẽ nhận được các file xác thực từ phía nhà cung cấp dịch vụ. Ở đây, các bạn chú ý các file CRT CA, Private Key khi cài đặt.

Quý khách có thể tham khảo các gói dịch vụ SSL của HOSTVN tại đây: https://hostvn.net/dich-vu/chung-thuc-so-ssl/

Đối với dịch vụ SSL của HOSTVN quý khách có thể tham khảo một trong các bài viết sau để lấy CRT và CA, Private Key:

Phần 1: Cài đặt mod_ssl

Để có thể chạy được SSL trên VPS Centos với webserver Apache, trước tiên quý khách cần cài đặt mod_ssl cho VPS bằng cách login vào VPS thông qua SSH và chạy lệnh dưới đây:

yum install mod_ssl

Để truy cập VPS thông quy SSH quý khách có thể tham khảo hướng dẫn sau: https://kb.hostvn.net/huong-dan-su-dung-putty-de-ssh-vao-vps_42.html

Phần 2: Tạo file chứng chỉ và cấu hình Vhost

Sau khi đã có CRT CA, Private Key quý khách đăng nhập vào VPS qua SFTP bằng Winscp với tài khoản root và di chuyển tới thư mục chưa các file cấu hình của Apache (Thường là: /etc/httpd/conf.d)

1. Tạo thư mục chưa các file chứng chỉ SSL

Tại đây quý khách tạo một thư mục mới và đặt tên là ssl Click chuột phải -> New -> Directory để tạo thư mục mới chứa các file chứng chỉ SSL, đặt tên thư mục này là ssl

2. Tạo file private key

Bên trong thư mục ssl quý khách tạo tiếp file chưa nội dung Private key. Trong hướng dẫn này ví dụ sẽ tạo file hostvn-prikey.key

Dán nội dung Private key vào file và lưu lại

2. Tạo file chưa CRT và CA

Tiếp tục tạo file thứ 2 chứa nội dung CRT và CA. Trong ví dụ này sẽ tạo file có tên hostvn-cert.crt

3. Cấu hình file vhost

Sau khi đã tạo các file chứng chỉ SSL thành công, quý khách cần cấu hình lại file vhost của website. File này thường nằm trong thư mục /etc/httpd/conf.d và có tên dạng domain.com.conf (Có thể là tên khác do quý khách đặt lúc cấu hình webserver)

Quý khách có thể tham khảo cấu hình dưới đây và sửa lại nội dung của file Vhost cho phù hợp để có thể nhận chứng chỉ SSL và tự động redirect website sang dạng https

<VirtualHost *:80>
<IfModule mod_rewrite.c> 
      RewriteEngine on 
      RewriteCond %{HTTPS} !=on 
      RewriteRule ^/(.*) https://kb.hostvn.net/$1 [R] 
</IfModule> 
ServerName kb.hostvn.net
ServerAlias www.kb.hostvn.net
</VirtualHost>

<VirtualHost *:443>
ServerAdmin admin@kb.hostvn.net
ServerName kb.hostvn.net
ServerAlias www.kb.hostvn.net

SSLEngine On
SSLCertificateFile "/etc/httpd/conf.d/ssl/hostvn-cert.crt"
SSLCertificateKeyFile "/etc/httpd/conf.d/ssl/hostvn-prikey.key"

DocumentRoot /home/kb.hostvn.net/public_html
ErrorLog /home/kb.hostvn.net/logs/error-hostvn.log
CustomLog /home/kb.hostvn.net/logs/access-hostvn.log combined
	<Directory /home/kb.hostvn.net/public_html>
		SetOutputFilter DEFLATE
		Options FollowSymLinks
		AllowOverride All
		Order Deny,Allow
		Require all granted
		DirectoryIndex index.php index.html index.htm
	</Directory>
</VirtualHost>

Quý khách lưu ý cần sửa lại tên miền,  đường dẫn và tên các file chứng chỉ đúng với đường dẫn và tên file quý khách đã tạo ở bước trước.

Sau khi sửa và lưu file Vhost quý khách khởi động lại Apache để thay đổi có hiệu lực:

service httpd restart

Chúc quý khách thành công. Nếu gặp khó khăn quý khách có thể liên hệ trực tiếp với bộ phận Kỹ thuật của HOSTVN để được hỗ trợ một cách tốt nhất.

Article ID: 435
Cập nhật gần nhất: 28 Th03, 2020
Lần sửa đổi: 2
Lượt xem: 0
Tags