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.
Setelah memastikan bahwa persyaratan minimum telah terpenuhi, mari lanjut ke Installasi dan Konfigurasi. Mari kita mulai!
Sebelum instalasi Apache, pastikan untuk memperbarui repositori dan paket-paket yang ada di sistem.
apt update
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
Untuk mempermudah kita ketika mengedit file nantinya, kita perlu menggunakan Teks Editor. Pada tutorial kali ini kita akan menggunakan nano.
apt install nano
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:
apt install certbot python3-certbot-apache -y
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 :
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 tes@abdulhalim.my.id
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 ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerAdmin tes@abdulhalim.my.id
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
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.
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.
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
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 :
Ada dua paket utama yang dibutuhkan:
apt install certbot python3-certbot-nginx -y
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.
Terima kasih telah mengikuti tutorial ini! Semoga bermanfaat, dan jangan lupa untuk selalu menjaga keamanan server kamu.
NATVPS.id – Gopeed (Go Speed) adalah aplikasi pengunduh modern bersifat open-source yang yang mendukung berbagai…
NATVPS.id – IPTV (Internet Protocol Television) adalah teknologi yang menyiarkan konten televisi, video, dan siaran…
NATVPS.id – Jellyfin adalah server media open-source yang memungkinkan Anda mengatur, melakukan streaming, dan mengelola…
NATVPS.id – Gitea adalah sebuah layanan hosting Git (pengelola repositori kode) open-source yang dapat di…
NATVPS.id – LibreOffice adalah perangkat lunak perkantoran (office) yang gratis, modern, dan open-source. LibreOffice dapat…
NATVPS.id – Pi-hole adalah software DNS Server yang berfokus pada pemblokiran iklan dan situs trackers.…