Cara Setup Let’s Encrypt di Ubuntu Linux dengan Apache

Posting ini menunjukkan kepada siswa dan pengguna baru cara mengatur Let’s Encrypt sertifikat SSL gratis di Ubuntu Linux dengan server web Apache HTTP. Let’s Encrypt adalah otoritas sertifikat gratis, otomatis, dan terbuka yang dibuat oleh Internet Security Research Group (ISRG) nirlaba.

Alih-alih membeli sertifikat SSL untuk situs web Kamu dan aplikasi lain, seseorang dapat menggunakan Let’s mengenkripsi sertifikat SSL gratis untuk mengamankan portal web dan aplikasi mereka. Let’s Encrypt sertifikat SSL berlaku selama 90 hari. Namun, Kamu dapat membuat proses otomatis untuk memperbarui secara otomatis sebelum kedaluwarsa.

Jika Kamu akan mengoperasikan situs web atau perlu mengamankan aplikasi Kamu dengan HTTPS, maka sertifikat Let’s Encrypt sangat bagus. Kamu dapat menghemat banyak uang dengan menggunakannya.

Untuk posting ini, kita akan menggunakan Let’s Encrypt free SSL certificate untuk mengamankan situs web yang diberdayakan oleh Apache. Situs web Apache Kamu akan dapat berkomunikasi melalui HTTPS.

Untuk mulai menggunakan Let’s Encrypt di Ubuntu Linux untuk mengamankan Apache, ikuti langkah-langkah di bawah ini.

Cara menginstal Certbot di Ubuntu Linux

Certbot adalah alat baris perintah yang mengotomatiskan tugas memperoleh dan memperbarui sertifikat SSL Let’s Encrypt. Ada alat lain untuk melakukan tugas yang sama, tetapi Certbot efisien dan mudah digunakan.

Untuk menginstal Certbot di Ubuntu, jalankan perintah di bawah ini.

sudo apt update
sudo apt install certbot

Cara menghasilkan sertifikat Let’s Encrypt untuk Ubuntu Linux

Sekarang setelah Certbot terinstal, Kamu dapat mulai membuat sertifikat SSL Let’s Encrypt di Ubuntu Linux.

Untuk mengotomatiskan pembuatan dan pembaruan sertifikat, kita akan menggunakan plugin Webroot. Plugin ini menggunakan /.well-known/acme-challenge direktori di root server web untuk memvalidasi bahwa domain yang diminta diselesaikan ke server yang menjalankan Certbot.

Kami akan membuat Alias ​​​​tantangan/tanggapan untuk memungkinkan Let’s Encrypt memvalidasi server tempat sertifikat dibuat. Untuk melakukannya, jalankan perintah di bawah ini.

Untuk melakukannya, jalankan perintah di bawah ini untuk membuat file konfigurasi bernama well-known.conf dalam /etc/apache2/conf-available direktori. Direktori ini berisi semua konfigurasi yang ingin Kamu gunakan dengan server web Apache. Semua file konfigurasi secara otomatis disertakan dalam file konfigurasi utama Apache.

sudo nano /etc/apache2/conf-available/well-known.conf

Kemudian salin dan tempel konten di bawah ini ke dalam file dan simpan.

Alias /.well-known/acme-challenge/ "/var/www/html/.well-known/acme-challenge/"

<Directory "/var/www/html/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

File konfigurasi di atas memungkinkan Let’s Encrypt untuk memvalidasi server web menggunakan plugin Webroot.

Sebelum SSL dan HTTPS, file Apache VirtualHost biasanya akan terlihat seperti di bawah ini.

<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com
  ServerAdmin [email protected]
  DocumentRoot /var/www/example.com
    
  <Directory /var/www/example.com/>
       Options FollowSymlinks
       AllowOverride All
       Require all granted
  </Directory>

       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
    
</VirtualHost>

Cara menghasilkan grup Dh (Diffie-Hellman)

