Panduan cara install wildcard SSL Let’s Encrypt. Maksud wildcard SSL adalah sertifikat SSL untuk domain dan semua subdomain. Notasi wildcard terdiri dari tanda bintang (asterisk) dan titik (period) sebelum nama domain, contoh: *.idnetter.com.
Keuntungannya install wildcard sertifikat SSL adalah kita tidak perlu mengulang menggenerate SSL untuk setiap subdomain, jadi cukup sekali saja maka semua subdomain mampu mempunyai sertifikat dan bisa diakses melalui protokol HTTPS maupun untuk koneksi FTP dan mail server.
Pada panduan kali ini saya pakai Linux CentOS, sedangkan opsi web servernya ada Apache dan Nginx, berikut langkah-langkahnya.
Install EPEL repository
yum install epel-release
Install yum utilities
yum install yum-utils
Install Certbot
Pilih salah satu sesuai web server yang Anda gunakan apakah Apache atau Nginx.
Ini untuk Apache
yum install python2-certbot-apache
Yang ini untuk Nginx
yum install python2-certbot-nginx
Membuat wildcard sertifikat SSL Let’s Encrypt
Selanjutnya membuat sertifikat SSL Let’s Encrypt dengan perintah berikut, dengan asumsi domain sudah terhubung ke server/VPS. (ganti nama domain idnetter.com dengan domain anda)
certbot certonly --manual -d *.idnetter.com -d idnetter.com --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
Ada permintaan untuk memasukkan alamat email
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): omar@idnetter.com
Selanjutnya konfirmasi untuk langganan berita dari EFF (Electronic Frontier Foundation). Saya jawab N
kemudian tekan Enter
(Y)es/(N)o: N
Membuat record TXT pada DNS
Please deploy a DNS TXT record under the name _acme-challenge.idnetter.com with the following value: gt0ESCp91jE-1igKpM0gYOoJ_FDT7wFnL0mAOV3ijn4 Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue
Tekan Enter
Kemudian disuruh membuat record TXT lagi, tapi valuenya beda
Please deploy a DNS TXT record under the name _acme-challenge.idnetter.com with the following value: 9A0nTz-tUTAmm3JIvw2MrHzRsSvPz5Q9fhY8nAO-rKw
Jadi ada 2 DNS TXT record untuk _acme-challenge.idnetter.com
Setelah yakin sudah deploy DNS dengan benar, baru tekan Enter
. Tanda kesuksesan membuat SSL informasinya seperti ini
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/idnetter.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/idnetter.com/privkey.pem
Konfigurasi SSL di Apache dan Nginx
Berikut ini contoh konfigurasi SSL di Apache dan Nginx, diadaptasikan ke web server yang Anda gunakan.
Contoh konfigurasi SSL di Apache
<VirtualHost *:443> ServerName idnetter.com ServerAlias www.idnetter.com ServerAdmin man@idnetter.com DocumentRoot /var/www/html <Directory /var/www/html> AllowOverride All SSLRequireSSL Options +Includes -Indexes +ExecCGI </Directory> SSLEngine on SSLVerifyClient none SSLCertificateFile /etc/letsencrypt/live/idnetter.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/idnetter.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/idnetter.com/fullchain.pem </VirtualHost>
Contoh konfigurasi SSL pada Nginx
server { listen 443 ssl http2; server_name idnetter.com www.idnetter.com; root /var/www/html; index index.php index.html index.htm; access_log /var/log/nginx/idnetter.com.log combined; error_log /var/log/nginx/idnetter.com.error.log error; ssl on; ssl_certificate /etc/letsencrypt/live/idnetter.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/idnetter.com/privkey.pem; .... .. dan seterusnya
Ini screenshotnya kalau berhasil