Memasang SSL Webserver Apache & Nginx dengan Certbot


NATVPS.id – Ketika mengelola server web, keamanan dan efisiensi adalah dua aspek yang tidak bisa diabaikan. Salah satu cara untuk meningkatkan keamanan adalah dengan menggunakan SSL/TLS, yang memungkinkan komunikasi terenkripsi antara server dan pengunjung.

Dalam tutorial ini, kita akan membahas cara mengonfigurasi VirtualHost di Apache2 dan mengamankan website menggunakan SSL gratis dari Let’s Encrypt dengan Certbot. Dengan langkah-langkah yang jelas dan mudah diikuti, kamu bisa memastikan bahwa situs webmu berjalan dengan aman menggunakan HTTPS.

Persyaratan

  • NAT VPS dengan OS Ubuntu/Debian
  • Domain yang sudah terdaftar dan Terdapat Record ke NAT VPS
  • Web Server (Apache2 dan Nginx)
  • Certbot

Setelah memastikan bahwa persyaratan minimum telah terpenuhi, mari lanjut ke Installasi dan Konfigurasi. Mari kita mulai!

Instalasi dan Konfigurasi Let’s Encrypt dengan Certbot untuk Apache2Â

Update packages

Sebelum instalasi Apache, pastikan untuk memperbarui repositori dan paket-paket yang ada di sistem.

apt update

blank

Install apache

Ketika membeli NAT VPS, biasanya web server Apache sudah terinstal secara default. Untuk memastikanya, kita bisa menggunakan mengetikan comand sebagai berikut systemctl status apache2.

#Install Apache
 apt install apache2
 
 #Melihat Service Apache
 systemctl status apache2

blank

Install Teks Editor

Untuk mempermudah kita ketika mengedit file nantinya, kita perlu menggunakan Teks EditorPada tutorial kali ini kita akan menggunakan nano.

apt install nano

Install Certbot

Sebelum mendapatkan sertifikat SSL dari Let’s Encrypt, kita perlu menginstal Certbot di server. Untuk itu, kita akan menggunakan repositori bawaan Ubuntu. Ada dua paket utama yang dibutuhkan:

  1. certbot – Alat utama untuk mengelola sertifikat SSL
  2. python3-certbot-apache – Plugin yang memungkinkan integrasi Certbot dengan Apache, sehingga proses penerbitan sertifikat dan konfigurasi HTTPS dapat dilakukan secara otomatis hanya dengan satu perintah.
apt install certbot python3-certbot-apache -y

blank

Menambahkan Domain Forwarding

Seperti biasa, untuk NAT VPS, pengaturan Domain Forwarding perlu dilakukan agarÂweb server dapat diakses dengandomain. Atur domain forwarding untuk port 80 dan 443 sehingga terlihat seperti pada gambar berikut :

blank

Membuat Konfigurasi VirtualHost Apache

Untuk dapat mengakses Web server kita menggunakan domain yang sudah ditambahkan dalam domain forwarding, kita perlu menggunakan VirtualHost agar setiap situs dapat diakses dengan konfigurasi yang tepat. Berikut adalah langkah-langkah untuk membuat dan mengaktifkan VirtualHost di Apache.

nano /etc/apache2/sites-available/abdulhalim.my.id.conf

Sesuaikan nama file konfigurasi VirtualHostÂsesuai nama file yang teman-teman inginkan. Disini Kami menggunakan nama domain sebagai nama konfigurasi VirtualHost.

Kemudian, copy Konfigurasi dibawah ini pada file VirtualHostdan sesuaikan dengan konfigurasi ServerName, ServerAlias, Dan DocumentRoot sesuai milik teman-teman.

<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot /var/www/html
 ServerName abdulhalim.my.id
 ServerAlias www.abdulhalim.my.id
 
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 
 RewriteEngine on
 RewriteCond %{SERVER_NAME} =www.abdulhalim.my.id [OR]
 RewriteCond %{SERVER_NAME} =abdulhalim.my.id
 RewriteRule ^ [END,NE,R=permanent]
 </VirtualHost>
 
 <VirtualHost *:443>
 ServerAdmin [email protected]
 DocumentRoot /var/www/html
 ServerName abdulhalim.my.id
 ServerAlias www.abdulhalim.my.id
 
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 
 <Directory /var/www/html>
 Options Indexes FollowSymLinks
 AllowOverride All
 Require all granted
 </Directory>
 Include /etc/letsencrypt/options-ssl-apache.conf
 SSLCertificateFile /etc/letsencrypt/live/abdulhalim.my.id/fullchain.pem
 SSLCertificateKeyFile /etc/letsencrypt/live/abdulhalim.my.id/privkey.pem
 </VirtualHost>

Selanjutnya simpan konfigurasi tersebut dengan menekan ctrl+x, Y, lalu enter. Kemudian untuk mengaktifkan konfigurasi tersebut jalankan perintah berikut :

a2ensite abdulhalim.my.id.conf
 systemctl reload apache2

Mendapatkan SSL Menggunakan Certbot

Certbot menawarkan beberapa metode untuk mendapatkan sertifikat SSL melalui berbagai plugin. Plugin Apache secara otomatis menangani konfigurasi ulang serta memuat ulang pengaturan Apache saat diperlukan. Untuk menggunakannya, jalankan perintah berikut:

