bg-tutorials

Cara Memasang Sertifikat SSL ACME di Plesk

Jika Anda mengelola situs web pada Plesk, tidak ada alasan untuk menangani sertifikat secara manual lagi. Dengan pengaturan yang tepat, Anda bisa mengotomatiskan penerbitan, pembaruan, dan pemasangan sertifikat SSL menggunakan protokol ACME dengan Pengikatan Akun Eksternal (External Account Binding/EAB).

Plesk ACME SSL

Panduan ini menunjukkan kepada Anda cara memasang Sertifikat SSL ACME di Plesk (berbasis Linux) menggunakan ACME.sh, sebuah klien ACME ringan yang bekerja dengan lancar dengan Plesk.

Jika Anda menggunakan hosting bersama, Anda mungkin tidak dapat menggunakan metode ini. Sebagian besar lingkungan bersama tidak mengizinkan akses root atau skrip kustom. Panduan ini berlaku untuk VPS dan peladen khusus tempat Anda mengontrol tumpukan hosting.


Sebelum Anda Mulai

Pastikan Anda sudah menyiapkan hal-hal berikut ini sebelum melanjutkan ke langkah berikutnya:

  • Server atau VPS dengan Plesk Obsidian
  • Akses SSH ke server. Baik root atau pengguna dengan hak istimewa sudo
  • Domain langsung yang mengarah ke server melalui catatan A atau AAAA
  • Port 80 terbuka dan dapat diakses publik (diperlukan untuk validasi HTTP-01)
  • Kredensial EAB Anda dari penyedia SSL (EAB KID dan EAB HMAC Key)

Titik akhir ACME untuk digunakan:

  • Sectigo: https://acme.sectigo.com/v2/DV
  • DigiCert: https://acme.digicert.com/v2/acme

Langkah 1: Periksa Root Dokumen Situs Web Anda di Plesk

Anda akan membutuhkan jalur ke folder root situs Anda sehingga ACME.sh dapat menempatkan berkas validasi dengan benar.

  1. Masuk ke Plesk
  2. Buka Situs Web & Domain > yourdomain.com > Pengaturan Hosting
  3. Salin nilai root Dokumen. Ini terlihat seperti: /var/www/vhosts/yourdomain.com/httpdocs
  4. Simpan jalur ini, Anda akan menggunakannya di langkah-langkah selanjutnya.

Langkah 2: Aktifkan Akses SSH (Jika Diperlukan)

Jika paket hosting Anda tidak mengaktifkan SSH:

  1. Buka Situs Web & Domain > yourdomain.com > Akses Web Hosting
  2. Di bawah Akses ke server melalui SSH, pilih /bin/bash atau /usr/bin/bash
  3. Menyimpan pengaturan

Jika Anda menggunakan host terkelola/berbagi, hubungi bagian dukungan untuk meminta akses SSH.


Langkah 3: Sambungkan ke Server Anda melalui SSH

Dari terminal lokal Anda, sambungkan ke server:

ssh [email protected]

Atau, jika menggunakan pengguna non-root:

ssh [email protected]

Langkah 4: Instal ACME.sh

Jalankan penginstal resmi:

curl https://get.acme.sh | sh
source ~/.bashrc

Kemudian periksa versinya untuk mengonfirmasi bahwa versi tersebut telah diinstal:

acme.sh --version

Jika gagal, pastikan curl dan git telah terinstal. Anda dapat menjalankan ulang penginstalan dengan --force jika diperlukan.


Langkah 5: Daftarkan Akun Anda dengan EAB

Pendaftaran ACME adalah pengaturan satu kali yang menautkan server Anda ke otoritas sertifikat, sehingga permintaan sertifikat di masa mendatang dapat divalidasi dan diproses secara otomatis.

Perintah ini mendaftarkan akun ACME Anda ke penyedia SSL(Sectigo atau DigiCert) menggunakan kredensial EAB Anda yang unik.

acme.sh --register-account \
  --server https://acme.sectigo.com/v2/DV \
  --eab-kid YOUR_EAB_KID \
  --eab-hmac-key YOUR_EAB_HMAC_KEY \
  --accountemail [email protected]

Berikut ini adalah arti dari setiap bagian:

  • acme.sh --register-account – Memulai pendaftaran akun ACME
  • --server – URL ACME penyedia Anda (Sectigo atau DigiCert)
  • --eab-kid – ID Kunci EAB Anda dari penyedia layanan
  • --eab-hmac-key – Kunci rahasia EAB HMAC Anda (string panjang)
  • --accountemail – Email kontak Anda untuk akun ACME

Perintah ini harus disesuaikan dengan detail EAB dan alamat email Anda yang sebenarnya. Jangan menyalinnya apa adanya.

Jika Anda meninggalkan placeholder seperti YOUR_EAB_KID, perintah akan gagal dengan kesalahan autentikasi.

Setelah berhasil berjalan, server Anda sekarang berwenang untuk meminta sertifikat SSL dari penyedia tersebut; tidak perlu mendaftar lagi di masa mendatang kecuali jika Anda mengganti penyedia atau kredensial.


Langkah 6: Mempersiapkan Validasi HTTP

