Dalam panduan ini, Anda akan mempelajari cara menginstal sertifikat SSL pada Apache, langkah demi langkah. Instruksi ini berlaku untuk Apache 2.4, lini rilis stabil saat ini.
Daftar Isi
- Cara membuat kode CSR pada Apache?
- Instal sertifikat SSL pada Apache
- Uji instalasi SSL Anda
- Di mana membeli sertifikat SSL untuk Apache?
Cara membuat kode CSR pada Apache?
Certificate Signing Request, atau singkatnya CSR, adalah file teks kecil yang berisi informasi tentang kepemilikan domain dan/atau perusahaan Anda. Membuat CSR merupakan bagian integral dari proses pembelian SSL, dan semua Certificate Authority komersial mengharuskan pemohon SSL untuk menyelesaikan langkah ini.
Anda memiliki dua pilihan:
- Buat CSR secara otomatis menggunakan CSR Generator kami.
- Ikuti tutorial langkah demi langkah kami tentang cara membuat CSR pada Apache.
Instal sertifikat SSL pada Apache
Setelah Certificate Authority menandatangani dan mengirimkan sertifikat SSL kepada Anda, Anda dapat menginstalnya dengan aman di server Apache Anda. Ikuti langkah-langkah di bawah ini.
Langkah 1: Siapkan file sertifikat Anda
Unduh dan ekstrak file dari folder ZIP yang Anda terima dari Certificate Authority Anda. Biasanya Anda akan menemukan:
- File .crt – sertifikat SSL utama Anda.
- File .ca-bundle – sertifikat intermediate (dan root) yang membentuk rantai kepercayaan. Rantai ini diperlukan agar browser dan aplikasi dapat memverifikasi sertifikat Anda. Tanpanya, beberapa klien mungkin menandai situs Anda sebagai tidak aman.
Unggah file-file ini, bersama dengan private key (.key) yang Anda buat bersamaan dengan CSR Anda, ke direktori yang aman di server Anda, misalnya /etc/ssl/. Jaga agar private key hanya dapat dibaca oleh root (chmod 600).
Direkomendasikan (Apache 2.4.8 dan yang lebih baru): gabungkan sertifikat Anda dan CA bundle menjadi satu file “full chain”. Sejak Apache 2.4.8, direktif SSLCertificateFile memuat sertifikat intermediate langsung dari file ini, itulah mengapa direktif SSLCertificateChainFile yang lama tidak lagi diperlukan:
cat your_domain.crt your_domain.ca-bundle > your_domain_fullchain.crt
Jika CA Anda mengirimkan sertifikat intermediate sebagai file terpisah, gabungkan dengan sertifikat Anda terlebih dahulu, diikuti oleh intermediate yang diurutkan dari yang menandatangani sertifikat Anda hingga ke root (sertifikat root itu sendiri bersifat opsional):
cat your_domain.crt intermediate.crt root.crt > your_domain_fullchain.crt
Misalnya, saat menginstal sertifikat Sectigo PositiveSSL, Anda akan menggabungkan sertifikat domain Anda dengan bundle intermediate Sectigo. Selalu gunakan nama file yang tepat seperti yang diberikan oleh CA Anda.
Langkah 2: Aktifkan modul SSL (mod_ssl)
Sebelum mengonfigurasi HTTPS, pastikan modul SSL Apache sudah diaktifkan.
Pada Debian/Ubuntu, aktifkan mod_ssl (dan mod_headers, yang akan Anda butuhkan untuk header HSTS pada Langkah 4):
sudo a2enmod ssl
sudo a2enmod headers
Pada RHEL/CentOS/AlmaLinux/Rocky Linux, instal paket modul SSL (modul akan dimuat secara otomatis setelah diinstal):
sudo dnf install mod_ssl
Langkah 3: Temukan file konfigurasi Apache
Bergantung pada sistem operasi dan versi Apache Anda, konfigurasi mungkin berada di file yang berbeda. Cari httpd.conf, apache2.conf, atau file konfigurasi SSL/situs khusus, di salah satu lokasi berikut:
- Debian/Ubuntu: konfigurasi utama /etc/apache2/apache2.conf; konfigurasi per-situs di /etc/apache2/sites-available/.
- RHEL/CentOS/AlmaLinux/Rocky: konfigurasi utama /etc/httpd/conf/httpd.conf; konfigurasi SSL /etc/httpd/conf.d/ssl.conf.
Catatan: Jika server Apache Anda berjalan di Ubuntu, Anda juga dapat mengikuti instruksi instalasi SSL khusus untuk Ubuntu kami.
Langkah 4: Konfigurasikan virtual host
Pertama, buat cadangan file konfigurasi Anda saat ini. Dengan cara ini, jika terjadi kesalahan, Anda dapat dengan cepat mengembalikan perubahan Anda:
sudo cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.backup
Sekarang buka file konfigurasi dan atur virtual host HTTPS (port 443). Virtual host modern yang lengkap terlihat seperti ini:
<VirtualHost *:443>
ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example
SSLEngine on
# Apache 2.4.8+ : server certificate + intermediate chain in ONE file
SSLCertificateFile /etc/ssl/example_com_fullchain.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
# Recommended TLS hardening (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# Tell browsers to always use HTTPS (enable only after HTTPS works)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
Ganti example.com, document root, dan jalur file dengan nilai Anda sendiri. Berikut adalah fungsi dari direktif-direktif utama:
- SSLEngine on – mengaktifkan SSL/TLS untuk virtual host ini.
- SSLCertificateFile – jalur ke file full-chain Anda (sertifikat + intermediate) yang dibuat pada Langkah 1. Pada Apache 2.4.8+ direktif tunggal ini menggantikan SSLCertificateChainFile yang sudah usang.
- SSLCertificateKeyFile – jalur ke private key Anda, yang dibuat bersamaan dengan CSR.
- SSLProtocol -all +TLSv1.2 +TLSv1.3 – menonaktifkan protokol SSL/TLS lama yang tidak aman dan hanya mengizinkan TLS 1.2 dan TLS 1.3.
- Strict-Transport-Security (HSTS) – menginstruksikan browser untuk terhubung hanya melalui HTTPS. Memerlukan mod_headers (diaktifkan pada Langkah 2). Aktifkan hanya setelah Anda memastikan HTTPS berfungsi dengan benar.
Pastikan tidak ada baris yang diawali dengan # (yang akan menjadikannya komentar). Pada Debian/Ubuntu, ${APACHE_LOG_DIR} merujuk ke /var/log/apache2; pada sistem berbasis RHEL gunakan /var/log/httpd/ sebagai gantinya.
Server lama: Jika Anda masih menggunakan versi Apache yang lebih lama dari 2.4.8, simpan sertifikat dan chain dalam file terpisah dan tambahkan direktif yang sudah usang SSLCertificateChainFile /etc/ssl/example_com.ca-bundle di bawah SSLCertificateFile. Pada server modern mana pun, pendekatan full-chain di atas lebih disarankan.
Penguatan lanjutan (opsional): untuk cipher suite yang lebih kuat dan OCSP stapling, buat konfigurasi yang disesuaikan dengan Mozilla SSL Configuration Generator. OCSP stapling juga memerlukan direktif SSLStaplingCache dalam konfigurasi global Apache Anda.
Langkah 5: Alihkan HTTP ke HTTPS
Untuk memastikan pengunjung selalu mengakses versi aman situs Anda, tambahkan virtual host kedua pada port 80 yang secara permanen mengalihkan semua lalu lintas HTTP ke HTTPS:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
Langkah 6: Uji konfigurasi Anda dan mulai ulang Apache
Selalu uji konfigurasi Anda sebelum memulai ulang. Kesalahan sintaks dapat membuat situs Anda offline, jadi jalankan:
sudo apachectl configtest
Jika semuanya benar, Anda akan melihat:
Syntax OK
Sekarang terapkan perubahan dengan memuat ulang Apache (reload mengaktifkan konfigurasi baru tanpa memutus koneksi yang ada):
sudo systemctl reload apache2 # Debian/Ubuntu
sudo systemctl reload httpd # RHEL/CentOS/AlmaLinux/Rocky
Jika reload tidak cukup, mulai ulang layanan sebagai gantinya (sudo systemctl restart apache2 atau httpd). Pada sistem lama tanpa systemd, gunakan sudo apachectl graceful.
Jika instalasi berhasil, selamat! Situs web Anda kini telah diamankan dengan SSL/TLS.
Uji instalasi SSL Anda
Setelah menginstal sertifikat SSL pada Apache, verifikasi bahwa semuanya berfungsi sebagaimana mestinya. Pemindaian instan akan mengungkapkan kesalahan atau kerentanan apa pun yang dapat memengaruhi kinerja sertifikat Anda. Gunakan alat SSL Checker kami untuk memeriksa status instalasi Anda.
Anda juga dapat mengonfirmasi sertifikat dan rantainya langsung dari command line:
openssl s_client -connect www.example.com:443 -servername www.example.com
Di mana membeli sertifikat SSL untuk Apache?
Tempat terbaik untuk mendapatkan sertifikat SSL untuk Apache adalah dari SSL Dragon. Kami menawarkan harga dan diskon terbaik di seluruh rangkaian produk SSL kami, dan kami telah memilih dengan cermat merek SSL terbaik di pasar untuk melengkapi situs web Anda dengan perlindungan yang kokoh. Semua sertifikat SSL kami kompatibel dengan Apache. Dapatkan sertifikat SSL sekarang!
Perlu diingat bahwa masa berlaku sertifikat SSL/TLS semakin singkat: masa berlaku maksimum turun menjadi 200 hari pada Maret 2026, 100 hari pada 2027, dan hanya 47 hari pada 2029. Siklus hidup yang lebih pendek berarti pembaruan yang lebih sering, sehingga ada baiknya merencanakan proses pembaruan (dan otomatisasi) Anda sejak dini.
Pertanyaan yang Sering Diajukan
SSL (Secure Sockets Layer), yang kini digantikan oleh TLS (Transport Layer Security), adalah protokol kriptografi yang mengenkripsi komunikasi antara dua titik akhir jaringan, misalnya server web seperti Apache dan browser pengguna.
Pada distribusi Debian dan Ubuntu, cari direktif protokol SSL dalam konfigurasi:grep -ir SSLProtocol /etc/apache2/
Jika SSL sudah dikonfigurasi, Anda akan melihat output yang mirip dengan:/etc/apache2/mods-available/ssl.conf:SSLProtocol +TLSv1.2 +TLSv1.3
Anda juga dapat mengonfirmasi bahwa modul SSL telah dimuat ke dalam server yang berjalan:apachectl -M | grep ssl
File konfigurasi mungkin berada di lokasi yang berbeda tergantung pada OS dan pengaturan Anda. Pada Debian/Ubuntu, periksa /etc/apache2/apache2.conf dan file per-situs di /etc/apache2/sites-available/. Pada RHEL/CentOS/AlmaLinux/Rocky, periksa /etc/httpd/conf/httpd.conf dan /etc/httpd/conf.d/ssl.conf.
SSLCertificateFile menunjuk ke sertifikat server Anda. Sejak Apache 2.4.8, file yang sama juga dapat menyimpan sertifikat intermediate, sehingga menyajikan rantai yang lengkap. SSLCertificateChainFile adalah cara lama untuk menyediakan intermediate tersebut secara terpisah, tetapi telah dihapus sejak Apache 2.4.8. Pada server modern mana pun, tempatkan sertifikat dan intermediate dalam satu file dan referensikan hanya dengan SSLCertificateFile.
Hemat 10% untuk Sertifikat SSL saat memesan hari ini!
Penerbitan cepat, enkripsi kuat, kepercayaan peramban 99,99%, dukungan khusus, dan jaminan uang kembali 25 hari. Kode kupon: SAVE10

