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
- ec-256 (prime256v1, “ECDSA P-256”, which is the default key type)
- ec-384 (secp384r1, “ECDSA P-384”)
- ec-521 (secp521r1, “ECDSA P-521”, which is not supported by Let’s Encrypt yet.)
- 2048 (RSA2048)
- 3072 (RSA3072)
- 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