Lets Encrypt adalah Certificate Authority (CA) yang menyediakan layanan ssl gratis untuk keamanan website. Dengan menggunakan layanan Lets Encrypt, kita bisa menambahkan https pada url website sehingga menambah keamanan, kepercayaan dan juga kualitas SEO yang baik. Proses instalasi Lets Encrypt untuk web server Apache pada server Ubuntu sendiri sangat mudah.
Pada artikel ini saya akan membagikan langkah – langkah untuk menginstall ssl gratis Lets Encrypt pada server Ubuntu 16.04 dan web server Apache. Tentunya terlebih dahulu web server Apache harus sudah terinstall karena tidak saya sertakan proses instalasinya disini.
Berikut adalah langkah-langkah untuk menginstall Lets Encrypt
Install Certbot
Certbot adalah software tool yang digunakan untuk mendapatkan sertifikat ssl secara otomatis dari Lets Encrypt. Certbot tersedia pada repository Ubuntu dan saat ini dalam keadaan aktif didevelop oleh developer Certbot.
Tambahkan terlebih dahulu repository Certbot
$sudo add-apt-repository ppa:certbot/certbot
$sudo apt update
Install Certbot dengan plugin untuk webserver Apache
$sudo apt install python-certbot-apache
Setelah instalasi selesai, cek versi certbot yang terinstall. Saat instalasi versi certbot saya adalah certbot 0.31.0
$sudo certbot --version
Pastikan plugin Certbot untuk Apache sudah diinstal
$sudo certbot plugins
Output
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* apache
Description: Apache Web Server plugin
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: apache = certbot_apache.entrypoint:ENTRYPOINT
* standalone
Description: Spin up a temporary webserver
Interfaces: IAuthenticator, IPlugin
Entry point: standalone = certbot.plugins.standalone:Authenticator
* webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot.plugins.webroot:Authenticator
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Jika tampilan seperti di atas dengan modul *apache yang tertera maka Certbot sudah bisa digunakan dengan web server Apache
Download Sertifikat SSL
Plugin Apache yang sudah terinstall tadi akan otomatis mengkonfigurasi ssl pada file konfigurasi Apache dan sekaligus mereload servis Apache.
$sudo certbot --apache -d namadomain.com -d www.namadomain.com
Opsi -d menunjukkan nama domain server kita yang akan ditambahkan ssl-nya. Jika ini adalah kali pertama menginstall Certbot maka kita akan diminta memasukkan alamat email dan persetujuan pada Terms & Condition Lets Encrypt. Masukkan alamat email yang aktif karena email ini akan digunakan oleh Lets Encrypt untuk mengirim notifikasi perpanjangan masa aktif sertifikat SSL.
Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Certbot akan menanyakan opsi untuk redirect dari http ke https. Pilih nomor 1 jika kita tidak ingin redirect otomatis dari http ke https dan nomor 2 untuk redirect otomatis dari http ke https. Contohya jika user mengetik http://www.namadomain.com pada web browser, maka web server akan otomatis meredirect ke https://www.namadomain.com.
Plugin Certbot untuk apache akan otomatis mengupdate konfigurasi virtual host dan mereload servis Apache. Silahkan cek file konfigurasi virtual hosts di /etc/apache2/sites-enabled. Akan ada file baru yang ditambahakan untuk konfigurasi virtual host dengan support ssl/https. Sebaga contoh, domain non https saya ada di file 000-default.com. Plugin Certbot akan menambahkan file konfigurasi untuk https pada file 000-default-le-ssl.conf. Perhatikan ada tambahaan suffix -le-ssl pada nama file konfigurasi virtual host untuk https/ssl..
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://namadomain.com and
https://www.namadomain.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=namadomain.com
https://www.ssllabs.com/ssltest/analyze.html?d=www.namadomain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/namadomain.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/namadomain.com/privkey.pem
Your cert will expire on 2021-02-14. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:
Jika sukses anda akan mendapatkan pesan seperti di atas. Perhatikan sertifikat ssl kita disimpan di direktori /etc/letsencrypt/live/namadomain.com dan tanggal kadaluarsa yang biasanya berlaku tiga bulan ke depan.
Perpanjang Sertifikat Otomatis
Tools Certbot akan menghandle proses perpanjangan sertifikat secara otomatis jadi kita tidak perlu secara manual memperpanjang. Proses perpanjangan otomatis ini dijalankan oleh script cerbot.timer yang dikelola oleh system servis systemctl. Script ini berjalan dua kali sehari dan akan memperpanjang secara otomatis sertifikat jika berada dalam periode 30 hari sebelum kadaluarsa.
Untuk mengecek servis/scriptnya, gunakan perintah
$sudo systemctl status certbot.timer
Output
● certbot.timer - Run certbot twice daily
Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Mon 2020-11-16 15:51:35 WIB; 19h ago
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
Jika karena satu dan lain hal proses perpanjangan otomatis gagal, maka Lets Encrypt akan mengirimkan email notifkasi ke alamat email yang telah kita daftarkan sebelumnya.
Note:
Untuk mengubah alamat email, gunakankan perintah
$sudo certbot update_account
Oke prosesnya gampang bukan, dengan beberapa langkah di atas kita bisa mendapatkan sertifikat ssl gratis. Walaupun harus diperpanjang tiga bulan sekali namun kita tidak perlu direpotkan dengan proses perpanjangan manual. Yang perlu diperhatikan adalahs jangan lupa cek email juga. Jika ada kendala dalam perpanjangan otomatis, Lets Encrypt akan mengirimkan email notifikasi untuk dilakukan perpanjangan secara manual. Selamat mencoba!
Leave a Reply