Pertukaran kunci Diffie–Hellman (DH) adalah metode pertukaran kunci kriptografi dengan aman. Di sebagian besar konfigurasi SSL, Kamu ingin membuat grup kunci Diffie-Hellman yang kuat.

Jalankan perintah di bawah ini untuk menghasilkan kunci di /etc/ssl/cert direktori di Ubuntu Linux.

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Cara mendapatkan sertifikat Let’s Encrypt di Ubuntu Linux

Pada titik ini, Kamu harus siap untuk mendapatkan sertifikat gratis dari Let’s Encrypt. Sebelum Kamu membuat sertifikat gratis, jalankan perintah di bawah ini untuk mengaktifkan modul Apache ini untuk SSL, Header, dan HTTP versi 2.

sudo a2enmod ssl
sudo a2enmod headers
sudo a2enmod http2

Aktifkan juga file konfigurasi yang kami buat di available-konf direktori.

sudo a2enconf well-known.conf

Setelah selesai, muat ulang Apache dengan menjalankan perintah di bawah ini.

sudo systemctl reload apache2

Sekarang Kamu siap membuat sertifikat Let’s Encrypt SSL. Jalankan perintah di bawah ini, ganti example.com dengan domain Kamu sendiri untuk menghasilkan sertifikat SSL Let’s Encrypt.

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/www/html -d example.com -d www.example.com

Pesan pembuatan sertifikat yang berhasil akan terlihat seperti di bawah ini:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2021-09-07. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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

Kamu sekarang dapat menggunakan sertifikat dan kunci dalam konfigurasi Apache VirtualHost Kamu.

Konfigurasi baru Kamu setelah menambahkan pengaturan SSL yang disarankan akan terlihat seperti di bawah ini:

<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com

  Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName example.com
  ServerAlias www.example.com
  DocumentRoot /var/www/example.com

  Protocols h2 http:/1.1

  <If "%{HTTP_HOST} == 'www.example.com'">
    Redirect permanent / https://example.com/
  </If>
  
  ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
  CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
  SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"
  
  SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

  SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
  SSLCompression off
  SSLUseStapling on

  Header always set Strict-Transport-Security "max-age=63072000"

  <Directory /var/www/example.com/>
       Options FollowSymlinks
       AllowOverride All
       Require all granted
  </Directory>
 
</VirtualHost>

Buat perubahan pada konfigurasi di atas agar sesuai dengan lingkungan Kamu. Namun, pengaturan di atas harus berfungsi di sebagian besar lingkungan Apache.

Cara Update Sertifikat Let’s Encrypt secara otomatis

Sekarang setelah sertifikat dibuat, Kamu dapat mengatur proses untuk memperbarui sertifikat secara otomatis. Secara default, itu kedaluwarsa dalam 90 hari. Menyiapkan proses sehingga Kamu tidak perlu mengingat untuk melakukan perpanjangan adalah pilihan terbaik.

Untuk memperbarui sertifikat secara otomatis sebelum kedaluwarsa, paket certbot membuat cronjob dan pengatur waktu systemd. Pengatur waktu akan secara otomatis memperbarui sertifikat 30 hari sebelum kedaluwarsa.

File crontab dibuat di lokasi di bawah ini.

cat /etc/cron.d/certbot

Jika Kamu membuat perubahan pada file, Kamu harus menyimpan dan keluar.

Kamu sekarang dapat menggunakan sertifikat dan file kunci yang dirujuk di atas dalam konfigurasi Apache Kamu untuk mengaktifkan HTTPS.

Kesimpulan

Posting ini menunjukkan cara menggunakan Let’s Encrypt free SSL certificate untuk mengamankan Apache HTTP Server. Jika Kamu menemukan kesalahan di atas atau memiliki sesuatu untuk ditambahkan, silakan gunakan formulir komentar di bawah untuk melakukannya.

5/5 - (30 votes)