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
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
Install Teks Editor
Untuk mempermudah kita ketika mengedit file nantinya, kita perlu menggunakan Teks Editor. Pada 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:
- certbot – Alat utama untuk mengelola sertifikat SSL
- 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
Menambahkan Domain Forwarding
Seperti biasa, untuk NAT VPS, pengaturan Domain Forwarding perlu dilakukan agar web server dapat diakses dengan domain. Atur domain forwarding untuk port 80 dan 443 sehingga terlihat seperti pada gambar berikut :
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 VirtualHost dan 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.
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
Setelah Web server Nginx terinstall, selanjutnya kita edit file konfigurasi VirtualHost default 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; }
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 dengan domain. Atur domain forwarding untuk port 80 dan 443 sehingga terlihat seperti pada gambar berikut :
Install Certbot
Ada dua paket utama yang dibutuhkan:
- certbot – Alat utama untuk mengelola sertifikat SSL
- 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
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.
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.
Gaming Center
Berita Olahraga
Berita Olahraga
Anime Batch
News
Pelajaran Sekolah
Berita Terkini
Berita Terkini
Review Film
A gaming center is a dedicated space where people come together to play video games, whether on PCs, consoles, or arcade machines. These centers can offer a range of services, from casual gaming sessions to competitive tournaments.