bg-tutorials

Cara Menginstal Sertifikat SSL di Joomla dan Memaksa HTTPS

Memindahkan situs Joomla ke HTTPS membutuhkan tiga langkah: instal sertifikat SSL di server Anda, atur Force HTTPS di Global Configuration Joomla, dan tambahkan pengalihan 301 agar tautan HTTP lama tetap diikuti. Langkah ketiga memiliki kendala khusus Joomla yang membuat sebagian besar orang tersandung, dan dibahas di bawah sebelum kode ditampilkan.

Jawaban singkat: instal sertifikat melalui panel hosting Anda, lalu buka System > Global Configuration > Server dan atur Force HTTPS ke Entire Site. Untuk menambahkan pengalihan di level server, pertama ubah nama htaccess.txt di root Joomla Anda menjadi .htaccess, karena Apache mengabaikan file tersebut dengan nama aslinya.

SSL (singkatan dari Secure Sockets Layer, meskipun setiap sertifikat yang diterbitkan saat ini menggunakan TLS) adalah hal yang menghilangkan label “Not Secure” dari address bar Anda. Jika Anda ingin memahami latar belakangnya terlebih dahulu, baca apa itu sertifikat SSL. Langkah-langkah ini berlaku untuk Joomla 5 dan Joomla 6.

Metode mana yang cocok untuk pengaturan Joomla Anda

Pengaturan AndaCara mendapatkan sertifikatPerkiraan durasi
Hosting terkelola atau cPanel dengan AutoSSLTerbitkan sertifikat gratis di panel, lalu atur Force HTTPS10 menit
Hosting tanpa alat SSL, atau VPS Anda sendiriCertbot untuk sertifikat Let’s Encrypt, lalu atur Force HTTPS20 menit
Sertifikat berbayar (OV, EV atau wildcard)Buat CSR, instal secara manual, lalu atur Force HTTPS30 menit ditambah validasi
Cloudflare di depan situs AndaSertifikat di origin, Cloudflare diatur ke Full (strict), dan Behind Load Balancer diaktifkan15 menit

Buat cadangan sebelum Anda memulai. Akeeba Backup adalah pilihan yang biasa digunakan di Joomla. Mode kegagalan dari prosedur ini adalah kehilangan akses ke administrator Anda sendiri, dan cadangan ditambah langkah pemulihan di bagian configuration.php di bawah ini akan membantu Anda keluar dari situasi tersebut.

Sertifikat SSL mana yang sebaiknya digunakan situs Joomla?

Mulailah dengan opsi gratis. Sebagian besar hosting menerbitkan sertifikat Let’s Encrypt gratis secara otomatis, dan enkripsi yang disediakan sertifikat gratis identik dengan yang berbayar. Yang membedakan satu sertifikat SSL Joomla dengan yang lain adalah apa yang diverifikasi oleh otoritas sertifikat sebelum menerbitkannya, dan apa yang Anda dapatkan ketika sesuatu tidak berjalan sesuai rencana.

JenisYang diperiksa CADiterbitkan dalamCocok untuk
Domain Validation (DV)Bahwa Anda mengontrol domainBeberapa menitBlog, situs brosur, sebagian besar instalasi Joomla
Organization Validation (OV)Domain ditambah organisasi terdaftar Anda1 hingga 3 hari kerjaSitus bisnis, area anggota, portal klien
Extended Validation (EV)Pemeriksaan legal dan operasional lengkap terhadap perusahaan1 hingga 3 hari kerjaToko, keuangan, di mana pun identitas menjadi penting

Jika instalasi Joomla Anda melayani subdomain, sertifikat wildcard mencakup semuanya dengan satu sertifikat. Tidak yakin jenis mana yang berlaku? SSL Wizard mempersempit pilihannya hanya dengan beberapa pertanyaan.

Sertifikat gratis berhenti menjadi jawaban yang tepat dalam empat kasus: Anda menerima pembayaran dan ingin ada garansi di balik sertifikat, Anda memerlukan detail organisasi terverifikasi di dalamnya bukan hanya kontrol domain, Anda menjalankan subdomain dan penerbitan wildcard gratis merepotkan di hosting Anda, atau hosting Anda tidak mengotomatiskan perpanjangan. Poin terakhir itu lebih penting daripada yang orang kira, dan bagian berikutnya menjelaskan alasannya.

Pasang sertifikat ke server Anda

