Rumahweb Journal
Banner - Cara Install SSL Let's Encrypt di Nginx Almalinux 9

Cara Install SSL Let’s Encrypt di Nginx Almalinux 9

Melanjutkan artikel kami tentang Let’s encrypt, kali ini kami akan berbagi cara install SSL Let’s encrypt di Nginx Almalinux 9.

SSL (Secure Sockets Layer) adalah protokol keamanan yang berfungsi untuk mengamankan komunikasi antara client dan server melalui jaringan internet. SSL digunakan untuk melindungi data sensitif seperti informasi login, data kartu kredit, dan informasi pribadi lainnya yang dikirimkan melalui jaringan internet.

Secure Sockets Layer atau SSL bekerja dengan menggunakan teknik enkripsi, yaitu mengubah data yang dikirimkan menjadi bentuk yang tidak dapat dibaca oleh pihak yang tidak berwenang. Hal ini dilakukan dengan mengenkripsi data pada sisi pengirim dan kemudian dekripsi pada sisi penerima.

Pada kesempatan kali ini, Kami akan berbagi cara install SSL Let’s Encrypt di Nginx yang beroperasi dalam OS Almalinux 9. Bagi Anda yang tidak terlalu familiar dengan Almalinux, kami akan mengulas apa itu Almalinux 9 agar Anda lebih memahami artikel yang kami buat ini. Berikut informasi selengkapnya.

Apa itu Almalinux 9

AlmaLinux 9 adalah sistem operasi Linux open source berbasis CentOS 9 yang dikembangkan oleh CloudLinux Inc. Sistem operasi ini di desain sebagai penerus CentOS 8 yang dihentikan dukungannya pada akhir tahun 2021 yang lalu.

AlmaLinux 9 dibuat sebagai platform yang stabil, aman, dan handal untuk penggunaan bisnis dan lingkungan produksi dengan dukungan jangka panjang. Sistem operasi ini juga menggunakan kernel Linux terbaru dan menyediakan fitur-fitur terbaru dari upstream CentOS 9, termasuk dukungan untuk beberapa arsitektur dan aplikasi terbaru.

Kabar baiknya, AlmaLinux 9 dirancang untuk kompatibilitas penuh dengan paket dan aplikasi yang tersedia di CentOS 9. Sehingga pengguna dapat dengan mudah memigrasikan sistem mereka dari CentOS 9 ke AlmaLinux 9 tanpa masalah kompatibilitas.

Selain itu AlmaLinux 9 juga mendukung penggunaan repositori EPEL dan remi, sehingga pengguna dapat menginstal paket dan aplikasi tambahan dengan mudah.

AlmaLinux 9 didistribusikan sebagai perangkat lunak open-source dan dapat diunduh dan digunakan secara gratis oleh siapa saja. Tersedia pula dukungan komersial dan layanan tambahan untuk pengguna bisnis dan institusi.

Apa itu Let’s Encrypt

Let’s Encrypt adalah layanan sertifikat digital yang menyediakan sertifikat SSL/TLS secara gratis untuk website. Sertifikat SSL/TLS adalah sebuah protokol keamanan yang digunakan untuk mengamankan komunikasi antara client dan server melalui jaringan internet.

Dengan menggunakan sertifikat SSL/TLS, website dapat melindungi data sensitif seperti informasi login, data kartu kredit, dan informasi pribadi lainnya yang dikirimkan melalui jaringan internet.

Let’s Encrypt didirikan oleh Internet Security Research Group (ISRG) dengan tujuan untuk meningkatkan keamanan pada web dengan membuat pengunjung merasa aman ketika ingin melakukan proses pertukaran data.

Dengan adanya Let’s Encrypt, pengguna dapat mengamankan website mereka dengan sertifikat SSL/TLS tanpa harus membayar dan terjamin keamanannya.

Apa itu virtual hosts NginX

Virtual Hosts Nginx adalah salah satu kelebihan webserver untuk menangani beberapa domain atau aplikasi web dengan menggunakan satu instance Nginx yang sama. Dengan menggunakan Virtual Hosts, pengguna dapat menciptakan beberapa domain atau aplikasi web pada server Nginx yang sama dan dapat mengatur konfigurasi masing-masing domain secara terisolasi dari layanan lain yang meskipun memiliki fungsi sama.

Virtual Hosts diimplementasikan pada Nginx dengan membuat beberapa blok konfigurasi yang terpisah untuk setiap web atau aplikasi yang di-host pada server yang sama. Setiap blok konfigurasi harus menyediakan nama domain atau alamat IP yang berbeda, sehingga Nginx dapat membedakan antara setiap situs web atau aplikasi yang di-host.

