Cara Pasang SSL di Apache

promo hosting cpanel

Belajar cara pasang SSL di Apache adalah langkah penting untuk mengamankan website dan meningkatkan kepercayaan pengunjung. Dengan SSL, koneksi antara server dan browser dienkripsi sehingga data pengguna terlindungi. Artikel ini memandu Anda cara pasang SSL di Apache dari awal hingga selesai, baik menggunakan Let’s Encrypt (gratis) maupun sertifikat berbayar.

Apa Itu SSL dan Mengapa Website Anda Membutuhkannya?

SSL (Secure Sockets Layer) adalah protokol keamanan yang mengenkripsi data antara web server dan browser pengguna. Website yang menggunakan SSL ditandai dengan ikon gembok di address bar dan menggunakan protokol HTTPS alih-alih HTTP.

Beberapa alasan mengapa SSL wajib dipasang:

  • Keamanan data — Enkripsi mencegah penyadapan data sensitif seperti password dan informasi kartu kredit.
  • Peringkat SEO lebih baik — Google memprioritaskan website HTTPS di hasil pencarian.
  • Kepercayaan pengunjung — Browser modern menampilkan peringatan “Not Secure” pada website tanpa SSL.
  • Kepatuhan regulasi — Beberapa industri mewajibkan enkripsi data pengguna.

Persiapan Sebelum Pasang SSL di Apache

Sebelum memulai proses instalasi, pastikan kondisi berikut sudah terpenuhi:

  • Server Linux dengan Apache 2.4+ sudah berjalan (Ubuntu/Debian/CentOS)
  • Akses root atau sudo ke server
  • Domain sudah diarahkan ke IP server (DNS sudah propagasi)
  • Port 80 dan 443 terbuka di firewall

Cek versi Apache terlebih dahulu dengan perintah: apache2 -v. Pastikan port 80 sudah terbuka dan bisa diakses dari internet — ini diperlukan oleh Certbot untuk verifikasi domain.

Cara Pasang SSL di Apache Menggunakan Let’s Encrypt (Gratis)

Let’s Encrypt adalah Certificate Authority (CA) gratis yang paling populer. Sertifikatnya valid 90 hari dan bisa diperbarui otomatis. Berikut cara pasang SSL di Apache menggunakan Certbot.

Langkah 1: Install Certbot dan Plugin Apache

Untuk Ubuntu/Debian:

sudo apt update
sudo apt install certbot python3-certbot-apache -y

Untuk CentOS/AlmaLinux/Rocky Linux:

sudo dnf install epel-release -y
sudo dnf install certbot python3-certbot-apache -y

Langkah 2: Aktifkan mod_ssl dan mod_rewrite

sudo a2enmod ssl
sudo a2enmod rewrite
sudo systemctl restart apache2

Langkah 3: Dapatkan dan Pasang Sertifikat SSL

Jalankan perintah berikut, ganti yourdomain.com dengan domain Anda:

sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

Certbot akan meminta email, persetujuan ToS, lalu tawaran redirect HTTP ke HTTPS otomatis. Pilih opsi 2 (Redirect) — sangat direkomendasikan untuk keamanan dan SEO.

Langkah 4: Verifikasi Auto-Renewal

Sertifikat Let’s Encrypt berlaku 90 hari. Certbot otomatis menambahkan cron job. Tes pembaruannya:

sudo certbot renew --dry-run

Cara Pasang SSL Manual di Apache (Sertifikat Berbayar)

Jika Anda menggunakan sertifikat SSL berbayar dari provider lain seperti DigiCert atau Sectigo, ikuti cara pasang SSL di Apache secara manual berikut ini.

Aktifkan Modul SSL Apache

# Ubuntu/Debian
sudo a2enmod ssl
sudo systemctl restart apache2

# CentOS/AlmaLinux
sudo dnf install mod_ssl -y
sudo systemctl restart httpd

Upload dan Atur Permission File Sertifikat