certbot --apache

Setelah menjalankan perintah tersebut, certbot akan mengajukan beberapa pertanyaan untuk membantu mengonfigurasi sertifikat SSL. Pertama, Anda akan diminta memasukkan alamat email yang valid, yang akan digunakan untuk mengirim pemberitahuan terkait pembaruan dan keamanan.

Selanjutnya Certbot akan meminta konfirmasi mengenai domain yang ingin diaktifkan HTTPS-nya. Domain-domain tersebut otomatis terdeteksi dari konfigurasi VirtualHost Apache, sehingga penting memastikan ServerName dan ServerAlias sudah diatur dengan benar. Jika ingin mengaktifkan HTTPS untuk semua domain (disarankan), cukup tekan ENTER. Jika hanya untuk domain tertentu, masukkan nomor domain yang diinginkan, pisahkan dengan koma atau spasi, lalu tekan ENTER.

blank

Jika sudah, Selanjutnya masukan domain teman-teman pada browser yang disukai untuk memastikan bahwa SSL sudah aktif.

Instalasi dan Konfigurasi Let’s Encrypt dengan Certbot untuk Nginx

Untuk mendapatkan SSL pada web server nginx, langkah yang akan dilakukan hampir sama. Perbedaan-nya hanya pada plugin certbot yang digunakan, yaitu python3-certbot-nginx -y.ÂUntuk lebih jelasnya simak tutorial dibawah ini.

Install Nginx dan Konfigurasi VirtualHost

Sebelum menginstall Web server nginx, pastikan untuk memperbarui repositori dan paket-paket yang ada di sistem.

#Update Repository
 apt update
 
 #Install Nginx
 apt install nginx
 
 #Cek Service Nginx
 systemctl status nginx

blank

blank

Setelah Web server Nginx terinstall, selanjutnya kita edit file konfigurasi VirtualHostdefault dari nginx, dengan menambahkan server_name sesuai domain kita dan sesuaikan root dengan letak website kita.

Untuk mengedit file tersebut masukan perintah dibawah ini dan temukan baris sesuai pada gambar.

#Perintah edit File
 nano /etc/nginx/sites-available/default
 
 
#Konfigurasi VirtualHost
 server {
 
 root /var/www/html;
 
 # Add index.php to the list if you are using PHP
 index index.html index.htm index.nginx-debian.html;
 
 server_name abdulhalim.my.id www.abdulhalim.my.id;
 
 location / {
 # First attempt to serve request as file, then
 # as directory, then fall back to displaying a 404.
 try_files $uri $uri/ =404;
 }

blank

Selanjutnya, simpan konfigurasi dengan menekan CTRL+X, lalu Y, dan enter. Kemudian restart service nginx.

systemctl reload nginx

Menambahkan Domain Forwarding

Seperti biasa, untuk NAT VPS, pengaturan Domain Forwarding perlu dilakukan agarÂweb server dapat diakses dengandomain. Atur domain forwarding untuk port 80 dan 443 sehingga terlihat seperti pada gambar berikut :

blank

Install Certbot

Ada dua paket utama yang dibutuhkan:

  1. certbot – Alat utama untuk mengelola sertifikat SSL
  2. python3-certbot-nginx– Plugin yang memungkinkan integrasi Certbot dengan Nginx, sehingga proses penerbitan sertifikat dan konfigurasi HTTPS dapat dilakukan secara otomatis hanya dengan satu perintah.
apt install certbot python3-certbot-nginx -y

blank

Mendapatkan SSL Menggunakan Certbot

Certbot menawarkan beberapa metode untuk mendapatkan sertifikat SSL melalui berbagai plugin. Plugin Nginx secara otomatis menangani konfigurasi ulang serta memuat ulang pengaturan Nginx saat diperlukan. Untuk menggunakannya, jalankan perintah berikut:

 certbot --nginx

Setelah menjalankan perintah tersebut, certbot akan mengajukan beberapa pertanyaan untuk membantu mengonfigurasi sertifikat SSL. Pertama, Anda akan diminta memasukkan alamat email yang valid, yang akan digunakan untuk mengirim pemberitahuan terkait pembaruan dan keamanan.

Selanjutnya Certbot akan meminta konfirmasi mengenai domain yang ingin diaktifkan HTTPS-nya. Domain-domain tersebut otomatis terdeteksi dari konfigurasi VirtualHost Nginx, sehingga penting memastikan name_server sudah diatur dengan benar. Jika ingin mengaktifkan HTTPS untuk semua domain (disarankan), cukup tekan ENTER. Jika hanya untuk domain tertentu, masukkan nomor domain yang diinginkan, pisahkan dengan koma atau spasi, lalu tekan ENTER.

blank

Jika sudah, Selanjutnya masukan domain teman-teman pada browser yang disukai untuk memastikan bahwa SSL sudah aktif.

Penutup

Terima kasih telah mengikuti tutorial ini! Semoga bermanfaat, dan jangan lupa untuk selalu menjaga keamanan server kamu.



Hiburan

Berita Olahraga

News

Berita Terkini

Berita Terbaru

Berita Teknologi

Seputar Teknologi

Drama Korea

Resep Masakan

Pendidikan

Berita Terbaru

Berita Terbaru

Berita Terbaru

Lifestyle

Leave a Reply

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