HTTP naar HTTPS

WordPress website overzetten naar https?

Draait jouw WordPress website nog steeds op een http protocol? Dan wordt het hoog tijd om dit te veranderen naar een stuk veiliger https protocol. Waarom de voorkeur aan https? Dat is simpel; het is veiliger en dat geeft bezoeker vertrouwen in jouw product. Een https WordPress website kan namelijk minder snel gehackt worden, en heeft dus minder last van DDOS ookwel Bruteforce aanvallen om persoonlijke data te stelen. Daarnaast krijgt een https website in Google Chrome en Mozilla Firefox een mooi groei slotje in de browser zoekbalk waarin staat “Veilig” of “Secure”. Daarnaast geeft Google de voorkeur aan een https verbinding over een http, het heeft dus ook een zoekmachine optimalisatie (SEO) voordeel wat natuurlijk weer zal zorgen voor meer bezoekers. Een WordPress website overzetten van http:// naar https:// is erg simpel en kan binnen 5-10 minuten zonder al te veel handelingen, eigenlijk is het gewoon click en play. Ze noemen trouwens een https verbinding ook wel een SSL connection wat staat voor Secure Sockets Layer.

Wordpress website naar HTTPS
SSL of HTTPS is een encryptie technologie dat de link tussen de webserver (waar de website op gehost staat) en browser (van de user) beveiligd. Alle data die tussen deze twee wordt verstuurd is privé en ontoegankelijk voor derde. Dit is vooral heel belangrijk voor webshops die met betaalgegevens van consumenten werken.

Stappenplan voor WordPress website naar https

SSL in DirectAdmin
Ons stappenplan voor https bestaat uit 7 stappen die in volgorde uitgevoerd moeten worden. Hierna is jouw WordPress website volledig beveiligd en klaar voor de toekomst. We gaan ervan uit dat je DirectAdmin of cPanel gebruikt als operator voor je server/shared hosting.

  1. Bij Direct Admin moet je er eerst voor zorgen dat de SSL verbinding aanstaat bij de “Domain Administration” van jouwdomein.nl. Bij cPanel staat dit al automatisch aan.
  2. Koop een SSL certificaat voor enkele euro’s zoals bij bijvoorbeeld Versio.nl voor €4,99. Er is bijna geen verschil tussen SSL certificaten maar zorg er wel voor dat hij SHA2 of 3 heeft, dit is een encryptie die sterker en veiliger is dan SHA1.
  3. Installeer het SSL certificaat in DirectAdmin (Onder advanced features en dan SSL Certificates) of cPanel (Bij SSL/TLS Manager). Dit is echt een kwestie van copy en past.
  4. Selecteer bij “Domain Administration” het volgende “Use a symbolic link from private_hml to public_html”. Dit hoeft niet bij cPanel.
  5. Test nu of de SSL verbinding van jouw website werkt door https://www.jouwwebsite.nl te bezoeken. Als deze te bereiken is dan staat het SSL certificaat goed op de server. Krijg je een foutmelding dat de verbinding niet beveiligd is dan is er iets mis gegaan met het installeren van de certificaten (zijn er drie Root, Key en Ca Bundle). Gewoon even opnieuw installeren. Het kan zo zijn dat het slotje ook nog niet groen is maar dat gaan we in de volgende stappen oplossen.
  6. Werkt de https:// verbinding op jouw website dan kun je WordPress gaan omzetten. Doe dit door via je WP dashboard bij instellingen –> algemeen een voorkeur-adres voor het WordPress-adres (URL) en Siteadres (URL) in te stellen. Zet bij beide https://www.jouwdomein.nl neer en druk “wijzigingen opslaan”. WordPress zal nu automatisch jouw gehele website forceren via een https verbinding en de http versie is onbereikbaar geworden middels een 301 redirect. Is dit niet gelukt dan is het mogelijk om dit zelf in te stellen via een .htaccess scriptje. Even Google “Force WordPress over https via .htaccess“.
  7. De laatste stap is het omzetten van de scripts zoals jQuery, Javascript en andere hardcoded links naar een beveiligde verbinding. Dit kan gemakkelijk met de WordPress plugin “Really Simple SSL” die gratis is te downloaden. Het enige wat je hoeft te doen is deze te activeren en de plugin zijn werk laten doen.
  8. Olé! Je website is beveiligd met een https protocol via een SHA2 of SHA3 SSL encryptie. Wat betekend dat je een groen slotje waardig bent in Chrome en Mozilla en beter beschermd bent tegen hack-aanvallen. Daarnaast zijn persoonsgegevens en betalingsgegevens van creditcards ook beter beschermd. Vertrouw je het nog niet helemaal voer dan een SSL test uit via SSL Lab. Soms moet je ook even je cache clearen wil het groene slotje zichtbaar worden, simpele oplossing hiervoor is de website in een “privé” of “incognito” browservenster te bezoeken.

