Cara Menginstal Let's Encrypt SSL untuk NGINX di Rocky Linux 8
Security adalah salah satu perhatian utama bagi pemilik situs web, terutama jika Anda menjalankan toko eCommerce atau situs yang menerima informasi rahasia pengguna seperti nama pengguna dan kata sandi. Protokol HTTP biasa tidak aman karena data dikirim dalam teks biasa dan peretas dapat menguping komunikasi yang dikirim ke dan dari server web.
Untuk mengatasi risiko ini, disarankan untuk mengamankan server web menggunakan sertifikat TLS/SSL. Ini adalah sertifikat digital kriptografi yang mengenkripsi server web Anda dan memastikan data yang dipertukarkan dengan server web dienkripsi.
Sertifikat Let's Encrypt SSL adalah sertifikat digital yang disediakan oleh Let's Encrypt CA ( Certificate Authority) untuk mengamankan server web. Ini adalah sertifikat TLS/SSL gratis yang hanya berlaku selama 90 hari, di mana pembaruan diperlukan sebelum kedaluwarsa. Ini bermanfaat bagi pemula atau individu yang tidak mampu membeli sertifikat SSL premium untuk blog atau situs web mereka.
Dalam panduan ini, kami akan menunjukkan bagaimana Anda dapat menginstal sertifikat Let's Encrypt SSL/TLS untuk NGINX di Rocky Linux 8
Yang Anda butuhkan
Pertama, pastikan Anda memiliki contoh server Rocky Linux 8 di cloud atau di lokasi dan sudah dikonfigurasi dengan sudo user.
Selanjutnya, pastikan Anda memiliki Fully Qualified Domain Name (FQDN ) yang menunjuk ke IP publik server Anda. Untuk mencapai ini, buka pendaftar domain Anda, dan dalam pengaturan DNS, konfigurasikan catatan A untuk mengarahkan nama domain ke IP Publik server. Di bawah ini adalah cuplikan dari A record.
sayaUntuk panduan ini, kami menggunakan nama domain linuxtechgeek.info yang menunjuk ke alamat IP server 34.134.239.201.
Dengan itu, mari kita mulai!
Langkah 1) Instal Server Web Nginx
Kita mulai dengan instalasi server web Nginx di Rocky 8. Tapi pertama-tama, mari kita perbarui paket sistem dan perbarui repositori.
$ sudo dnf update
Pembaruan dapat memakan waktu cukup lama, jadi bersabarlah sampai selesai.
Setelah pemutakhiran selesai selesai, reboot sistem sekali dan kemudian instal server web nginx sebagai berikut:
$ sudo dnf install nginx
Secara default, nginx tidak dimulai secara otomatis. Jadi, bekerja lebih keras dan mulai layanan nginx.
$ sudo systemctl start nginx
Selanjutnya, aktifkan server web untuk memulai saat boot atau setelah reboot.
$ sudo systemctl enable nginx
Server web sekarang harus berjalan seperti yang diharapkan dan mendengarkan pada port 80 Anda dapat mengonfirmasi ini dengan menjalankan command
$ sudo systemctl status nginx
Anda juga dapat memverifikasi ini dari browser web. Tapi pertama-tama, izinkan lalu lintas HTTP (baik HTTP & HTTPS) di firewall dengan menjalankan perintah yang ditunjukkan
$ sudo firewall-cmd --add-service=http --permanent $ sudo firewall-cmd --add-service=https --permanent
then muat ulang firewall untuk melakukan perubahan.
$ sudo firewall-cmd --reload
Kemudian telusuri alamat IP server Anda atau nama domain
http://domain_name
Langkah 2) Buat akar Dokumen untuk domain
Kami selesai menginstal server web. Langkah selanjutnya adalah membuat direktori yang akan menampung file-file domain. Kami akan membuat direktori domain di jalur linuxtechgeek.info seperti yang ditunjukkan menggunakan perintah mkdir
$ sudo mkdir -p /var/www/linuxtechgeek.info/html
Dokumen root domain adalah tempat Anda akan menemukan file situs web termasuk HTML, CSS, JavaScript , dan gambar. Untuk tujuan demonstrasi, kita akan membuat file index.html sederhana.
$ sudo vi /var/www/linuxtechgeek.info/html/index.html
Selanjutnya, tempel kode HTML contoh berikut dan simpan perubahannya.
Selamat datang di linuxtechgeek.info Hai Teman-teman! Blok server Nginx kami berfungsi.
Selanjutnya, gunakan perintah chown untuk mengatur kepemilikan direktori domain sebagai berikut untuk menghindari masalah perizinan.
$ sudo chown -R nginx /var/www/linuxtechgeek.info/
Selanjutnya, atur izin sedemikian rupa sehingga grup dan pengguna global telah membaca dan menjalankan hak atas file domain.
$ sudo chmod -R 755 /var/www/linuxtechgeek.info/
Kami selesai mengonfigurasi root dokumen untuk domain dan menyetel kepemilikan dan izin yang tepat. Mari kita lanjutkan dan konfigurasikan Server block file.
Step 3) Buat Blok Server Nginx
A Blok server Nginx setara dengan virtualhost apache. Blok server adalah tempat Anda menentukan pengaturan situs dan memberi tahu server web nginx di mana menemukan file domain.
File konfigurasi blok server dibuat di direktori /etc/nginx/conf.d. Kami akan membuat milik kami di direktori yang sama sebagai berikut.
$ sudo vi /etc/nginx/conf.d/linuxtechgeek.info.conf
Salin dan tempel baris berikut. Pastikan untuk mengganti nama domain linuxtechgeek.info dengan domain.
server Anda sendiri { listen 80; nama_server linuxtechgeek.info www.linuxtechgeek.info; root /var/www/linuxtechgeek.info/html; indeks index.php index.html index.htm; access_log /var/log/nginx/linuxtechgeek.info.access.log; error_log /var/log/nginx/linuxtechgeek.info.error.log; }
Simpan perubahan dan keluar dari file blok server.
Kemudian konfirmasikan bahwa semua konfigurasi Nginx baik-baik saja. Jika semuanya baik-baik saja, Anda akan mendapatkan output yang ditampilkan.
$ sudo nginx -t
Agar Nginx mengetahui semua perubahan termasuk root dokumen domain dan file blok server, mulai ulang server web.
$ sudo systemctl restart nginx
Kemudian konfirmasikan prosesnya status Nginx.
$ sudo systemctl status nginx
Selanjutnya, setel SELinux ke mode permisif menggunakan perintah:
$ sudo setenforce permissive
Untuk mengonfirmasi bahwa itu disetel ke mode permisif, jalankan perintah:
$ sudo getenforce
untuk Jalankan secara permanen mode as permissive.
$ sudo sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/sysconfig/selinux
Untuk mengonfirmasi bahwa file blok server telah dikonfigurasi dengan benar, sekali lagi, jelajahi domain name.
http://domain_name
Anda akan mendapatkan konfirmasi positif seperti yang ditunjukkan di bawah ini.
Langkah 4) Instal Certbot
Satu-satunya langkah yang tersisa adalah menginstal Let's E ncrypt dan amankan server web Nginx. Namun, untuk mencapai ini, kita perlu menginstal certbot. Ditulis dengan Python dan dikembangkan oleh Electronic Frontier Foundation, Certbot adalah klien berfitur lengkap untuk Let's Encrypt CA. Ini dijalankan di server web dan memungkinkan Anda untuk secara otomatis mengatur sertifikat SSL untuk server web Anda dalam satu perintah.
Pertama, instal repositori EPEL yang menyediakan paket tambahan dan berkualitas tinggi untuk distro berbasis RHEL.
$ sudo dnf install - y epel-release
Setelah terinstal, instal certbot dan modul certbot untuk Nginx.
$ sudo dnf install certbot python3-certbot-nginx
Ini menginstal certbot, modul certbot untuk Nginx host paket dan dependensi lainnya.
nFsSertifikat ncrypt'Stepn'Step
jalankan klien certbot untuk menginstal SSL certificate
$ sudo certbot --nginx
Ini membawa Anda melalui serangkaian petunjuk. Pertama, berikan alamat email yang akan digunakan oleh EFF untuk mengirimkan pembaruan dan pembaruan keamanan kepada Anda. Kemudian terima Persyaratan layanan dengan menekan 'Y'. Jika diinginkan, Anda dapat menekan 'Y' untuk mengizinkan EFF mengirimi Anda pembaruan rutin tentang upaya mereka dalam mengamankan web, berita, dan kampanye. Terakhir, pilih nama domain yang akan dienkripsi. Dalam kasus kami, kami menekan tombol 'ENTER' untuk memilih semua nama domain.
Certbot akan mengambil sertifikat SSL/TLS dan menyebarkannya untuk nama domain yang ditentukan. Ini mengaktifkan protokol HTTPS untuk domain Anda, yang pada dasarnya mengenkripsi lalu lintas yang dipertukarkan dengan server web.
Untuk mengonfirmasi bahwa HTTPS telah diaktifkan, kembali ke browser Anda dan muat ulang. Kali ini, Anda akan melihat ikon gembok di bilah URL – indikasi bahwa situs tersebut dienkripsi.
Klik ikon tersebut lalu pilih 'Sertifikat'.
Ini menampilkan detail sertifikat seperti yang disediakan
Selanjutnya, Anda dapat menguji status server web Anda di SSL Labs yang merupakan situs yang melakukan analisis mendalam terhadap server web melalui internet. Anda harus mendapatkan peringkat A seperti yang ditunjukkan.
Step 5) Mengelola pembaruan sertifikat SSL
Let's Encrypt certificate berlaku selama 90 hari, namun, Let's encrypt merekomendasikan agar Anda memperbarui sertifikat setiap 60 hari. Pemberitahuan email akan dikirimkan kepada Anda dalam 20 hari terakhir untuk kedaluwarsa dengan frekuensi naik 10 hari terakhir.
Anda dapat memperbarui sertifikat secara manual sebagai berikut.
$ sudo certbotrenew
Untungnya, Anda dapat mengotomatiskan pembaruan, dengan menambahkan tugas cron baru . Jadi, buka crontabfile.
$ crontab -e
Dan tambahkan baris yang ditampilkan. Simpan perubahan dan keluar.
0 0 * * * /usr/bin/certbot perbarui > /dev/null 2>&1
Itu saja. Terima kasih telah datang sejauh ini. Kami telah mendemonstrasikan bagaimana Anda dapat menginstal sertifikat Let's Encrypt SSL untuk Nginx di Rocky Linux 8.
Baca Juga: Cara Mengatur NGINX yang Sangat Tersedia dengan KeepAlived di Linux