Joomla tidak menginstal sertifikat. Langkah ini terjadi di server, sebelum Anda menyentuh Joomla sama sekali.

Dari panel hosting Anda

Cari SSL/TLS, Let’s Encrypt atau AutoSSL di panel kontrol Anda. Di cPanel ini terletak di bawah Security. Terbitkan sertifikat untuk domain apex dan versi www, atau mana pun yang terlewat akan menampilkan peringatan ketidaksesuaian nama.

Sertifikat Let’s Encrypt berlaku selama 90 hari dan dimaksudkan untuk diperpanjang secara otomatis sekitar 30 hari sebelum kedaluwarsa. Ketika otomatisasi itu rusak, biasanya setelah perpindahan domain atau perubahan DNS, situs tetap berfungsi selama beberapa minggu dan kemudian menjadi tidak aman tanpa peringatan. Pastikan perpanjangan otomatis diaktifkan, dan setelah tanggal perpanjangan pertama yang diharapkan, periksa sertifikat dengan SSL Checker. Jika tanggal kedaluwarsa bergerak maju, perpanjangan berfungsi dengan baik.

Di VPS tanpa panel

Gunakan Certbot, klien Let’s Encrypt. Ini menerbitkan sertifikat dari command line, mengonfigurasi Apache atau Nginx, dan memasang timer perpanjangannya sendiri.

Menginstal sertifikat berbayar secara manual

Jangan lewatkan sertifikat intermediate. Instal sertifikat utama tanpa chain dan sebagian besar browser desktop masih menampilkan gembok, karena mereka menyimpan cache intermediate yang pernah dilihat di tempat lain. Browser mobile, payment gateway, dan klien API akan gagal. Jika masalah chain adalah yang Anda hadapi, lihat sertifikat intermediate yang kedaluwarsa.

Cara memaksa HTTPS di Joomla

Dengan sertifikat yang berfungsi di server, beri tahu Joomla untuk menggunakannya. Masuk ke administrator dan buka System > Global Configuration > Server. Di blok Server di bagian atas tab tersebut Anda akan menemukan Force HTTPS, dan opsi ini memiliki tiga status bukan sekadar aktif dan nonaktif.

  • None. Joomla tidak melakukan apa pun. Halaman tetap dapat diakses melalui HTTP dan HTTPS.
  • Administrator Only. Administrator, termasuk halaman login-nya, dipaksa ke HTTPS, sedangkan situs publik dibiarkan apa adanya. Ini adalah status yang digunakan saat sertifikat masih dalam proses validasi, atau pada situs yang Anda migrasikan secara bertahap. Kata sandi Anda sendiri berhenti berpindah secara terbuka segera, tanpa mengubah apa pun yang dilihat pengunjung.
  • Entire Site. Semuanya dipaksa ke HTTPS. Ini yang Anda inginkan setelah sertifikat dipastikan berfungsi.

Pilih Entire Site dan simpan. Pastikan sertifikat sudah dapat diakses pada domain Anda sebelum melakukan ini. Jika Force HTTPS diaktifkan sementara sertifikat rusak atau tidak ada, administrator juga akan menjadi tidak dapat diakses, dan Anda akan membutuhkan langkah pemulihan di bawah ini.

Instruksi ini ditujukan untuk Joomla 5 dan Joomla 6, dua cabang yang didukung. Joomla 6.0 dirilis pada Oktober 2025, dan Joomla 5 berhenti menerima pembaruan fungsional pada 13 Oktober 2026, setelah itu hanya patch keamanan hingga Oktober 2027. Jika Anda masih menggunakan Joomla 3, versi tersebut telah mencapai akhir masa pakainya pada Agustus 2023 dan pengaturannya berada di tempat yang berbeda, jadi lakukan pembaruan sebelum mengikuti apa pun di sini.

Atur Force HTTPS dari configuration.php

Setiap pengaturan di Global Configuration disimpan di configuration.php di root Joomla Anda. Mengedit file tersebut melalui FTP adalah cara untuk mendapatkan kembali akses saat Force HTTPS mengunci Anda dari administrator, yang justru merupakan situasi ketika dropdown tidak lagi dapat diakses.

Baris yang relevan adalah:

public $force_ssl = 2;

Nilai-nilai tersebut sesuai dengan tiga status: 0 adalah None, 1 adalah Administrator, dan 2 adalah baik situs maupun administrator. Mengaturnya kembali ke 0 melalui FTP membatalkan penguncian dalam hitungan detik.