Server kan maar 1 SSL certificaat aan

Heb je DirectAdmin op je VPS server en kan hij maar een enkel SSL certificaat aan? Geen probleem dit kan je gemakkelijk fixen. Log in via SSH (root access) op je server. En voer de volgende command line in en druk enter.
echo "enable_ssl_sni=1" >> /usr/local/directadmin/conf/directadmin.conf
Hiermee kan je op een gedeelde IP, dus bijvoorbeeld als je meerdere websites op je server host, ook meerdere SSL certificaten kwijt. Let op dit werkt alleen bij een server met DirectAdmin als control-panel.

Let’s encrypt installeren op DirectAdmin

De gratis SSL certificaten van Let’s Encrypt zijn gemakkelijk te installeren met DirectAdmin via SSH access op je VPS. Let’s Encrypt is een initiatief van de grote stakeholders in de Internet wereld zoals Google Chrome, Mozilla, Cisco, Facebook, Akamai, Fastly en nog vele andere. Deze gratis SSL certificaten worden automatisch en gegenereerd via een DirectAdmin plugin op de server. Hoe installeer je Let’s Encrypt in DirectAdmin op een VPS?

  1. Update DirectAdmin via het panel. Het is belangrijk dat minimaal DirectAdmin 1.50.1 geïnstalleerd is anders werken de volgende stappen niet.
  2. Log in als root via SSH op je server.
  3. Installeer de DirectAdmin plugin Let’s Encrypt via de volgende commandline;
    echo "letsencrypt=1" >> /usr/local/directadmin/conf/directadmin.conf
  4. Restart Directadmin met de volgende commandline;
    echo "action=directadmin&value=restart" >> /usr/local/directadmin/data/task.queue; /usr/local/directadmin/dataskq d2000
  5. Voeg de /.well-known Alias toe:
    cd /usr/local/directadmin/custombuild
    ./build rewrite_confs
  6. Update het Let’s Encrypt script:
    cd /usr/local/directadmin/custombuild
    ./build update
    ./build letsencrypt
  7. Flush (clean) en update de build met:
    cd /usr/local/directadmin/custombuild && ./build clean && ./build update && ./build letsencrypt && ./build rewrite_confs
  8. Als het goed is werkt SSL Let’s Encrypt nu via DirectAdmin. Dit kan je controleren door bij SSL instellingen te kijken in het control panel. Hier is nu een extra optie bijgekomen die “Free & automatic certificate from Let’s Encrypt” heet. Geeft hij een error aan bij het installeren? Grote kans dat je dan stap 4 het herstarten van DirectAdmin nogmaals moet uitvoeren. Werkt het nog steeds niet dat staat SNI=1 waarschijnlijk nog op SNI=0.

Het was allemaal niet zo lastig toch? Het installeren van https is eigenlijk alleen maar click en play. Heb jij zelf nog tips of toevoegingen? Dan horen we ze graag! Was dit allemaal maar een saai verhaal? Droom dan maar even weg op de Similan eilanden.