Dalam panduan ini, Anda akan mempelajari cara menginstal sertifikat SSL di Apache, langkah demi langkah. Petunjuk ini berlaku untuk Apache 2.4, lini rilis stabil saat ini.
Daftar Isi
- Bagaimana cara membuat kode CSR di Apache?
- Menginstal sertifikat SSL di Apache
- Menguji instalasi SSL Anda
- Di mana membeli sertifikat SSL untuk Apache?
Bagaimana cara membuat kode CSR di Apache?
Certificate Signing Request, atau cukup disebut CSR, adalah berkas 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 mewajibkan 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 di Apache.
Menginstal sertifikat SSL di 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 berkas sertifikat Anda
Unduh dan ekstrak berkas dari folder ZIP yang Anda terima dari Certificate Authority Anda. Biasanya Anda akan menemukan:
- Berkas .crt – sertifikat SSL utama Anda.
- Berkas .ca-bundle – sertifikat perantara (dan root) yang membentuk rantai kepercayaan. Rantai ini diperlukan agar peramban dan aplikasi dapat memverifikasi sertifikat Anda. Tanpanya, beberapa klien mungkin menandai situs Anda sebagai tidak aman.
Unggah berkas-berkas ini, bersama dengan private key (.key) yang Anda buat bersamaan dengan CSR, ke direktori yang aman di server Anda, misalnya /etc/ssl/. Pastikan private key hanya dapat dibaca oleh root (chmod 600).
Disarankan (Apache 2.4.8 dan yang lebih baru): gabungkan sertifikat Anda dan CA bundle menjadi satu berkas “full chain”. Sejak Apache 2.4.8, direktif SSLCertificateFile memuat sertifikat perantara langsung dari berkas ini, itulah sebabnya direktif lama SSLCertificateChainFile tidak lagi diperlukan:
cat your_domain.crt your_domain.ca-bundle > your_domain_fullchain.crt
Jika CA Anda memberikan sertifikat perantara sebagai berkas terpisah, gabungkan terlebih dahulu dengan sertifikat Anda, diikuti oleh sertifikat perantara yang diurutkan mulai 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 bundel perantara Sectigo. Selalu gunakan nama berkas yang tepat sebagaimana disediakan 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 perlukan untuk header HSTS di Langkah 4):
sudo a2enmod ssl
sudo a2enmod headers
Pada RHEL/CentOS/AlmaLinux/Rocky Linux, instal paket modul SSL (modul akan dimuat secara otomatis setelah terinstal):
sudo dnf install mod_ssl
Langkah 3: Temukan berkas konfigurasi Apache
Tergantung pada sistem operasi dan versi Apache Anda, konfigurasi mungkin berada di berkas yang berbeda. Cari httpd.conf, apache2.conf, atau berkas 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 petunjuk instalasi SSL khusus untuk Ubuntu kami.
Langkah 4: Konfigurasikan virtual host
Pertama, cadangkan berkas konfigurasi Anda saat ini. Dengan begitu, 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 berkas konfigurasi dan siapkan virtual host HTTPS (port 443). Virtual host lengkap dan modern akan terlihat seperti ini:
<VirtualHost *:443>
ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example
SSLEngine on
# Apache 2.4.8+ : sertifikat server + rantai perantara dalam SATU berkas
SSLCertificateFile /etc/ssl/example_com_fullchain.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
# Pengerasan TLS yang direkomendasikan (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# Beri tahu peramban untuk selalu menggunakan HTTPS. Hapus tanda # di depan untuk mengaktifkan HSTS,
# tetapi hanya setelah Anda memastikan HTTPS berfungsi dengan benar:
# 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 berkas dengan nilai Anda sendiri. Berikut fungsi dari direktif-direktif kunci ini:
- SSLEngine on – mengaktifkan SSL/TLS untuk virtual host ini.
- SSLCertificateFile – jalur ke berkas full-chain Anda (sertifikat + perantara) 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) – memerintahkan peramban 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 ini yang dimulai dengan # (yang akan menjadikannya komentar). Pada Debian/Ubuntu, ${APACHE_LOG_DIR} mengarah ke /var/log/apache2; pada sistem berbasis RHEL gunakan /var/log/httpd/ sebagai gantinya.
Server lawas: Jika Anda masih menggunakan versi Apache yang lebih lama dari 2.4.8, simpan sertifikat dan rantainya dalam berkas terpisah dan tambahkan direktif usang SSLCertificateChainFile /etc/ssl/example_com.ca-bundle di bawah SSLCertificateFile. Pada server modern mana pun, pendekatan full-chain di atas lebih disarankan.
Pengerasan lanjutan (opsional): untuk cipher suite yang lebih kuat dan OCSP stapling, buat konfigurasi khusus dengan Mozilla SSL Configuration Generator. OCSP stapling juga memerlukan direktif SSLStaplingCache dalam konfigurasi Apache global Anda.
Aktifkan situs: Pada Debian/Ubuntu, virtual host yang ditempatkan di /etc/apache2/sites-available/ tidak akan dimuat sampai Anda mengaktifkannya. Jika Anda menyimpan konfigurasi ini sebagai berkas baru (misalnya example-ssl.conf), aktifkan dengan:
sudo a2ensite example-ssl.conf
Anda juga dapat mengedit default-ssl.conf bawaan, tetapi berkas ini pun harus diaktifkan dengan a2ensite default-ssl. Pada RHEL/CentOS/AlmaLinux/Rocky, berkas dalam /etc/httpd/conf.d/ dimuat secara otomatis — tetapi perlu diperhatikan bahwa ssl.conf sudah menyertakan blok <VirtualHost _default_:443> bawaan dengan sertifikat self-signed, jadi sebaiknya edit blok tersebut atau tambahkan virtual host Anda sebagai berkas terpisah seperti /etc/httpd/conf.d/yourdomain.conf untuk menghindari dua host port-443 yang saling tumpang tindih.
Langkah 5: Alihkan HTTP ke HTTPS
Untuk memastikan pengunjung selalu mengakses versi situs Anda yang aman, tambahkan virtual host kedua pada port 80 yang secara permanen mengalihkan semua trafik 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 sintaksis 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 (memuat ulang akan mengaktifkan konfigurasi baru tanpa memutus koneksi yang sudah ada):
sudo systemctl reload apache2 # Debian/Ubuntu
sudo systemctl reload httpd # RHEL/CentOS/AlmaLinux/Rocky
Jika memuat ulang saja 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 terlindungi dengan SSL/TLS.
Menguji instalasi SSL Anda
Setelah menginstal sertifikat SSL Anda di Apache, verifikasi bahwa semuanya berfungsi sebagaimana mestinya. Pemindaian instan akan mengungkap 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 baris perintah:
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 dengan cermat memilih merek SSL terbaik di pasaran untuk melengkapi situs web Anda dengan perlindungan yang tangguh. Semua sertifikat SSL kami kompatibel dengan Apache. Dapatkan sertifikat SSL sekarang!
Perlu diingat bahwa masa berlaku sertifikat SSL/TLS semakin diperpendek: 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, jadi sebaiknya rencanakan proses pembaruan Anda (dan otomatisasinya) 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 peramban 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 serupa dengan:/etc/apache2/mods-available/ssl.conf:SSLProtocol +TLSv1.2 +TLSv1.3
Anda juga dapat memastikan bahwa modul SSL telah dimuat ke server yang berjalan:apachectl -M | grep ssl
Berkas konfigurasi dapat berada di lokasi yang berbeda tergantung pada OS dan pengaturan Anda. Pada Debian/Ubuntu, periksa /etc/apache2/apache2.conf dan berkas 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 mengarah ke sertifikat server Anda. Sejak Apache 2.4.8, berkas yang sama juga dapat menyimpan sertifikat perantara, sehingga menyediakan rantai yang lengkap. SSLCertificateChainFile adalah cara lama untuk menyediakan sertifikat perantara tersebut secara terpisah, tetapi telah usang sejak Apache 2.4.8. Pada server modern mana pun, letakkan sertifikat dan perantara dalam satu berkas dan rujuk 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

