GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Let's Encrypt SSL di Apache di Debian 11

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.

  1. http://itzgeek.net>> https://itzgeek.net
  2. 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.conf

Tambahkan 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 Apache2

Verifikasi Let's Encrypt Certificate

Anda dapat memverifikasi sertifikat Let's Encrypt dengan mengunjungi situs web Anda.

http://situs-http-Anda

ATAU

https://your-https-web-site

Anda 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.net

Perbarui 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-run

Keluaran:

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.


Debian
  1. Cara Menginstal Apache Maven di Debian 10

  2. Cara Menginstal Apache Maven di Debian 11

  3. Cara Menginstal Let's Encrypt SSL dengan Apache di Debian 11

  1. Cara Instal Apache di Debian 9

  2. Cara Instal Apache Cassandra di Debian 9

  3. Cara Menginstal Apache ActiveMQ di Debian 10

  1. Cara Menginstal Joomla dengan Apache dan Mengenkripsi SSL di Debian 10

  2. Cara Instal Apache Tomcat 10 di Debian 10

  3. Cara Menginstal Apache Solr di Debian 11