Hướng dẫn cài đặt SSL miễn phí bằng acme.sh cho Apache & Nginx
Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng acme.sh để cài đặt SSL miễn phí từ Let's Encrypt hoặc ZeroSSL cho Apache và Nginx. Việc sử dụng chứng chỉ SSL giúp bảo mật website, tăng uy tín và hỗ trợ SEO tốt hơn.
1. Cài đặt acme.sh
Trước tiên, chúng ta cần cài đặt acme.sh. Chạy lệnh sau:
curl https://get.acme.sh | sh
Sau đó tải lại cấu hình:
source ~/.bashrc
2. Cấp chứng chỉ SSL
Ví dụ cấp chứng chỉ cho domain example.com bằng phương thức DNS của Cloudflare:
export CF_Key="API_KEY_CLOUDFLARE"
export CF_Email="EMAIL_CLOUDFLARE"
~/.acme.sh/acme.sh --issue --dns dns_cf -d example.com -d www.example.com
3. Cài đặt chứng chỉ SSL cho Apache
Sau khi cấp chứng chỉ thành công, cài đặt vào thư mục Apache:
~/.acme.sh/acme.sh --install-cert -d example.com \
--key-file /etc/ssl/private/example.com.key \
--fullchain-file /etc/ssl/certs/example.com.crt \
--reloadcmd "systemctl restart apache2"
4. Cấu hình VirtualHost cho Apache
Mở file cấu hình của Apache, thêm đoạn sau:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.com.crt
SSLCertificateKeyFile /etc/ssl/private/example.com.key
</VirtualHost>
Khởi động lại Apache:
systemctl restart apache2
5. Cài đặt chứng chỉ SSL cho Nginx
Cài đặt chứng chỉ vào Nginx bằng lệnh sau:
~/.acme.sh/acme.sh --install-cert -d example.com \
--key-file /etc/nginx/ssl/example.com.key \
--fullchain-file /etc/nginx/ssl/example.com.crt \
--reloadcmd "systemctl restart nginx"
6. Cấu hình VirtualHost cho Nginx
Mở file cấu hình của Nginx, thêm đoạn sau:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
root /var/www/example.com;
index index.html index.htm;
}
}
Khởi động lại Nginx:
systemctl restart nginx
7. Tự động gia hạn chứng chỉ
Acme.sh sẽ tự động gia hạn chứng chỉ, nhưng để chắc chắn, bạn có thể thiết lập cronjob:
~/.acme.sh/acme.sh --upgrade --auto-upgrade
Bạn có thể kiểm tra lại danh sách cronjob bằng lệnh:
crontab -l
Kết luận
Vậy là bạn đã hoàn tất việc cài đặt SSL miễn phí bằng acme.sh cho cả Apache và Nginx. Việc này không chỉ giúp website của bạn an toàn hơn mà còn hỗ trợ SEO tốt hơn. Nếu có bất kỳ thắc mắc nào, hãy để lại bình luận nhé!
0 Nhận xét