Let's Encrypt adalah otoritas sertifikat yang menyediakan sertifikat SSL gratis untuk situs web. Diluncurkan pada tahun 2014 dengan tujuan agar semua situs web aman dan HTTP.
Selain menawarkan sertifikat SSL, ini juga membantu implementasi dan pembaruan sertifikat secara otomatis. Let's Encrypt adalah otoritas sertifikat terbesar di dunia, digunakan oleh lebih dari 250 juta situs web.
Saat menulis postingan 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 di Apache di Debian 11.
Prasyarat
Instal Apache Webserver
Saya sarankan Anda menginstal server web Apache di sistem Anda sebelum melanjutkan lebih jauh.
BACA: Cara Memasang LAMP Stack di Debian 11
ATAU
Gunakan apt
perintah untuk menginstal server web Apache.
sudo apt updatesudo apt install -y apache2
Aktifkan Modul
Gunakan perintah di bawah ini untuk mengaktifkan SSL dan menulis ulang modul.
sudo a2enmod ssl menulis ulang
Buat Virtualhost
Pertama, kita perlu membuat host virtual Apache untuk melayani versi HTTP situs web Anda.
sudo nano /etc/apache2/sites-available/www.itzgeek.net.conf
Gunakan konfigurasi di bawah ini untuk situs web Anda. Ingatlah untuk mengubah nilai berdasarkan kebutuhan Anda. Jika Anda tidak menggunakan subdomain www, Anda dapat menghapus ServerAlias
.
ServerName itzgeek.net ServerAlias www.itzgeek.net ServerAdmin [email protected] DocumentRoot /var/www/html/www.itzgeek.net ErrorLog ${APACHE_LOG_DIR}/www.itzgeek.net_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek.net_access.log gabungan /var/www/html/www.itzgeek.net> Opsi FollowSymlinks AllowOverride Semua Membutuhkan semua diberikan
Setelah Anda membuat file konfigurasi virtual host, aktifkan situsnya.
sudo a2ensite www.itzgeek.net
Selanjutnya, buat direktori root untuk menyimpan file situs web Anda.
sudo mkdir -p /var/www/html/www.itzgeek.net/
Kemudian, ubah kepemilikan dan grup direktori.
sudo chown -R www-data:www-data /var/www/html/www.itzgeek.net/
Terakhir, tempatkan file HTML pengujian di root dokumen situs web.
echo "Ini adalah situs percobaan @ www.itzgeek.net" | sudo tee /var/www/html/www.itzgeek.net/index.html
Mulai ulang layanan Apache untuk membaca ulang konfigurasi.
sudo systemctl reload apache2
Buat / Perbarui Data DNS
Untuk menghasilkan sertifikat SSL Let's Encrypt, Anda harus mengarahkan domain Anda ke IP server Anda. Jadi, buka pendaftar domain Anda dan buat data A/CNAME untuk domain Anda. Misalnya, gambar di bawah ini menunjukkan data A/CNAME untuk domain www.itzgeek.net.
CATATAN:Setelah membuat perubahan pada data DNS, Anda harus menunggu beberapa menit hingga beberapa jam tergantung pada TTL yang Anda tetapkan untuk data DNS.
Instal Let's Encrypt SSL Certificate di Apache
Instal Certbot
Klien ACME Certbot menangani penerbitan dan pemasangan sertifikat tanpa waktu henti. Ini tersedia sebagai paket snap untuk sistem operasi Debian. Jadi, pertama, instal paket Snapd.
sudo apt updatesudo apt install -y snapd
Kemudian, perbarui snapd ke versi terbaru.
sudo snap install inti; Sudo snap refresh core
Terakhir, instal klien Certbot menggunakan perintah snap dan tautkan sehingga Anda dapat menjalankan perintah certbot dari mana saja terlepas dari direktori kerja saat ini.
sudo snap install --classic certbotsudo ln -s /snap/bin/certbot /usr/bin/certbot
Instal Let's Encrypt Certificate
Gunakan perintah certbot untuk membuat sertifikat Let's Encrypt dan konfigurasikan Apache untuk menggunakan sertifikat tersebut.
sudo certbot --apache
Anda harus mengikuti prompt interaktif dan menginstal sertifikat. Karena saya telah membuat host virtual untuk itzgeek.net dan www.itzgeek.net, saya juga perlu menginstal sertifikat SSL untuk kedua domain. Kemudian, saya akan mengarahkan semua lalu lintas ke www.itzgeek.net melalui aturan penulisan ulang.
Menyimpan log debug ke /var/log/letsencrypt/letsencrypt.logMasukkan alamat email (digunakan untuk pembaruan mendesak dan pemberitahuan keamanan) (Masukkan 'c' untuk membatalkan):[email protected] <- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Harap baca Ketentuan Layanan dihttps:// letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Anda harus setuju untuk mendaftar ke server ACME. Setuju?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/( T)o:Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Apakah Anda bersedia, setelah sertifikat pertama Anda berhasil diterbitkan, untuk membagikan alamat email Anda dengan Electronic Frontier Foundation, mitra pendiri proyek Let's Encrypt dan organisasi nirlaba yang mengembangkan Certbot? Kami ingin mengirimkan email tentang pekerjaan kami mengenkripsi web, berita EFF, kampanye, dan cara mendukung kebebasan digital.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(T)o:N < Akun terdaftar.Nama apa yang Anda inginkan untuk mengaktifkan HTTPS?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:itzgeek.net2:www.itzgeek.net- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Pilih angka yang sesuai dipisahkan dengan koma dan/atau spasi, atau biarkan inputblank untuk memilih semua opsi yang ditampilkan (Masukkan 'c' untuk membatalkan):1,2 < Meminta sertifikat untuk itzgeek.net dan www.itzgeek.net Sertifikat berhasil diterima. Sertifikat disimpan di:/etc/letsencrypt/live/itzgeek.net/fullchain.pemKey disimpan di:/etc/letsencrypt/live/itzgeek.net/ privkey.pemSertifikat ini kedaluwarsa pada 21-01-2022.File-file ini akan diperbarui ketika sertifikat diperbarui.Certbot telah menyiapkan tugas terjadwal untuk memperbarui sertifikat ini secara otomatis di latar belakang.Menyebarkan sertifikatBerhasil menerapkan sertifikat untuk itzgeek.net ke /etc/ apache2/sites-available/www.itzgeek.net-le-ssl.conf Berhasil menerapkan sertifikat untuk www.itzgeek.net ke /etc/Apache2/sites-available/www.itzgeek.net-le-ssl.confSelamat! Anda telah berhasil mengaktifkan HTTPS di https://itzgeek.net dan https://www.itzgeek.net- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Jika Anda menyukai Certbot, mohon pertimbangkan untuk mendukung pekerjaan kami dengan:* Berdonasi ke ISRG / Let's Encrypt:https://letsencrypt.org/donate * Donasi ke EFF:https:/ /eff.org/donate-le- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Setelah Anda mengaktifkan HTTPS untuk domain Anda, klien Certbot akan menempatkan aturan penulisan ulang yang diperlukan untuk mengalihkan lalu lintas dari HTTP ke situs HTTPS.
Dalam kasus saya, ini telah menempatkan dua aturan untuk pengalihan di bawah ini.
- http://itzgeek.net>> https://itzgeek.net
- http://www.itzgeek.net>> https://www.itzgeek.net
Seperti yang Anda lihat, pengalihan pertama tidak tercapai ke domain versi HTTPS www. Jadi, Anda mungkin perlu mengikuti bagian di bawah ini untuk menyiapkannya.
Arahkan permintaan HTTP non-www ke www HTTPS dengan Apache
Anda mungkin ingin mengonfigurasi server web Apache untuk mengarahkan lalu lintas dari situs HTTP non-www ke situs HTTPS WWW, yaitu http://itzgeek.net>> https://www.itzgeek.net .
Edit file host virtual SSL Let's Encrypt (bukan file host virtual asli Anda).
sudo nano /etc/apache2/sites-available/www.itzgeek.net-le-ssl.confTambahkan aturan di bawah ini sebelum
</VirtualHost>
. Ubah nama domain sesuai kebutuhan Anda.# Redirect NON-WWW HTTP ke WWW HTTPS RewriteEngine di RewriteCond %{SERVER_NAME} =itzgeek.net RewriteRule ^ https://www.itzgeek.net %{REQUEST_URI} [END,NE,R=permanent]1,L]Kemudian, restart layanan Apache.
sudo systemctl restart Apache2Verifikasi Let's Encrypt Certificate
Anda dapat memverifikasi sertifikat Let's Encrypt dengan mengunjungi situs web Anda.
http://situs-http-AndaATAU
https://your-https-web-siteAnda harus mendapatkan versi HTTPS situs Anda sekarang.
Uji Sertifikat SSL
Uji sertifikat SSL Let's Encrypt Anda untuk masalah apa pun dan peringkat keamanannya dengan membuka URL di bawah ini.
https://www.ssllabs.com/ssltest/analyze.html?d=www.itzgeek.netPerbarui Sertifikat Let's Encrypt
Seperti yang Anda ketahui, sertifikat Let's Encrypt memiliki validitas 90 hari, dan Anda harus memastikannya diperbarui tepat waktu. Proses pembaruan sekarang otomatis dan berkat layanan systemd yang disediakan oleh klien Certbot. Jadi, Anda tidak perlu memperbaruinya secara manual.
Namun, disarankan untuk menguji pembaruan sertifikat dengan mensimulasikan pembaruan otomatis sertifikat SSL dengan menjalankan perintah di bawah ini.
sudo certbot memperbarui --dry-runKeluaran:
Menyimpan log debug ke /var/log/letsencrypt/letsencrypt.log- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Memproses /etc/letsencrypt/renewal/itzgeek.net.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Akun terdaftar. Mensimulasikan pembaruan sertifikat yang ada untuk itzgeek.net dan www.itzgeek.net- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Selamat, semua pembaruan simulasi berhasil:/etc/letsencrypt/live/itzgeek.net/fullchain.pem (berhasil)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Jika output mengonfirmasi bahwa pembaruan uji berhasil, pembaruan otomatis akan terjadi seperti yang diharapkan.
Kesimpulan
Itu saja. Saya harap Anda mempelajari cara Menginstal Let's Encrypt SSL Certificate di Apache di Debian 11.
Cara Instal WordPress dengan Apache dan Mari Enkripsi SSL di Debian 11 Cara Instal Drupal dengan Nginx dan Mari Enkripsi SSL di Debian 11Debian