Anda akan menemukan baris kedua di dekatnya:

public $live_site = '';

Banyak tutorial HTTPS Joomla menyarankan Anda mengisi baris ini dengan alamat https Anda, dan banyak dari mereka menulisnya sebagai var $live_site. Sintaks itu milik Joomla 1.5, yang menggunakan sintaks class PHP 4 dan sudah tidak digunakan sejak 2012. Joomla saat ini menggunakan public, dan pengaturan ini didokumentasikan sebagai opsional. Biarkan kosong kecuali Anda memiliki alasan khusus untuk mengunci URL situs. Ini bukan yang mengaktifkan HTTPS, dan mengaturnya dengan tidak benar adalah cara umum untuk merusak situs Joomla. $force_ssl adalah pengaturan yang benar-benar melakukan tugas tersebut.

Tambahkan pengalihan 301 di .htaccess

Force HTTPS menangani permintaan yang mencapai Joomla. Pengalihan di level server lebih cepat, karena terjadi sebelum PHP berjalan, dan tetap berfungsi meskipun Joomla sedang offline. Di Apache itu berarti .htaccess, dan berikut bagian yang hampir selalu dilewatkan oleh panduan-panduan lain.

Pertama, ubah nama htaccess.txt

Joomla mengirimkan file tersebut sebagai htaccess.txt, bukan .htaccess. Apache mengabaikannya dengan nama tersebut. Jika Anda menempelkan aturan pengalihan ke dalam file bernama htaccess.txt, atau ke dalam file .htaccess yang belum ada, tidak ada yang terjadi dan tidak ada error yang memberi tahu alasannya.

  • Ubah nama htaccess.txt menjadi .htaccess di root Joomla Anda. Jangan mengedit htaccess.txt dan membiarkannya tetap ada: pembaruan Joomla akan menimpa file itu dan perubahan Anda ikut hilang.
  • Lakukan pengubahan nama sebelum mengaktifkan Use URL Rewriting di Global Configuration. Mengaktifkan rewriting lebih dulu membuat Joomla mulai menghasilkan URL tanpa index.php yang tidak diketahui Apache cara merutenya, sehingga setiap halaman kecuali halaman utama mengembalikan 404.

Kemudian tambahkan pengalihan

Tambahkan baris-baris ini di bagian atas .htaccess, di atas blok rewrite Joomla sendiri:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Ada dua detail yang menentukan apakah ini berfungsi. Kondisinya harus off, yang berarti “alihkan ketika permintaan belum aman”. Jika ditulis sebagai on, yang muncul di sejumlah cuplikan kode yang dipublikasikan secara mengejutkan, aturan tersebut hanya berlaku pada permintaan yang sudah HTTPS dan mengirimnya kembali ke HTTPS, yang menjadi loop. Dan flag R=301 adalah yang menjadikannya pengalihan permanen. Tanpa flag itu, atau dengan R saja, Anda akan mendapatkan pengalihan sementara 302 atau rewrite internal yang tidak pernah memberi tahu mesin pencari bahwa sesuatu telah dipindahkan.

Di Nginx

Nginx tidak memiliki .htaccess dan tidak membaca aturan rewrite Apache. Edit server block sebagai gantinya:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Uji dengan nginx -t, lalu muat ulang dengan systemctl reload nginx.

Perbaiki apa yang ditinggalkan proses peralihan

Bersihkan cache Joomla. Ini adalah hal pertama yang harus dilakukan dan yang paling sering terlupakan. Joomla dengan senang hati akan terus menyajikan halaman cache yang penuh dengan markup HTTP, yang membuat migrasi yang sudah selesai terlihat rusak. Buka System > Clear Cache, di panel Maintenance, dan bersihkan CDN Anda juga jika Anda menggunakannya.

Perbaiki konten campuran. Halaman yang disajikan melalui HTTPS namun masih memuat gambar, skrip, atau stylesheet melalui HTTP adalah konten campuran (mixed content). Browser memperlakukan dua kategori tersebut secara berbeda: media biasanya dapat ditingkatkan, sehingga browser secara diam-diam meminta melalui HTTPS sebagai gantinya, sementara skrip dan stylesheet dapat diblokir dan langsung ditolak, itulah sebabnya halaman yang terpengaruh bisa muncul tanpa gaya sama sekali. Di Joomla sumber umumnya berupa URL hardcode di template override, pengaturan modul, dan ekstensi pihak ketiga. Konsol browser menunjukkan resource yang bermasalah. Panduan kami tentang cara memperbaiki konten campuran membahas diagnosisnya secara lengkap.

