Ein Bekannter wollte seine Webseite auf HTTPS umstellen und brauchte ein wenig Unterstützung und hat mich deswegen um Hilfe gebeten. Wir haben also seine Seite mit einem signierten SSL-Zertifikat versehen und dieses implementiert. Da ich der Meinung bin, dass heutzutage am liebsten alles verschlüsselt sein sollte habe ich mir meinen Blog auch gleich vorgenommen. Die Kommunikation zwischen deinem Browser und Dennis-Henke.de findet jetzt also verschlüsselt über SSL statt. Bei der Verwendung von HTTP-Verbindungen werden alle Daten im Klartext übertragen und machen so ein Mithören wesentlich einfacher.

 

Wieso sollte ich auf HTTPS umstellen?

Wir leben im 21. Jahrhundert und spätestens nach der Snowden-Affäre sollte sich jeder mal über Sicherheit und Datenschutz informieren und für sich selber entscheiden, ob ihm das alles egal ist oder man doch auf Sicherheit setzen möchte (Ja, auch wenn man nichts zu verbergen hat!). Eine verschlüsselte Verbindung schützt wesentlich besser vor Hackern als eine ungesicherte Kommunikation. Das ist schon fast vergleichbar mit den Leuten, die ihre PIN in der Geldbörse aufbewahren. Etwas leichtgläubig wie ich finde. Auch die Kunden und Besucher deiner Seite wollen geschützt werden. Persönliche Daten, die beispielsweise über das Kontaktformular oder Kommentarformular gesendet werden sind nicht verschlüsselt. Über HTTPS werden die Daten entsprechend verschlüsselt an den Webserver übermittelt.

 

# Bitte diesen Post erst bis zum Ende lesen und dann mit der Umstellung beginnen. Ich übernehme keine Haftung bei Datenverlust oder sonstiges.

Voraussetzung

 

Wir benötigen ein sogenanntes SSL-Zertifikat. Ein SSL-Zertfikat bestätigt unserer Identität gegenüber dem Besucher im Browser. Es gibt aber auch Auskunft darüber, wenn eine sichere Kommunikation gefährdet ist. Es gibt sowohl kostenpflichtige als auch kostenlose Zertifikate, einfach mal durchschauen. Ich persönlich kann StartSSL empfehlen, dort gibt es das Zertifikat 1 Jahr kostenlos, danach kann dieses erneuert werden – ebenfalls kostenlos.

Zur Sicherheit stellen wir sicher, dass wir ein aktuelles Backup haben. Später müssen wir einige Datensätze in der Datenbank anfassen. Das machen wir entweder über ein entsprechendes WordPress-Plugin oder über eine Weboberfläche wie phpMyAdmin, sofern vorhanden. Es muss also sichergestellt werden, dass wir darauf Vollzugriff haben.

 

1. Zertifikat hinterlegen

Das Zertifikat kann jetzt schon implementiert werden. Am besten erkundigt ihr euch bei eurem Webhoster, wie, wo und ob ihr überhaupt ein SSL-Zertifikat konfigurieren könnt. Dazu am besten einfach in die Hilfe schauen.

 

2. WordPress URL ändern

Dann können wir uns auch schon unsere WordPress-Einstellungen vornehmen. Wir wechseln in Einstellungen > Allgemein und ändern hier die WordPress-Adresse, sowie die Website-Adresse jeweils von HTTP zu HTTPS. Bei mir sieht das wie folgt aus..

Vorher: http://dennis-henke.de

Nachher: https://dennis-henke.de

Change the website and wordpress url to https

 

3. URL in der Datenbank ändern

Deine bisherigen Medien und Beiträge sind bisher alle noch über HTTP eingebunden, das heißt wir müssen diese URL auf https ändern. Man könnte jetzt alle alten HTTP-Links manuell bearbeiten, was sehr aufwendig und fehleranfällig wäre, oder man nutzt ein WordPress Plugin, welches eine einfache Funktion bereitstellt. Nämlich „Suchen & ersetzen“. Wir machen das ganze über die Datenbanktool phpMyAdmin.

In phpMyAdmin wählen wir unsere Datenbank aus und öffnen oben den Reiter SQL und jagen folgenden Befehl durch die Datenbank (Achtung: Die Daten müssen vorher natürlich noch angepasst werden. Ersetzt den Tabellennamen ggf. bei Abweichungen und nicht vergessen, anstatt ‚http://dennis-henke.de‘ eure Webseiten-Adresse dort einzutragen. Alle Befehle können gleichzeitig ausgeführt werden. Diese Abfrage macht nichts anderes als ‚http://dennis-henke.de‘ durch ‚https://dennis-henke.de‘ zu ersetzten.

 

UPDATE wp_options SET option_value = replace(option_value, 'http://dennis-henke.de', 'https://dennis-henke.de') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://dennis-henke.de','https://dennis-henke.de');

UPDATE wp_posts SET post_content = replace(post_content, 'http://dennis-henke.de', 'https://dennis-henke.de');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://dennis-henke.de','https://dennis-henke.de');

 

4. Umleitung in .htaccess-Datei festlegen

Damit anschließend auch alle HTTP-Links auf den neuen HTTPS-Link leiten richten wir eine „301-redirect“, eine permanente Weiterleitung ein. Dazu einfach folgenden Code-Schnipsel an die .htaccess-Datei anhängen. Die .htaccess könnt ihr mit einem FTP-Programm im Hauptverzeichnis erreichen.

 

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Nun sollte eure WordPress-Webseite vollständig auf HTTPS laufen.

 

5. Alle Seiten und Medien-Links testen

Natürlich sollt ihr nicht alle testen, aber stichprobenartig einmal testen, ob alles geklappt hat. Letztendlich sollte der Aufruf eurer Seite nun so aussehen:

Dennis-Henke.de with HTTPS in Safari

 

Bei Fragen, Anregungen oder sonstige Anfragen gerne einen Kommentar hinterlassen.