Buat direktori tantangan ACME:

mkdir -p /var/www/vhosts/yourdomain.com/httpdocs/.well-known/acme-challenge

Kemudian ujilah apakah ini berhasil:

echo "ok" > /var/www/vhosts/yourdomain.com/httpdocs/.well-known/acme-challenge/testfile
curl -I http://yourdomain.com/.well-known/acme-challenge/testfile

Anda harus melihat HTTP/1.1 200 OK. Jika tidak, periksa aturan firewall, akses port 80, atau jalur root dokumen.


Langkah 7: Lewati HTTPS Paksa untuk Jalur ACME

Jika situs Anda mengalihkan semua lalu lintas ke HTTPS, itu akan merusak validasi HTTP-01 kecuali Anda mengizinkan folder tantangan untuk melewatinya.

Jika Anda Menggunakan Apache (Default pada Plesk Linux)

Edit file .htaccess Anda di root dokumen dan tambahkan ini ke bagian atas:

RewriteEngine On
RewriteRule ^.well-known/acme-challenge/ - [L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Jika Anda Menggunakan Nginx (atau Nginx adalah Fronting Apache)

Apache .htaccess tidak akan membantu di sini karena Nginx menangani pengalihan terlebih dahulu. Sebagai gantinya, Anda perlu menambahkan arahan Nginx khusus di Plesk:

  1. Buka Situs Web & Domain > yourdomain.com > Pengaturan Apache & Nginx
  2. Temukan bidang berlabel arahan Nginx tambahan
  3. Rekatkan ini:
location ^~ /.well-known/acme-challenge/ {
root /var/www/vhosts/yourdomain.com/httpdocs;
allow all;
try_files $uri =404;
}

Ini memberi tahu Nginx untuk melayani jalur tantangan secara langsung, tanpa pengalihan HTTPS atau proksi ke Apache. Simpan dan terapkan perubahan.


Langkah 8: Menerbitkan Sertifikat

Sekarang Anda dapat meminta sertifikat. Berikut ini contoh dengan Sectigo dan dua variasi domain:

acme.sh --issue \
  -d yourdomain.com \
  -d www.yourdomain.com \
  -w /var/www/vhosts/yourdomain.com/httpdocs \
  --server https://acme.sectigo.com/v2/DV

Anda dapat menyertakan bendera -d sebanyak yang diperlukan. Setelah sertifikat diterbitkan, ACME.sh menyimpan semuanya ke folder ini: /root/.acme.sh/yourdomain.com/

Dua file yang Anda perlukan untuk Plesk adalah:

  • yourdomain.com.key: ini adalah kunci pribadi Anda
  • fullchain.cer: ini adalah file sertifikat Anda, dan ini termasuk rantai penuh (rantai cert + CA Anda)

Ini adalah berkas-berkas yang akan Anda unggah atau gunakan dalam CLI untuk menginstal sertifikat ke Plesk.


Langkah 9: Impor Sertifikat ke Plesk melalui UI

  1. Buka Situs Web & Domain > yourdomain.com > Sertifikat SSL/TLS
  2. Klik Tambahkan Sertifikat SSL/TLS
  3. Unggah sertifikat (pilih fullchain.cer) dan kunci privat (pilih yourdomain.com.key). Klik Simpan
  4. Kembali ke Pengaturan Hosting dan pilih sertifikat ini di bawah bagian dukungan SSL/TLS
  5. Klik OK atau Terapkan

Domain Anda sekarang menggunakan sertifikat SSL ACME pihak ketiga.


Langkah 10: Impor Otomatis melalui Plesk CLI (Opsional, Ideal untuk Cron)

Untuk mengotomatiskan aplikasi sertifikat dalam perpanjangan di masa mendatang, gunakan CLI:

plesk bin certificate -c "acme-yourdomain" \
  -domain yourdomain.com \
  -cert-file /root/.acme.sh/yourdomain.com/fullchain.cer \
  -key-file  /root/.acme.sh/yourdomain.com/yourdomain.com.key

plesk bin domain -u yourdomain.com -ssl true -certificate-name "acme-yourdomain"
plesk bin httpdmng --reconfigure-domain yourdomain.com

Jika perintah plesk tidak dikenali, cobalah jalur lengkapnya: /usr/sbin/plesk bin …


Langkah 11: Mengotomatiskan Pembaruan dengan Skrip Deploy

ACME.sh secara otomatis memperbarui sertifikat ~30 hari sebelum kedaluwarsa. Tetapi kami akan menyambungkan sebuah pengait pasca-pembaruan untuk menerapkannya ke Plesk secara otomatis.

1. Membuat skrip penerapan

nano /usr/local/bin/plesk-acme-deploy.sh

Rekatkan yang berikut ini:

#!/usr/bin/env bash
set -euo pipefail

DOMAIN="yourdomain.com"
CERT_DIR="/root/.acme.sh/${DOMAIN}"
CERT_NAME="acme-${DOMAIN}"

CERT_FILE="${CERT_DIR}/fullchain.cer"
KEY_FILE="${CERT_DIR}/${DOMAIN}.key"

/usr/sbin/plesk bin certificate -c "${CERT_NAME}" \
  -domain "${DOMAIN}" \
  -cert-file "${CERT_FILE}" \
  -key-file  "${KEY_FILE}"

/usr/sbin/plesk bin domain -u "${DOMAIN}" -ssl true -certificate-name "${CERT_NAME}"
/usr/sbin/plesk bin httpdmng --reconfigure-domain "${DOMAIN}"

echo "Plesk deploy complete for ${DOMAIN}"

2. Menyimpan dan membuatnya dapat dieksekusi

chmod +x /usr/local/bin/plesk-acme-deploy.sh

3. Tautkan ke ACME.sh

acme.sh --install-cert -d yourdomain.com \
  --key-file       ~/.acme.sh/yourdomain.com/yourdomain.com.key \
  --fullchain-file ~/.acme.sh/yourdomain.com/fullchain.cer \
  --reloadcmd "/usr/local/bin/plesk-acme-deploy.sh"

Mulai sekarang, setiap pembaruan akan berlaku dengan sendirinya di Plesk.


Langkah 12: Menguji Semuanya

Kunjungi situs Anda di https://yourdomain.com. Sertifikat tersebut harus masih berlaku dan menunjukkan CA Anda.

Untuk menguji pembaruan dan menerapkan secara manual:

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

Kemudian buntuti batang kayu tersebut:

tail -n 60 ~/.acme.sh/acme.sh.log

Anda akan melihat pembaruan yang berhasil dan “Plesk deploy complete” di bagian akhir.


Masalah Umum & Pemecahan Masalah

Bahkan dengan pengaturan yang tepat, segala sesuatunya tidak selalu berjalan lancar pada percobaan pertama, terutama dengan validasi domain, pengalihan, atau jalur file. Di bawah ini adalah masalah paling umum yang mungkin Anda temui saat menerbitkan atau memperbarui sertifikat, dan cara memperbaikinya dengan cepat.

Validasi HTTP gagal (404, waktu habis, atau testfile tidak ditemukan)

Ini berarti file tantangan ACME tidak dilayani dengan benar.

  • Periksa kembali root dokumen di Plesk > Pengaturan Hosting.
  • Pastikan port 80 terbuka dan tidak diblokir oleh firewall, panel hosting, atau penyedia awan Anda.
  • Jika Anda memiliki pengalihan ke HTTPS, pastikan /.well-known/acme-challenge/ dikecualikan seperti yang ditunjukkan sebelumnya.

“Tidak sah” atau “respons tidak valid” selama penerbitan

Server ACME tidak dapat memverifikasi tantangan Anda, kemungkinan disebabkan oleh salah satu hal berikut:

  • Catatan DNS domain Anda belum diperbarui (catatan A atau AAAA hilang atau masih menyebar).
  • File tes tidak dapat dijangkau, dihapus terlalu dini, atau diblokir oleh suatu aturan.
  • Anda menggunakan CDN atau WAF (seperti Cloudflare) yang mencegat lalu lintas HTTP. Menghentikan sementara proksi atau memasukkan jalur ACME ke dalam daftar putih.

Tidak ada yang terjadi setelah pembaruan

Sertifikat diperbarui, tetapi tidak diterapkan di Plesk.

Pastikan jalur skrip penyebaran Anda sudah benar di –reloadcmd.

Periksa apakah skrip dapat dieksekusi dengan menjalankannya:

chmod +x /usr/local/bin/plesk-acme-deploy.sh

Lihatlah ke dalam log ACME dengan:

tail -n 60 ~/.acme.sh/acme.sh.log

Kesalahan akan muncul di sana.

Impor CLI Plesk gagal

Skrip penyebaran Anda mungkin berjalan, tetapi sertifikat tidak berlaku.

  • Jika perintah plesk tidak ditemukan, coba gunakan jalur lengkapnya: /usr/sbin/plesk
  • Periksa kembali apakah file.key dan .cer benar-benar ada dan memiliki nama yang benar.
  • Untuk memaksa konfigurasi ulang secara manual, jalankan:
plesk bin httpdmng --reconfigure-domain yourdomain.com

Final Wrods

Anda sekarang memiliki pengaturan SSL yang bersih dan sepenuhnya otomatis yang berjalan pada server Plesk Anda. Mulai saat ini, sertifikat Anda akan diperbarui secara otomatis di latar belakang, dan skrip akan segera memperbarui Plesk setiap kali Anda menerbitkan sertifikat baru. Anda telah mengambil kendali penuh atas siklus hidup sertifikat Anda dan membuat hidup Anda jauh lebih mudah.

Hemat 10% untuk Sertifikat SSL saat memesan hari ini!

Penerbitan cepat, enkripsi kuat, kepercayaan peramban 99,99%, dukungan khusus, dan jaminan uang kembali 25 hari. Kode kupon: SAVE10

Ditulis oleh

Penulis konten berpengalaman yang berspesialisasi dalam Sertifikat SSL. Mengubah topik keamanan siber yang rumit menjadi konten yang jelas dan menarik. Berkontribusi untuk meningkatkan keamanan digital melalui narasi yang berdampak.