Install SSL dengan acme.sh

Acme.sh adalah klien protokol ACME yang sederhana, kuat, dan mudah digunakan. Acme.sh kompatibel dengan shell bash, dash, dan sh. Berfungsi untuk install atau menerbitkan, renew, dan revoke sertifikat SSL.

Install Acme.sh

Ada dua cara dalam installasinya

1. Install Online

curl https://get.acme.sh | sh -s email=[email protected]

2. Install dari Git

git clone https://github.com/acmesh-official/acme.sh.git
cd ./acme.sh
./acme.sh --install -m [email protected]

Issue SSL

Sebelum memulai pastikan Anda sudah melakukan instalasi webserver dan mempunyai domain aktif yang sudah disetting A record ke arah server host.

Single Domain

acme.sh --issue -d example.com -w /home/wwwroot/example.com

Domain + subdomain

acme.sh --issue -d example.com -d www.example.com -d cp.example.com \
-w /home/wwwroot/example.com

Single Domain dengan ECC/ECDSA

acme.sh --issue -d example.com -w /var/www/example.com --keylength ec-256
  1. ec-256 (prime256v1, “ECDSA P-256”, which is the default key type)
  2. ec-384 (secp384r1, “ECDSA P-384”)
  3. ec-521 (secp521r1, “ECDSA P-521”, which is not supported by Let’s Encrypt yet.)
  4. 2048 (RSA2048)
  5. 3072 (RSA3072)
  6. 4096 (RSA4096)

Automatic DNS integration

Jika Anda menggunakan Cloudflare sebagai nameserver domain. Maka acme.sh dapat menggunakan API untuk menambahkan record TXT DNS secara otomatis. Namun apabila Anda menggunakan provider DNS yang tidak menyediakan API maka dapat Anda setting record TXT DNS secara manual

Single domain + CloudFlare DNS

export CF_Token=sdfsdfsdfljlbjkljlkjsdfoiwje
acme.sh --issue -d example.com --dns dns_cf

Wildcard Domain + Cloudflare DNS

export CF_Token=sdfsdfsdfljlbjkljlkjsdfoiwje
acme.sh --issue -d example.com -d '*.example.com' --dns dns_cf

Single domain + Manual TXT

acme.sh --issue --dns -d example.com -d www.example.com

Output:

Add the following txt record:
Domain:_acme-challenge.example.com
Txt value:9ihDbjYfTExAYeDs4DBUeuTo18KBzwvTEjUnSwd32-c

Add the following txt record:
Domain:_acme-challenge.www.example.com
Txt value:9ihDbjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Please add those txt records to the domains. Waiting for the dns to take effect.

Renew SSL

Anda tidak perlu khawatir apabila Sertifikat SSL expired karena acme.sh akan menambah cron pada saat pertama kali Issue SSL.

Namun Anda dapat melakukan renew secara manual dengan cara berikut

acme.sh --renew -d example.com --force

ECC Cert

acme.sh --renew -d example.com --force --ecc

Upgrade acme.sh

acme.sh --upgrade

Enable auto upgrade acme.sh

acme.sh --upgrade --auto-upgrade