Je Joomla! website omzetten naar https via een SSL Certificaat

Hoe installeer en configureer je SSL voor je Joomla website, zodat je website bereikbaar is onder HTTPS?  In dit artikel leg ik uit hoe je SSL instelt voor je Joomla website. In het artikel wordt niet uitgelegd hoe je een certificaat aanvraagt, dat kan per hosting provider verschillend zijn.

De website www.vandervelde-web.nl is voorzien van een SSL certificaat.
Dus als je nu http://www.vandervelde-web.nl intypt, dan wordt je doorgelinkt naar https://www.vandervelde-web.nl

Voordat je HTTPS voor je website kunt gebruiken, dien je eerst een SSL-certificaat aanschaffen (sommige certificaten zijn cratis, bijv. Let's Encrypt) en (laten) installeren. 
Je hoeft dan alleen nog maar je website in te stellen zodat deze bereikbaar wordt onder HTTPS.
Hoe je dat doet bij een Joomla website, leg ik hieronder uit.

  1. Download met je FTP-programma (bijvoorbeeld FileZilla) alle mappen en bestanden van je Joomla website naar je computer.
    Deze mappen en bestanden vind je in de map public_html.
  2. Open in Kladblok (of Notepad++) het bestand configuration.php. Dit bestand vind je in de websitemap als los bestand.
  3. Zoek naar deze regel:
    var $live_site ='';
    en wijzig deze in:
    var $live_site = 'https://www.jouwdomeinnaam.nl';

    waarbij je jouwdomeinnaam.nl verandert in jouw eigen domeinnaam. Verwijder de enkele aanhalingstekens ( ‘ ) niet!

    Zoek naar deze regels:
    public $log_path = '/home/.../domains/jedomeinnaam.nl/public_html/logs';
    public $tmp_path ='/home/.../domains/jedomeinnaam.nl/public_html/tmp';

    en wijzig deze in:
    public $log_path ='/home/.../domains/jedomeinnaam.nl/private_html/logs';
    public $tmp_path ='/home/.../domains/jedomeinnaam.nl/private_html/tmp';

    Sla het gewijzigde bestand op.

  4. Open in Kladblok het bestand .htaccess. Ook dit bestand vind je in de websitemap als los bestand. Voeg onder de bestaande code onderstaande code toe.

    RewriteEngine On
    RewriteCond %{HTTPS} OFF
    RewriteRule (.*)

    Sla het gewijzigde bestand op.

  5. Upload met je FTP-programma alle mappen en bestanden van je Joomla website naar de HTTPS map van je website.
    Dit is de map private_html.
  6. Je website is nu te vinden onder
    https://www.jouwdomeinnaam.nl. Echter de website staat ook nog op de http-versie van je
    domeinnaam. Log in als super administrator op de beveiligde website, dus op de HTTPS-versie (op het beheergedeelte).

     

  7. Klik bovenaan in het menu op Systeem en dan op Algemene instellingen.
  8. Klik op het tabblad Server.
  9. Onder het kopje Server-instellingen vind je de optie Forceer SSL. Selecteer hier de optie Gehele website en klik op de knop Opslaan & sluiten.

    forceer ssl

  10. Check je HTTPS Joomla website op goede werking. Als alles goed werkt, verwijder je met je FTP-programma de mappen en bestanden in
    de map public_html. Laat het bestand .htaccess staan! We gaan er wat wijzigingen in aanbrengen om ervoor te zorgen dat de HTTP-versie van je domein
    doorrouteerd (redirect) naar je HTTPS-versie.
  11. Download met je FTP-programma het bestand .htaccess uit de map public_html naar een (nieuwe) map op je computer.
  12. Open het gedownloade bestand .htaccess in Kladblok. Verwijder alle code en zet de volgende code ervoor in de plaats.

    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    Sla het bestand op.

  13. Upload het zojuist gewijzigde .htaccess bestand naar de map public_html waarbij je het bestaande bestand
    overschrijft. Vanaf nu zullen je bezoekers die de HTTP-versie van je site bezoeken, automatisch terechtkomen op je HTTPS-versie.

Enkele stapppen zou je ook via een restore van Akeeba kunnen uitvoeren, dan hoef je het configuration.php bestand niet aan te passen.
Je kunt via de restore het volgende aanpassen:

  • De live URL omzetten van http://www.jouwdomeinnaam.nl naar https://www.jouwdomeinnaam.nl.
  • De paden omzetten van:

    public $log_path = '/home/.../domains/jedomeinnaam.nl/public_html/logs';
    public $tmp_path ='/home/.../domains/jedomeinnaam.nl/public_html/tmp';

    naar:
    public $log_path ='/home/.../domains/jedomeinnaam.nl/private_html/logs';
    public $tmp_path ='/home/.../domains/jedomeinnaam.nl/private_html/tmp';