Pengenalan

Let’s Encrypt adalah Otoritas Sertifikasi yang menyediakan sertifikat SSL gratis untuk situs web. Selain menawarkan sertifikat SSL, ia juga menangani pemasangan sertifikat dan pembaruan sertifikat melalui klien Certbot.

Let’s Encrypt merupakan Otoritas Sertifikasi terbesar di dunia dan lebih dari 250 juta situs web menggunakan sertifikatnya. Saat ini, Let’s Encrypt mendukung penginstalan otomatis sertifikat di Apache, Nginx, Plex, dan Haproxy.

Di sini, kita akan melihat cara menginstal Let’s Encrypt SSL Certificate untuk Nginx di Ubuntu 22.04.

				
					sudo snap install core; sudo snap refresh core
				
			

Prasyarat

  • Server Ubuntu 22.04 disiapkan dengan mengikuti pengaturan server awal ini untuk tutorial Ubuntu 22.04, termasuk pengguna non-root yang mendukung sudo dan firewall.
  • Firewall Yang mengizinkan permintaan port HTTPS/443 dari luar ke Server.
  • Sebuah nama domain terdaftar. Tutorial ini akan menggunakan example.com secara keseluruhan. Anda dapat membeli nama domain dari Namecheap, mendapatkannya secara gratis dengan Freenom, atau menggunakan pencatat domain pilihan Anda.
  • Kedua data DNS berikut disiapkan untuk server Anda. Jika Anda menggunakan DigitalOcean, silakan lihat dokumentasi DNS kami untuk detail tentang cara menambahkannya. Catatan A dengan example.com menunjuk ke alamat IP publik server Anda. Catatan A dengan www.example.com menunjuk ke alamat IP publik server Anda.
  • Nginx diinstal dengan mengikuti Cara Menginstal Nginx di Ubuntu 22.04. Pastikan Anda memiliki blok server untuk domain Anda. Tutorial ini akan menggunakan /etc/nginx/sites-available/example.com sebagai contoh.
1 - Instalasi Certbot

Certbot dikomendasikan menggunakan paket snap untuk instalasi. Paket snap bekerja di hampir semua distribusi Linux, tetapi diharuskan menginstal snapd terlebih dahulu. Ubuntu 22.04 hadir dengan dukungan untuk snap di luar aplikasi bawaan, sehingga Anda dapat memulai dengan memastikan inti snapd Anda terupdate:

				
					sudo snap install core; sudo snap refresh core
				
			

Jika sudah terdapat certbot versi lama sebelumnya, diharuskan untuk menghapusnya sebelum ke langkah berikutnya:

				
					sudo apt remove certbot
				
			

Setelah itu, Anda dapat menginstal paket certbot:

				
					sudo snap install --classic certbot
				
			

Sekarang kita telah menginstal Certbot, mari kita jalankan untuk mendapatkan sertifikat kita.

2 - Mengonfirmasi Konfigurasi Nginx

Certbot harus dapat menemukan blok server yang benar dalam konfigurasi Nginx Anda agar dapat mengonfigurasi SSL secara otomatis. Secara khusus, ia melakukan ini dengan mencari direktif server_name yang cocok dengan domain yang Anda minta sertifikatnya.

Jika Anda mengikuti langkah penyiapan blok server dalam tutorial penginstalan Nginx, Anda harus memiliki blok server untuk domain Anda di /etc/nginx/sites-available/example.com dengan direktif server_name yang sudah disetel dengan tepat.

Untuk memeriksa, buka file konfigurasi untuk domain Anda menggunakan nano atau editor teks favorit Anda:

				
					sudo nano /etc/nginx/sites-available/example.com
				
			

Temukan baris nama_server yang ada. Seharusnya terlihat seperti ini:

				
					#/etc/nginx/site_availables/example.com
...
server_name example.com www.example.com;
...
				
			

Jika ya, keluar dari editor Anda dan lanjutkan ke langkah berikutnya.

Jika tidak, perbarui agar sesuai. Kemudian simpan file, keluar dari editor Anda, dan verifikasi sintaks pengeditan konfigurasi Anda:

				
					sudo nginx -t
				
			

Jika Anda mendapatkan kesalahan, buka kembali file blok server dan periksa kesalahan ketik atau karakter yang hilang.

Setelah sintaks file konfigurasi Anda benar, muat ulang Nginx untuk memuat konfigurasi baru:

				
					sudo systemctl reload nginx
				
			

Certbot sekarang dapat menemukan blok server yang benar dan memperbaruinya secara otomatis.

3 - Memperoleh Sertifikat SSL

Certbot menyediakan berbagai cara untuk mendapatkan sertifikat SSL melalui plugin. Plugin Nginx akan menangani konfigurasi ulang Nginx dan memuat ulang konfigurasi kapan pun diperlukan. Untuk menggunakan plugin ini, ketik berikut ini:

				
					sudo certbot --nginx -d example.com -d www.example.com
				
			

Ini menjalankan certbot dengan plugin –nginx, menggunakan -d untuk menentukan nama domain yang kami inginkan agar sertifikatnya valid. 

Saat menjalankan perintah, Anda akan diminta untuk memasukkan alamat email dan menyetujui persyaratan layanan. Setelah melakukannya, Anda akan melihat pesan yang memberi tahu Anda bahwa prosesnya berhasil dan di mana sertifikat Anda disimpan:

				
					Output
IMPORTANT NOTES:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/your_domain/fullchain.pem
Key is saved at: /etc/letsencrypt/live/your_domain/privkey.pem
This certificate expires on 2022-06-01.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
				
			

Sertifikat Anda diunduh, diinstal, dan dimuat, dan konfigurasi Nginx Anda sekarang akan secara otomatis mengalihkan semua permintaan web ke https://. Coba muat ulang situs web Anda dan perhatikan indikator keamanan browser Anda. Ini harus menunjukkan bahwa situs tersebut diamankan dengan benar, biasanya dengan ikon kunci. Jika Anda menguji server Anda menggunakan SSL Labs Server Test, itu akan mendapatkan nilai A.

Mari kita selesaikan dengan menguji proses pembaruan.

4 - Memverifikasi Pembaruan Otomatis Certbot

Sertifikat Let’s Encrypt hanya berlaku selama sembilan puluh hari. Ini untuk mendorong pengguna mengotomatiskan proses perpanjangan sertifikat mereka. Paket certbot yang kami instal menangani ini untuk kami dengan menambahkan pengatur waktu systemd yang akan berjalan dua kali sehari dan secara otomatis memperbarui sertifikat apa pun yang dalam waktu tiga puluh hari setelah kedaluwarsa.

Anda dapat menanyakan status timer dengan systemctl:

				
					sudo systemctl status snap.certbot.renew.service
				
			
				
					Output
○ snap.certbot.renew.service - Service for snap application certbot.renew
     Loaded: loaded (/etc/systemd/system/snap.certbot.renew.service; static)
     Active: inactive (dead)
TriggeredBy: ● snap.certbot.renew.timer
				
			

Untuk menguji proses pembaruan, Anda dapat melakukan uji coba dengan certbot:

				
					sudo certbot renew --dry-run
				
			

Jika Anda tidak melihat kesalahan, Anda sudah siap. Bila perlu, Certbot akan memperbarui sertifikat Anda dan memuat ulang Nginx untuk mengambil perubahan.

Jika proses perpanjangan otomatis gagal, Let’s Encrypt akan mengirim pesan ke email yang Anda tentukan, memperingatkan Anda saat sertifikat Anda akan kedaluwarsa.

Leave a Reply

Your email address will not be published.Required fields are marked *

18 − 17 =