Perbarui sitemap dan robots.txt Anda. Buat ulang sitemap XML sehingga mencantumkan URL https, dan pastikan robots.txt tidak merujuk ke versi http dari apa pun.

Mengatasi masalah SSL Joomla

Terlalu banyak pengalihan setelah mengaktifkan Force HTTPS

Ini adalah kegagalan HTTPS Joomla yang paling umum, dan terjadi karena dua saran standar yang tidak kompatibel. Jika proxy seperti Cloudflare mengakhiri TLS dan kemudian berkomunikasi dengan server Anda melalui HTTP biasa, Joomla tidak pernah melihat permintaan HTTPS. Force HTTPS menyimpulkan pengunjung datang secara tidak aman dan mengalihkannya ke HTTPS, proxy menjawab permintaan itu melalui HTTP lagi, dan loop tersebut berlanjut hingga browser menyerah dengan ERR_TOO_MANY_REDIRECTS.

Ada dua perbaikan dan umumnya Anda menginginkan keduanya:

  • Atur mode enkripsi SSL/TLS Cloudflare Anda ke Full (strict) dan pertahankan sertifikat yang valid di server origin. Mode Flexible, yang masih direkomendasikan oleh beberapa tutorial Joomla populer sebagai opsi gratis yang cepat, adalah yang menciptakan loop tersebut.
  • Ubah Behind Load Balancer ke Yes. Ini ada di tab yang sama System > Global Configuration > Server, lebih ke bawah di blok Proxy. Ini memberi tahu Joomla untuk mempercayai header protokol yang diteruskan dari proxy, bukan mencari koneksi HTTPS langsung.

Satu peringatan untuk pengaturan kedua tersebut: hanya aktifkan Behind Load Balancer jika situs Anda memang berada di belakang proxy, load balancer, atau CDN. Pada hosting biasa, mempercayai header yang diteruskan yang bisa dikirim oleh siapa saja melemahkan keamanan tanpa manfaat apa pun.

Masalah umum lainnya

GejalaPenyebabPerbaikan
Terkunci dari administratorForce HTTPS diaktifkan sementara sertifikat hilang atau rusakAtur $force_ssl ke 0 di configuration.php melalui FTP, perbaiki sertifikatnya, lalu aktifkan kembali
Aturan pengalihan tidak berpengaruhAturan itu ditulis ke dalam htaccess.txt, atau ke dalam file .htaccess yang belum adaUbah nama htaccess.txt menjadi .htaccess
Setiap halaman kecuali halaman utama mengembalikan 404URL Rewriting diaktifkan sebelum pengubahan namaUbah nama file, atau nonaktifkan rewriting sampai selesai
Gembok hilang hanya pada beberapa halamanKonten campuran pada halaman-halaman tersebutTemukan resource HTTP di konsol browser
Situs baik-baik saja, menjadi tidak aman beberapa minggu kemudianSertifikat Let’s Encrypt kedaluwarsa karena perpanjangan gagalTerbitkan ulang, lalu konfirmasi perpanjangan otomatis di panel Anda
Berfungsi di browser, gagal untuk aplikasi atau gatewayChain sertifikat tidak lengkapInstal bundel CA lengkap, periksa ulang dengan SSL Checker
Ketidaksesuaian nama pada www atau apexSertifikat hanya mencakup salah satu dari kedua nama tersebutTerbitkan ulang yang mencakup keduanya. Lihat common name invalid

Jika sertifikat sudah terinstal dan situs masih melaporkan tidak aman, panduan error SSL menangani kode error browser yang spesifik.

Setelah peralihan: daftar periksa SEO

  • Tambahkan properti HTTPS di Google Search Console. Properti HTTP tidak melaporkan URL HTTPS. Tambahkan properti baru, atau gunakan properti Domain, yang mencakup keduanya.
  • Kirim ulang sitemap dengan URL https.
  • Periksa tag canonical agar mengarah ke https di ekstensi SEF atau SEO Anda.
  • Perbarui analitik dan layanan pihak ketiga apa pun yang menyimpan URL situs Anda.

