WordPress: Webseite auf HTTPS umstellen mit Let’s encrypt und 301 Redirect

Wer seine WordPress Webseite auf HTTPS umstellen möchte, der muss auf ein paar Dinge achten. Das Projekt Let’s encrypt bietet Webseitenbetreibern eine kostenfreie Möglichkeit auf HTTPS umzustellen. HTTPS das bedeutet die Verbindung des Browsers zum Server wird mit einer SSL (Secure Sockets Layer)  / TLS (Transport Layer Security) Verschlüsselung aufgebaut und abgewickelt.

Daten die der Benutzer einer Webseite also zum Server per HTTPS überträgt, können von Servern, die auf dem Pfad zwischen Benutzer und Server die Daten durchleiten, nicht eingesehen werden. Gerade für Webseiten, die per Formular sensible Daten, wie beispielsweise Adressdaten oder Kontoinformationen übertragen,  ist die Nutzung eines HTTPS Protokolls eine Vertrauen schaffende Maßnahme.

Warum (WordPress-) Webseiten auf HTTPS umstellen?

wie was warum Google hat bereits im August 2014 bestätigt, dass Webseiten mit HTTPS einen kleinen Ranking Boost erhalten. Bei den Entwicklern des Google Chrome Browsers arbeitet man bereits daran, dass unverschlüsselte, also nur per HTTP, Datenübertragungen gekennzeichnet werden, so hat es Parisa Tabriz, die Leiterin des des Google-Security-Engineering-Teams, bereits angekündigt. Es scheint also absehbar, dass die Verwendung einer HTTPS Verschlüsselung in Deiner Webseite (mit oder ohne WordPress) nicht nur ein positives Signal ist, sondern man hierdurch auch eine negative Bewertung durch Google vermeidet.

Seit Dezember 2015 bietet nun die Internet Security Research Group (ISRG) mit Let’s Encrypt eine Certificate-Authority (CA) an, die kostenfrei sind. Ziel des Projekts Let’s Encrypt ist es, die Umstellung von HTTP auf HTTPS für Webseitenbetreiber stark zu vereinfachen und somit die Absicherung durch HTTPS voranzubringen. Die Zertifikate sind kostenfrei und können  von jedem Administrator problemlos eingebunden werden. Die Zertifikate von Let’s Encrypt werden für jeweils 90 Tage ausgestellt und können von Dir automatisiert erneuert werden.

Jeder der einen eigenen Server betreibt, egal ob Virtuell Root, Root Server oder Cloud Server, kann die Zertifikate mithilfe des Clients selbst installieren. Es gibt also keine Ausreden mehr, warum die eigene Seite keine HTTPS Verschlüsselung nutzt.

Hier nun eine kurze Anleitung, wie ein SSL-/TLS-Zertifikat mit Let’s Encrypt eingerichtet werden kann. Das konkrete Beispiel richtet sich an Debian und Ubuntu Linux Nutzer.

Installation des HTTPS SSL-/TLS-Zertifikats mit Let’s Encrypt

Vorbereitungen: Der Apache nimmt SSL Verbindungen an?

SSL für den Apache aktivieren:

Dran denken das https/Port 443 durch die Firewall kommt! Checken ob Apache auf Port :443 lauscht:

Schritt 1: Git Client installieren

wer den Git Client noch nicht auf seinem Server hat, kann diesen installieren um ganz einfach Projekte, sogenannte Repositorys, von GitHub auf seinem Server zu installieren.

Schritt 2: System update

Im ersten Schritt empfiehlt es sich alle relevanten Updates durchzuführen:

Ein Hinweis: Ggfs. muss als Zwischenschritt ein “apt-get autoremove” ausgeführt werden.

Alternativ und kürzer:

Schritt 3: Let’s Encrypt Client herunterladen

nun kann der Let’s Encrypt Client aus des offiziellen Let’s Encrypt GitHub Repository heruntergeladen werden.

der Client wird in das/opt Verzeichnis unter /opt/letsencrypt installiert. Bei Linux Systemen ist dies ein übliches Verzeichnis für Third-Party-Software.

Schritt 4: SSL-/TLS-Zertifikat einrichten

mit folgendem Befehl wird nun in das passende Verzeichnis gewechselt

Nun gibt es mehrere Varianten:

Variante 1: Automatische einfache Installation

für die automatische Installation wird der „letsencrypt-auto command“ aufgerufen. Der Befehl hierfür lautet:

Variante 2: Automatische Installation für Hauptdomain plus Subdomain

wer für Hauptdomain plus Subdomains das Zertifikat einrichten möchte, verwendet den folgenden Befehl:

Der Let’s Encrypt Client installiert nun automatisiert die SSL-/TLS-Zertifikate. Während des Installationsvorgangs werden optionale Einstellungen abgefragt. So kann man an dieser Stelle beispielsweise eine E-Mail-Adresse eintragen die man zur Wiederherstellung eines versehentlich gelöschten Zertifikat benötigt. Es kann zudem ausgewählt werden ob die Webseite sowohl unter http://, als auch unter https:// für Benutzer erreichbar sein soll oder ob ausschließlich nur noch per https:// zugegriffen werden kann. Das Zertifikat liegt nun im Ordner /etc/letsencrypt/live. Für jedes Zertifikat wird ein eigener Ordner angelegt.

