Cara Instal Sertifikat SSL Let's Encrypt di Akun Hosting

Let's Encrypt adalah sebuah penerbit sertifikat (CA) yang memungkinkan pemilik situs web menyediakan koneksi HTTPS terenkripsi secara cuma-cuma. Pada artikel ini, layanan hosting Hostinger akan digunakan sebagai contoh. Layanan hosting tersebut mendukung pemasangan SSL dari Let's Encrypt pada akun shared hosting.

Beberapa syarat yang dibutuhkan:

  1. Akun premium atau bisnis Hostinger,
  2. Klien SSH (pada Linux menggunakan ssh, sementara Windows menggunakan Putty).

Pada artikel ini, sertifikat SSL akan diterbitkan untuk situs fiktif situsku.dev dan www.situsku.dev.

Catatan: cara yang dijelaskan pada artikel ini bisa diterapkan di penyedia hosting apapun, asalkan ada akses ssh. kelunik/acme-client yang digunakan di sini dibuat dalam bahasa scripting PHP dan sudah mendukung PHP 7. Apabila menggunakan layanan virtual host, lihat artikel ini untuk memasang sertifikat menggunakan certbot. Penulis artikel tidak ada kaitannya dengan perusahaan Hostinger.

 

Langkah 1 - Mengaktifkan SSH

Pastikan fitur Akses SSH sudah dalam kondisi enabled.

Catat IP, port, dan username pada 'Informasi Akses SSH'.

 

Langkah 2 - Memasang klien ACME dan Composer

Lakukan koneksi ke direktori hosting Hostinger via SSH melalui terminal/Putty, berdasarkan informasi akun SSH yang telah didapatkan sebelumnya:

ssh u2xxxxx@31.220.110.175 -p 65002

Ubah u2xxxxx sesuai dengan username SSH, begitu juga IP dan port. Masukkan password dan setelah berhasil login, pastikan sudah berada di direktori home (/home/u2xxxxx) dengan perintah pwd.

Kemudian clone repository acme-client dari github dan tuju direktori acme-client:

git clone https://github.com/kelunik/acme-client && cd acme-client

Unduh dan pasang Composer:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer terverifikasi'; } else { echo 'Installer bermasalah'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Terakhir, install semua package yang dibutuhkan:

composer install

 

Langkah 3 - Membuat sertifikat SSL

Setelah acme-client dan composer terpasang tanpa masalah, selanjutnya tinggal menerbitkan sertifikat. Buat file konfigurasi bernama .acme-client.yml pada direktori home:

nano $HOME/.acme-client.yml

Masukkan konten berikut ke dalam file tersebut:

# Sesuaikan dengan nama user akun.
storage: /home/u2xxxxx/acme-client/certs

server: letsencrypt

# Gunakan alamat email asli yang masih aktif digunakan.
email: email@example.com
certificates:
    - bits: 4096
      paths:
        /home/u2xxxxx/public_html:
            - situsku.dev
            - www.situsku.dev

lalu simpan (Ctrl-X, Shift-Y, Enter).

Pastikan masih berada di direktori acme-client, terbitkan sertifikat dengan perintah:

php bin/acme auto

 

Langkah 4 - Memasang sertifikat melalui cpanel

Jika perintah di atas dapat dijalankan tanpa error, maka sertifikat akan disimpan di direktori $HOME/acme-client/certs (sesuai dengan file konfigurasi .acme-client.yml yang sudah dibuat sebelumnya):

cd /home/u2xxxxx/acme-client/certs/certs/acme-v01.api.letsencrypt.org.directory/situsku.dev

Terdapat empat file: cert.pem, chain.pem, fullchain.pem, dan key.pem. Gunakan perintah cat untuk melihat isi file fullchain.pem.

cat fullchain.pem

Salin dan simpan seluruh isi sertifikat tersebut menggunakan text editor, mulai dari —–BEGIN CERTIFICATE—– hingga —–END CERTIFICATE—–.

Lakukan hal yang sama dengan file key.pem:

cat key.pem

Selanjutnya tinggal memasang sertifikat tersebut pada akun Hostinger.

Buka menu pengaturan SSL melalui cpanel Hostinger, lalu masukkan sertifikat dan key yang telah disimpan tadi ke tempatnya masing-masing (fullchain.pem ke Certificate, key.pem ke Private Key).

Klik Install. Jika berhasil, notifikasi 'SSL certificate has been installed' akan muncul. Domain yang didaftarkan sekarang dapat diakses melalui HTTPS dan memiliki simbol gembok pada web browser.

 

Langkah 5 - Memperbarui sertifikat

Sertifikat SSL dari Let's Encrypt akan kedaluwarsa dalam waktu 90 hari. Status sertifikat dapat dilihat dengan perintah:

php acme-client/bin/acme check --name situsku.dev --server letsencrypt

Pada Hostinger, Cron Job dapat digunakan untuk memperbarui sertifikat. Masukkan perintah ini pada menu pembuatan Cron Job Tingkat Lanjut, dan atur agar dijalankan setiap hari:

/usr/bin/php acme-client/bin/acme auto

 

Cek kembali direktori tempat menyimpan file sertifikat, kemudian masukkan konten kedua file tersebut seperti yang telah dijelaskan pada Langkah 4.