Berikut beberapa blog konfigurasi Virtual Host pada Nginx:

  • Server Name: Nama domain atau alamat IP yang ditujukan untuk situs web atau aplikasi tertentu.
  • Root: Direktori utama dari domain, biasa berisikan script website atau aplikasi tertentu.
  • Index: File index yang menentukan NginX untuk mengeksekusi deretan tipe file, contoh index.php, index.html dan lainnya.
  • Location: Konfigurasi tambahan untuk mengatur header dari aplikasi web.

Dengan menggunakan Virtual Hosts pada Nginx, Anda dapat meng-host beberapa domain atau aplikasi web pada server yang sama. Selain itu, Virtual Hosts pada Nginx juga memungkinkan pengguna untuk memisahkan konfigurasi situs web atau aplikasi secara terpisah, sehingga memudahkan pengelolaan situs web atau aplikasi yang kompleks.

Install SSL Let’s encrypt di Nginx Almalinux 9

Berikut adalah step by step cara install SSL Let’s encrypt di Nginx.

Step 1. Install dan Config MultiSite di Nginx

Pada tahap instalasi webserver Nginx, silahkan login sebagai root. Berikut adalah langkah-langkah untuk menginstal Nginx pada Almalinux 9:

  1. Install NginX di Almalinux 9.
  • Update repo dan sistem Almalinux 9, dilanjutkan dengan penginstallan:
# dnf update && install nginx -y
  • Aktifkan Nginx dan Enable
# systemctl enable nginx && systemctl start nginx

2. Konfigurasi Multisite NginX di Almalinux 9

  • Masuk dan buat directory untuk masing-masing website/domain di /usr/share/nginx . Contoh pembuatannya seperti dibawah:
# mkdir -p nginx1.me2.my.id/html && mkdir -p nginx2.me2.my.id/html

Perintah mkdir diatas untuk membuat folder yang nantinya dijadikan sebagai tempat penyimpanan script atau aplikasi webnya.

  • Buatlah file index sederhana yang nantinya sebagai pembeda antara nginx1 dan nginx2:
# nano nginx1.me2.my.id/html/index.html
# nano nginx2.me2.my.id/html/index.html

Contoh index.html :

<html>
<head>
<title> Nginx1 </title>
</head>
<body>
<h1> Selamat datang di NginX 1 </h1>
</body>
</html>

Script diatas dapat Anda sesuaikan untuk digunakan pada Nginx2.

  • Masuk dan buat directory site available dan enabled di /etc/nginx/ . Contoh pembuatannya seperti dibawah:
# mkdir sites-available && mkdir sites-enabled
  • Konfigurasi nginx.conf:

Pada gambar diatas, silahkan tambahkan include /etc/nginx/sites-enabled/*.conf; tepat dibawah include /etc/nginx/conf.d/*.conf;

Masih dalam file config yang sama, silahkan tambahkan simbol # didepan settingan hosts default NginX. Hasilnya seperti dibawah:

  • Buat file config untuk masing-masing domain, misal nginx1.namadomain.conf dan nginx2.namadomain.conf . File conf tersebut Anda buat didalam folder sites-available.
# nano sites-available/nginx1.me2.my.id.conf

Berikut isi dari conf :

server {
    listen 80;
   
    server_name nginx1.me2.my.id;
    root /usr/share/nginx/nginx1.me2.my.id/html;

    access_log /var/log/nginx/www_access.log;
    error_log /var/log/nginx/www_error.log;

    location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        access_log off; log_not_found off; expires max;
    }
}

Contoh script config diatas untuk nginx1, Anda bisa menggunakannya juga untuk nginx2 dengan menyesuaikan kembali bagian server_name dan root.

  • Symlink config multisite menggunakan perintah dibawah:
# ln -s /etc/nginx/sites-available/nginx1.me2.my.id.conf /etc/nginx/sites-enabled/nginx1.me2.my.id.conf

Lakukan hal yang sama untuk nginx2 , jika Anda telah selesai konfig.

  • Periksa kembali settingan Nginx yang telah dibuat menggunakan perintah dibawah:
# nginx -t

Setelah konfig sukses seperti gambar diatas, silahkan restart Nginx menggunakan perintah systemctl restart nginx

Pada bagian instalasi dan konfigurasi multisite di NginX Almalinux 9 telah selesai, silahkan Anda akses. Apabila berhasil akan menampilkan hasil contoh dibawah:

Install dan Konfigurasi MultiSite di NginX Almalinux 9

Step 2. Install Let’s Encrypt di Nginx

Let’s Encrypt hingga saat ini belum dapat diinstall untuk IP Address, sehingga Anda memerlukan nama domain. Pada bagian ini, penginstalan SSL akan dilakukan untuk hosts nginx1 dan nginx2.

  • Install package linux, silahkan eksekusi perintah dibawah:
# dnf install epel-release -y
  • Install Certbot dan module dukungan yang diperlukan:
# dnf install certbot python3-certbot-nginx -y
  • Install SSL untuk hosts Nginx1 dan Nginx2 menggunakan Cerbot, jalankan perintah dibawah:
# certbot --nginx --agree-tos --redirect --staple-ocsp --email [email protected] -d nginx1.me2.my.id -d nginx2.me2.my.id

Dengan perintah diatas, Anda lakukan request ke server SSL untuk menerbitkan Sertifikat SSL nama domain melalui tool Certbot. Kemudian apabila permintaan tersebut diterima, maka akan otomatis terinstall di server yang Anda gunakan untuk masing-masing domainnya.

Cara Install SSL Let's Encrypt di Nginx Almalinux 9

Sampai pada tahapan ini, SSL untuk kedua hosts telah berhasil terinstall. Anda bisa lakukan testing dengan mengakses domainnya yang diredirect ke HTTPS secara otomatis.

Autoupdate SSL Let’s Encrypt

SSL free pada umumnya hanya berlangsung 90 hari, kemudian akan expired secara otomatis dan membuat website Anda menjadi tidak aman untuk dikunjungi. Untuk mengatasi hal tersebut, Anda dapat memanfaatkan cronjob di server untuk melakukan tugas instalasi SSL secara otomatis sesuai jadwal yang telah ditentukan.

  • Akses Crontab dengan perintah dibawah:
# crontab -e
  • Inputkan script konfig berikut di Cron:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew --quiet

klik ESC, kemudian ketik “:wq!” tanpa tanda petik dua untuk menyimpan settingan.

Kelemahan Let’s Encrypt

Penginstalan SSL versi gratis seperti Let’s Encrypt tentunya ada kelemahan yang perlu Anda pertimbangkan. Berikut beberapa hal yang perlu Anda ketahui:

  1. Masa aktif: Let’s Encrypt memiki masa aktif yang pendek yaitu hanya 90 hari sejak diaktifkan, sehingga Anda perlu meluangkan lebih banyak waktu melakukan reinstall SSL untuk memperbarui sertifikat SSL.
  2. Validasi domain: Let’s Encrypt SSL hanya menawarkan metode validasi domain, yang berarti bahwa mereka tidak memvalidasi identitas pemilik atau organisasi situs web. Ini membuatnya kurang aman dibandingkan dengan jenis sertifikat SSL lainnya, seperti sertifikat SSL Extended Validation (EV), yang memberikan validasi yang lebih ketat. Akibat dari hal ini akan menyebabkan web Anda dianggap kurang dipercaya dan tidak serius dalam mengelola data pelanggan dan lainnya.
  3. Sertifikat Wildcard: Let’s Encrypt tidak menerbitkan sertifikat SSL wildcard, yang berarti Anda tidak dapat mengamankan semua subdomain dari domain Anda dengan satu sertifikat. Ini bisa menjadi batasan bagi Anda yang memiliki banyak subdomain untuk diamankan.
  4. Dukungan Teknis: Secara garis besar, SSL berbayar menyediakan dukungan teknis apabila terjadi kesalahan disisi sertikat yang diterbitkan.
  5. Kompatibel: Let’s Encrypt tidak kompatibel pada beberapa browser dan sistem operasi Windows lawas sehingga akan dibaca “Tidak Aman”. Anda harus menghindari hal ini karena tidak semua pelanggan yang Anda miliki menggunakan perangkat terbaru.

BACA ARTIKEL: Kelebihan SSL berbayar dibandingkan dengan SSL Gratis

Terlepas dari kekurangannya diatas, Let’s Encrypt masih menjadi pilihan untuk model pengembangan sementara hanya untuk testing apakah aplikasi web yang dibangun dapat berjalan atau tidak menggunakan SSL.

Demikian artikel kami tentang cara install SSL Let’s encrypt di Nginx Almalinux 9, semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 5 / 5. Vote count: 6

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

SSL Murah

Fredric Lesomar

I am an ameteur programer and cybersecurity enthusiast. Love much, mother Python language, machine learning and You!