Schritt 5:  SSL Zertifikat testen

Hier könnt Ihr testen, ob ihr erfolgreich wart, Domain eingeben und los: https://www.ssllabs.com/ssltest/index.html

Schritt 6: Automatisierte Erneuerung des Zertifikat vor Ablauf

die Let’s Encrypt SSL-/TLS-Zertifikate haben eine Laufzeit von 90 Tagen. Die Erneuerung des Zertifikat kann automatisch erfolgen, man muss lediglich den Befehl zur automatischen Erneuerung des SSL Zertifikat in seine crontab eintragen.

dort trägt man nun beispielsweise ein, dass das Zertifikat nach 87 Tagen, also drei Tage vor Ablauf, erneuert werden soll:

nun wird die crontab gespeichert und dem Cron-Daemon die Aktualisierung mitgeteilt:

ich persönlich verwende als Editor unter Linux den kleinen schnellen Joe. Viele benutzen den Editor Vi der häufig auch standardmäßig installiert ist. Wer Joe probieren möchte installiert ihn mit folgendem Befehl:

wer die crontab das erste Mal öffnet, der wird gefragt mit welchem Editor er sie in der Zukunft bearbeiten soll. Einfach Joe auswählen. Wer die crontab mit oben stehenden Befehl geöffnet und modifiziert hat, kann sie nun mit der Tastenkombination CTRL+K anschließend X abspeichern.

301-Redirect per .htaccess für WordPress

Wer seine WordPress Installation umstellt, möchte natürlich aus SEO technischen Gründen die alten HTTP URLs die in den Suchmaschinen indexiert sind, auf die neue HTTPS URL umleiten. Google wertet die Umstellung des Protokolls als eigene Domain. D.h. verschiedene Schritte sind notwendig, um eingesetzte Analytik Tools umzustellen und die Wertigkeit der alten URLs auf die neuen zu übertragen. Ich habe bereits einen Artikel dazu veröffentlicht: An folgender Stelle findest du mehr mehr Hintergrundinformationen über die 301-er Umleitung in der .htaccess und warum sie wichtig ist …

Schritt 1: Vorbereitung von WordPress

301redirect wordpress https
301-er Redirect in der .htaccess Datei für WordPress

Im ersten Schritt sollte man sich sein WordPress Administrator Passwort notieren, bevor man das SSL Zertifikat für HTTPS für seine Domain einrichtet. Wer es verbockt und wer mit der Passwort vergessen Funktion nicht weiterkommt, hier gibt es den Befehl das WordPress Admin Passwort direkt in der Datenbank zu ändern

Das Zertifikat kann nun eingerichtet werden wie oben beschrieben. Anschließend logt man sich in das Backend seines WordPress ein, uns ergänzt im Menüpunkt Einstellungen>Allgemein das https://.

Wer nun bei Aufruf seiner Domain nicht die sichere Verbindung im Browser angezeigt bekommt, hat auf seiner Seite vermutlich noch Elemente die per http:// und nicht per https:// aufgerufen werden. Wer nicht alle Seiten durchgehen und beispielsweise URLs von Bilddateien oder ähnliches manuell ändern möchte, der kann über die MySQL Datenbank folgende Befehle verwenden um dies umzuschreiben:

Im nächsten Schritt wird nun die .htaccess modifiziert, um den 301-Redirect von http:// auf https:// einzurichten.

Schritt 2: 301-er Umleitung in der .htaccess einrichten

mit folgendem Befehl wird die Datei geöffnet:

Anmerkung: ich verwende weiterhin den Editor Joe.

Wie eine optimale .htaccess für WordPress aus meiner Sicht aussehen kann habe ich  übrigens in dem Beitrag “tune your wordpress” geschrieben.

Die folgenden Ergänzungen kommen in die .htaccess

Die .htaccess sollte nun ungefähr wie folgt aussehen:

als abschließende Schritte empfiehlt sich im Fall der Verwendung von Google Analytics und/oder der Google Search Console noch, die Umstellung auf HTTPS dort anzumelden.

Schritt 3: Google die Änderung auf HTTPS mitteilen

Wie eingangs erwähnt unterscheidet die Google Search Console das veränderte Protokoll wie eine eigene Domain. Folglich meldet man in der Search Console eine neue Property mit https://DeineDomain.de an.Und nicht vergessen: Die Google Sitemap in der neuen Property sauber anzumelden.

Wer seine Search Console mit den Google Analytics verknüpft hat, geht auch dort in sein Konto und teilt im Menüpunkt Verwaltung die veränderte Verknüpfung zu der HTTPS Version mit.

Das war’s. Du hast es geschafft. Ob der Aufwand sich lohnt? Ich denke schon! Wer es einmal gemacht hat dem läuft es leicht von der Hand …

 

 

 

 

1 thought on “WordPress: Webseite auf HTTPS umstellen mit Let’s encrypt und 301 Redirect

Leave a Comment