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 -yUntuk CentOS/AlmaLinux/Rocky Linux:
sudo dnf install epel-release -y
sudo dnf install certbot python3-certbot-apache -yLangkah 2: Aktifkan mod_ssl dan mod_rewrite
sudo a2enmod ssl
sudo a2enmod rewrite
sudo systemctl restart apache2Langkah 3: Dapatkan dan Pasang Sertifikat SSL
Jalankan perintah berikut, ganti yourdomain.com dengan domain Anda:
sudo certbot --apache -d yourdomain.com -d www.yourdomain.comCertbot 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-runCara 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 httpdUpload 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.crtKonfigurasi 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 apache2Pastikan perintah configtest menampilkan Syntax OK sebelum restart.
Verifikasi Instalasi SSL Apache
Setelah instalasi, verifikasi SSL sudah berjalan dengan benar menggunakan beberapa cara berikut:
-
Buka browser dan akses
https://yourdomain.com— pastikan muncul ikon gembok di address bar. - Gunakan SSL Labs SSL Test untuk mendapatkan rating keamanan (targetkan A atau A+).
-
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 apache2Sertifikat 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.





