Let's Encrypt DomainFactory

Beberapa paket shared hosting dengan cPanel tidak menawarkan AutoSSL – atau hanya pada paket dengan harga lebih tinggi. Akibatnya, Anda tidak dapat menerbitkan sertifikat Let's Encrypt gratis melalui antarmuka cPanel, dan semua domain tetap menggunakan sertifikat yang ditandatangani sendiri . Browser menampilkan halaman tersebut sebagai "tidak aman". Solusinya: dapatkan sertifikat sendiri menggunakan acme.sh dan instal melalui UAPI cPanel. Sertifikat akan diperbarui secara otomatis, tanpa memerlukan AutoSSL.


HTTPS kini wajib: gembok hijau adalah standar, dan browser akan memberikan peringatan yang jelas untuk penggunaan selain itu. Oleh karena itu, akan semakin menjengkelkan jika paket hosting Anda sendiri tidak menawarkan cara mudah untuk mendapatkan sertifikat gratis. Namun, celah ini dapat ditutup secara elegan dan permanen dengan beberapa baris kode di shell – proses lengkapnya dijelaskan di bawah ini.

1. Masuk melalui SSH

ssh -p <port> <cpanel-user>@<host>

2. Instal acme.sh

curl https://get.acme.sh | sh -s email=du@example.com
source ~/.bashrc

3. Tetapkan Let's Encrypt sebagai CA (Certificate Authority)

acme.sh --set-default-ca --server letsencrypt

4. Menerbitkan sertifikat

acme.sh --issue -d example.com -d www.example.com -w ~/public_html

5. Instal ke cPanel

acme.sh --deploy -d example.com --deploy-hook cpanel_uapi

6. Periksa

uapi SSL installed_hosts
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
     | openssl x509 -noout -issuer -dates

Hook tersebut menulis sertifikat ke host virtual yang sesuai melalui UAPI. Pengaturan penyebaran disimpan – mulai sekarang, cron akan secara otomatis memperbarui dan menginstal semuanya sebelum kedaluwarsa. Penerbitnya harus "Let's Encrypt", dan tanggal kedaluwarsanya sekitar 90 hari ke depan.

Beberapa penyedia hosting menjalankan cPanel hook mereka sendiri. install_ssl dan menjawab dengan sesuatu seperti adminbin Cpanel/hooks2/...: exit 255. acme.sh masih melaporkan "berhasil diimplementasikan" – dan itu biasanya benar. Jika ragu, gunakan uapi SSL installed_hosts (Langkah 6) Verifikasi bahwa sertifikat Let's Encrypt telah benar-benar terpasang.

Untuk domain dengan umlaut, acme.sh menyimpan sertifikat secara internal dalam format Punycode (xn--…), sementara pencocok otomatis hook membandingkan bentuk Unicode. Hasil: "diterapkan ke 0 dari 0 situs" – tidak ada yang diinstal. Solusi: bekerja langsung dengan domain Punycode dan nonaktifkan pencocokan otomatis.:

# Punycode-Form der Domain vorher ermitteln (z. B. via idn-Tool oder Online-Konverter)
acme.sh --issue -d xn--<punycode> -d www.xn--<punycode> -w ~/public_html
export DEPLOY_CPANEL_AUTO_ENABLED='false'
acme.sh --deploy -d xn--<punycode> --deploy-hook cpanel_uapi

Dengan akses SSH, Anda tidak memerlukan AutoSSL: acme.sh menerbitkan sertifikat, yang cpanel_uapiOpsi -Hook akan menginstalnya, dan tugas cron yang disertakan akan memperbaruinya secara otomatis. Setelah diatur, layanan HTTPS gratis akan berjalan terus menerus dengan sendirinya. Mereka yang berinvestasi di awal akan menghemat waktu perpanjangan manual di masa mendatang – dan dapat memperluas solusi yang sama ke domain tambahan apa pun di akun yang sama dengan satu perintah.

Kembali