Perkirakan akan ada pergerakan. Google memperlakukan peralihan dari HTTP ke HTTPS sebagai perpindahan situs dengan perubahan URL, sehingga impresi akan terlihat terbagi antara properti HTTP dan HTTPS Anda untuk sementara waktu dan peringkat sering berfluktuasi selama beberapa minggu sebelum stabil. Selama setiap halaman dapat diakses dan pengalihan 301 sudah terpasang, tidak ada yang perlu diperbaiki.

Setelah HTTPS stabil untuk sementara waktu, pertimbangkan HSTS, yang memberi tahu browser untuk menolak HTTP biasa untuk domain Anda sepenuhnya. Biarkan direktif preload nonaktif pada awalnya, karena sulit dibalik dan akan membuat subdomain mana pun yang masih menggunakan HTTP tidak dapat diakses.

Pertanyaan yang Sering Diajukan

Bagaimana cara mengaktifkan SSL di Joomla?

Instal sertifikat SSL di server Anda terlebih dahulu, melalui panel hosting atau secara manual. Kemudian masuk ke administrator Joomla, buka System > Global Configuration > Server, dan atur Force HTTPS ke Entire Site. Joomla sendiri tidak menginstal sertifikat. Ia hanya menerapkan sertifikat yang sudah dimiliki server Anda.

Di mana letak pengaturan Force HTTPS di Joomla?

Tab System > Global Configuration > Server, di blok Server di bagian atasnya. Ini menawarkan tiga status: None, Administrator Only, dan Entire Site. Administrator Only berguna saat sertifikat masih dalam proses validasi, karena mengamankan login Anda tanpa mengubah apa yang dilihat pengunjung.

Mengapa situs Joomla saya menampilkan “too many redirects” setelah mengaktifkan Force HTTPS?

Hampir selalu karena proxy seperti Cloudflare mengakhiri TLS dan meneruskan HTTP biasa ke server Anda, sehingga Joomla mengira setiap permintaan datang secara tidak aman dan mengalihkannya lagi. Atur mode enkripsi Cloudflare Anda ke Full (strict) bukan Flexible, dan ubah Behind Load Balancer ke Yes, di blok Proxy pada Global Configuration. Hanya aktifkan pengaturan itu jika Anda memang berada di belakang proxy.

Apakah saya perlu mengedit configuration.php untuk menggunakan HTTPS?

Tidak. Dropdown Global Configuration menulis nilai yang sama dengan yang disimpan file tersebut. Mengedit configuration.php penting dalam satu situasi: ketika Force HTTPS mengunci Anda dari administrator, Anda bisa mengatur $force_ssl kembali ke 0 melalui FTP. Abaikan tutorial lama yang menyuruh Anda mengisi var $live_site. Sintaks itu sudah tidak digunakan sejak Joomla 1.5 pada 2012, dan pengaturan tersebut bersifat opsional.

Mengapa pengalihan .htaccess saya tidak berfungsi di Joomla?

Periksa dulu nama filenya. Joomla mengirimkan file tersebut sebagai htaccess.txt dan Apache mengabaikannya dengan nama itu, sehingga aturan yang ditempelkan ke dalamnya tidak pernah berjalan. Ubah namanya menjadi .htaccess. Jika file sudah benar, periksa kondisinya: harus berupa RewriteCond %{HTTPS} off. Jika ditulis sebagai “on” hanya cocok dengan permintaan yang sudah aman, yang menghasilkan loop pengalihan bukan pengalihan yang sebenarnya.

Versi Joomla mana yang berlaku untuk langkah-langkah ini?

Joomla 5 dan Joomla 6, dua cabang yang saat ini didukung. Joomla 6.0 dirilis pada Oktober 2025. Joomla 5 menerima pembaruan fungsional hingga 13 Oktober 2026 dan patch keamanan hingga Oktober 2027. Joomla 3 mencapai akhir masa pakainya pada Agustus 2023 dan mengatur konfigurasinya secara berbeda, jadi lakukan pembaruan sebelum mengikuti langkah-langkah ini.

Memindahkan platform lain, atau ingin prosedur umumnya? Lihat panduan kami tentang cara mengalihkan situs dari HTTP ke HTTPS.

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

Ditulis oleh

Penulis konten berpengalaman yang berspesialisasi dalam Sertifikat SSL. Mengubah topik keamanan siber yang rumit menjadi konten yang jelas dan menarik. Berkontribusi untuk meningkatkan keamanan digital melalui narasi yang berdampak.