Cài đặt SSL Let’s Encrypt trên Sentora

Cấu hình thực hiện: Sentora 1.03 được cài đặt trên nền Centos 7 x64, đã nâng cấp php lên 5.6 và mariadb lên 10.1
Let’s Encrypt là một nhà cung cấp chứng chỉ số SSL (Certificate Authority) hoàn toàn miễn phí, được nhiều cá nhân và tổ chức tin dùng và đặc biệt không giới hạn.
1. Cài đặt Open SSL cho centos 7:
Các bạn chạy lệnh sau (nếu đã có rồi thì có thể bỏ qua):

1
yum install -y openssl

2. Cài đặt SSL Let’s Encrypt
Chúng ta lần lượt chạy các lệnh bên dưới

yum install –y git
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Trong quá trình thực hiện sẽ yêu cầu các bạn nhập một số thông tin, các bạn chỉ cần điền đầy đủ là OK

3. Cài đặt SSL Let’s Encrypt cho domain
Để cài được SSL chúng ta hãy tắt httpd đi và tiến hành cài, quá trình cài diễn ra rất nhanh

service httpd stop
cd /opt/letsencrypt
./letsencrypt-auto certonly --standalone -d domain.com
service httpd start

Note: Đừng quên đổi domain.com thành tên miền của bạn nhé

4. Cấu hình SSL Let’s Encrypt
Sau khi cài đặt xong chúng ta sẽ tiến hành cấu hình nhé.

Các bạn tạo 1 file có tên là domain.com-vhost.conf với nội dung như sau

# DOMAIN: yourdomain.com
<virtualhost *:80>
   ServerName yourdomain.com
   ServerAlias www.yourdomain.com
   ServerAdmin admin@yourdomain.com
   RewriteEngine on
   ReWriteCond %{SERVER_PORT} !^443$
   RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] 
</virtualhost>
 
<virtualhost *:443>
	ServerName yourdomain.com
	ServerAlias  www.yourdomain.com
	ServerAdmin bocapden2016@gmail.com
	DocumentRoot "/var/sentora/hostdata/bocapden/public_html/legiang_vip"
	php_admin_value open_basedir "/var/sentora/hostdata/bocapden/public_html/legiang_vip:/var/sentora/temp/"
	php_admin_value suhosin.executor.func.blacklist "passthru, show_source, shell_exec, system, pcntl_exec, popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, leak, apache_child_terminate, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, escapeshellcmd, escapeshellarg, exec"
	ErrorLog "/var/sentora/logs/domains/bocapden/yourdomain.com-error.log" 
	CustomLog "/var/sentora/logs/domains/bocapden/yourdomain.com-access.log" combined
	CustomLog "/var/sentora/logs/domains/bocapden/yourdomain.com-bandwidth.log" common
	<Directory "/var/sentora/hostdata/bocapden/public_html/yourdomain_com">
	  Options +FollowSymLinks -Indexes
	  AllowOverride All
	  Require all granted
	</Directory>
	AddType application/x-httpd-php .php3 .php
	DirectoryIndex index.html index.htm index.php index.asp index.aspx index.jsp index.jspa index.shtml index.shtm
 
	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/yourdomain.com/cert.pem
	SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
	SSLCertificateChainFile /etc/letsencrypt/live/yourdomain.com/chain.pem
	Header always set Strict-Transport-Security "max-age=63072000;"
        SSLCompression off
</virtualhost>
# END DOMAIN: yourdomain.com

Các bạn thay các thông số sau:

yourdomain.com
Email bocapden2016@gmail --> Email lúc đầu các bạn nhập
/var/sentora/hostdata/bocapden/public_html/yourdomain_com
/var/sentora/logs/domains/bocapden/yourdomain.com

-> Link đúng vào thư mục chứa log của các bạn

Các bạn upload file này vào thư mục có địa chỉ sau: /etc/httpd/conf.d

Cuối cùng là chạy lệnh service httpd restart

5. Cài đặt tự động gia hạn SSL Let’s Encrypt:

Do SSL Let’s Encrypt có thời hạn là 90 ngày, sau đó bạn phải chạy gia hạn lại. Nên hôm nay mình xin hướng dẫn tạo cronjob để tự động gia hạn SSL này.

Bạn gõ lệnh

EDITOR=nano crontab -e

để mở mới cronjob, rồi thêm 2 lệnh này vào

30 2 * * * /opt/letsencrypt/letsencrypt-auto renew --pre-hook "service httpd stop" --post-hook
service httpd start

Sau đó bấm phím: ESC rồi gõ wq! –>Enter

Chạy tiếp lệnh sao để thực thi cronjob:

service crond restart

6. Khắc phục lỗi chữ https màu vàng

Do các thành phần trong web bạn chưa được chuyển hết về https (chưa mã hóa hết), nên nó sinh ra lỗi này. Để khắc phục nó, chúng ta chỉ cần cài và kích hoạt plugin SSL Insecure Content Fixer là xong nhé

7. Kiểm tra thành quả Cài đặt SSL Let’s Encrypt trên Sentora

Để kiểm tra kết quả, các bạn vào link https://www.ssllabs.com/ssltest/ nhập địa chỉ trang web mình vào và bấm submit nhé.

 

Note: Để Cài đặt SSL Let’s Encrypt cho Sentora trên ubuntu
Các bạn thay thế các thành phần sau và thực hiện đúng các bước như trên

yum –> apt-get
httpd –> apache2
/etc/httpd/conf.d –> /etc/apache2/sites-available
Chúc các bạn cài đặt SSL Let’s Encrypt trên vps của mình thành công nhé!

Leave a comment

Your email address will not be published. Required fields are marked *