sudo mkdir -p /etc/ssl/yourdomain
sudo cp yourdomain.crt /etc/ssl/yourdomain/
sudo cp yourdomain.key /etc/ssl/yourdomain/
sudo cp ca_bundle.crt /etc/ssl/yourdomain/
sudo chmod 600 /etc/ssl/yourdomain/yourdomain.key
sudo chmod 644 /etc/ssl/yourdomain/yourdomain.crt

Konfigurasi Virtual Host SSL di Apache

Buat file konfigurasi Virtual Host baru untuk port 443:

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

    SSLEngine on
    SSLCertificateFile /etc/ssl/yourdomain/yourdomain.crt
    SSLCertificateKeyFile /etc/ssl/yourdomain/yourdomain.key
    SSLCertificateChainFile /etc/ssl/yourdomain/ca_bundle.crt

    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
    SSLHonorCipherOrder off
    SSLSessionTickets off
</VirtualHost>

<VirtualHost *:80>
    ServerName yourdomain.com
    Redirect permanent / https://yourdomain.com/
</VirtualHost>

Aktifkan Konfigurasi dan Restart Apache

sudo a2ensite yourdomain-ssl.conf
sudo apache2ctl configtest
sudo systemctl restart apache2

Pastikan perintah configtest menampilkan Syntax OK sebelum restart.

Verifikasi Instalasi SSL Apache

Setelah instalasi, verifikasi SSL sudah berjalan dengan benar menggunakan beberapa cara berikut:

  1. Buka browser dan akses https://yourdomain.com — pastikan muncul ikon gembok di address bar.
  2. Gunakan SSL Labs SSL Test untuk mendapatkan rating keamanan (targetkan A atau A+).
  3. Cek via terminal: curl -vI https://yourdomain.com 2>&1 | grep -E "SSL|issuer|expire"

Troubleshooting Masalah Umum SSL di Apache

Error: Certificate verification failed

Pastikan file CA Bundle sudah dikonfigurasi dengan benar di direktif SSLCertificateChainFile. File chain harus berisi sertifikat intermediate dari CA Anda.

Error: SSL_ERROR_RX_RECORD_TOO_LONG

Terjadi karena Virtual Host port 443 tidak dikonfigurasi dengan benar. Pastikan SSLEngine on ada di blok VirtualHost port 443, bukan port 80.

Mixed Content Warning

Terjadi ketika halaman HTTPS memuat resource (gambar, script, CSS) via HTTP. Aktifkan mod_headers dan tambahkan header berikut:

sudo a2enmod headers
# Di konfigurasi VirtualHost SSL:
Header always set Content-Security-Policy "upgrade-insecure-requests"
sudo systemctl restart apache2

Sertifikat Let’s Encrypt Tidak Bisa Diperbarui

Pastikan port 80 terbuka dan domain masih mengarah ke server, lalu jalankan: sudo certbot renew --force-renewal

Tips Keamanan Setelah Pasang SSL di Apache

Tambahkan header keamanan berikut di konfigurasi VirtualHost SSL Anda untuk meningkatkan rating keamanan:

# HTTP Strict Transport Security (HSTS)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

# Mencegah clickjacking
Header always set X-Frame-Options "SAMEORIGIN"

# Mencegah MIME sniffing
Header always set X-Content-Type-Options "nosniff"

Kesimpulan

Cara pasang SSL di Apache terbilang cukup mudah, terutama menggunakan Certbot dan Let’s Encrypt yang menangani hampir semua konfigurasi secara otomatis. Untuk sertifikat berbayar, prosesnya sedikit lebih manual tapi bisa selesai dalam beberapa menit.

Setelah SSL terpasang, verifikasi dengan SSL Labs dan tambahkan security headers untuk mendapatkan rating A+. Butuh VPS handal untuk menjalankan web server Apache Anda? Cek paket VPS Computing ID — IP dedicated, uptime tinggi, dan performa optimal untuk website Anda.

promo vps
Previous Article

Cara Exclude Package Update di AlmaLinux

Write a Comment

Leave a Comment

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