Let’s Encrypt merupakan layanan yang menyediakan sertifikat SSL gratis, singkatnya demikian. Namun langkah instalasi yang mudah tersebut tidak dapat berjalan dengan baik saat dilaksanakan melalui Debian 6 karena paket Python serta beberapa dependencies tidak update. Karena itu di server saya tidak dapat menggunakan layanan let’s encrypt dengan salah satu plugin apache dan harus secara manual melakukan generate sertifikatnya saja.

Untuk melakukannya saya harus melakukan instalasi git …

# apt-get install git

Langkah berikutnya adalah melakukan cloning repository Let’s Encrypt

# git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
# cd /opt/letsencrypt
# ./letsencrypt-auto --help

Langkah berikutnya adalah melakukan generate sertifikat dengan model certonly.

# ./letsencrypt-auto certonly --webroot -w /var/www/webku.com -d webku.com

Pastikan bahwa webku.com dapat diakses dan lestencrypt akan membuat sebuah folder pada web root dengan nama folder .well-known/<karakter lainnya>, pastikan bahwa folder tersebut dan isi lainnya dapat diakses publik. Agar bisa aktif pula pada domain dengan CNAME http://www.<domainnya&gt; maka tambahkan lagi perintah di atas dengan -d www·webku.com.

Apabila berhasil akan ada beberapa dialog yang meminta email dan juga user agreement, pastikan bahwa hal tersebut terpenuhi hingga kemudian muncul pernyataan berhasil.

Hasil generate oleh Let’s Encrypt akan terdapat pada folder /etc/letsencrypt/live/webku.com/ yang nanti akan digunakan oleh apache2.

Dilanjutkan setting pada apache2, dengan melakukan aktifasi HTTPS di Apache; modul ssl harus diaktifkan.

# a2enmod ssl

Kemudian pastikan bahwa port 443 diaktifkan, pada setting di server saya harus melakukan deklarasi secara eksplisit terhadap port untuk HTTPS …


# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
NameVirtualHost *:443
Listen ABC.DEF.GHI.JKL:443

Kemudian tambahkan pada bagian virtual host agar apache2 menggunakan certificate yang telah digenerate menggunakan Let’s Encrypt.

... (isi virtual host lain ) ...
SSLCertificateKeyFile /etc/letsencrypt/live/webku.com/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/webku.com/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/webku.com/chain.pem
... (isi virtual host lain) ...

Langkah selanjutnya adalah restart service apache2.
service apache2 restart

Jangan lupa pada firewall agar membuka akses ke port HTTPS di 443. Karena sya menggunakan shorewall maka saya buka akses tersebut di /etc/shorewall/rules


HTTPS/Accept net $FW

Tentu saja untuk testing pastikan sudah bisa diakses menggunakan HTTPS.

Sumber: