phpBB auf HTTPS umstellen
Da in letzter Zeit immer wieder die Frage kommt wie man ein phpBB Forum auf HTTPS umstellt ohne, dass es Probleme gibt will ich hier mal eine Kurze Anleitung schreiben. Immer mehr Browser zeigen auf Webseiten ohne HTTPS eine Warnung an, deshalb sollte man so langsam anfangen alle seine Webseiten umzustellen. Gerade bei Foren macht eine SSL Verbindung Sinn da ohne SSL sämtliche Daten wie Passwörter beim anmelden oder private Nachichten in Klartext durch das Netz gehen und von jedem mitgelesen werden können.
Zertifikat besorgen
Damit man die Webseite ohne Warnung über HTTPS aufrufen kann benötigt man ein gültiges Zertifikat für jede (Sub) Domain die man über HTTPS nutzen möchte.
Wenn man sehr viele Subdomains verwendet oder immer mal wieder welche anlegt empfiehlt sich ein "Wildcard" Zertifikat das dann für die Domain und alle Subdomains
gültig ist.
Wer einen eigenen Server betreibt kann sich dank Let's Encrypt kostenlos beliebig viele Zertifikate ausstellen lassen. Alternativ kann man auch einfach den
Caddy Webserver verwenden der für alle angelegten Domains automatisch Zertifikate erstellt.
Wer sein Forum auf normalem Webspace betreibt muss bei seinem Anbieter schauen ob der SSL Zertifikate anbietet, die meisten Anbieter stellen mittlerweile
kostenlose Zertifikate für ihre Kunden bereit. Wie man das Zertifikat bei seinem Anbieter beantragt und aktiviert erfährt man über den Support des jeweiligen Anbieters.
Sollte der Webspace- oder Domain- Anbieter keine Zertifikate anbieten kann man über Cloudflare
wenigstens die Verbindung zum Nutzer über HTTPS absichern.
Nachdem man das Zertifikat richtig installiert hat sollte sich die Webseite unter https://example.com
aufrufen lassen ohne, dass der Browser dabei eine
Warnung ausgibt.
phpBB Umstellen
Wenn der Aufruf der Seite über HTTPS funktioniert muss man noch ein paar Kleinlichkeiten an der Forensoftware anpassen. dazu sind zu erst mal die Einstellungen im Administrationsbereich wichtig.
Cookie Einstellungen
Damit die Cookies die das Forum setzt über HTTPS ausgeliefert werden muss unter Allgemein -> Coockies die Option Sicherer Server aktiviert werden. Danach sind die alten Cookies ungültig und alle Benutzer müssen sich einmalig neu anmelden.
Server Einstellungen
Um dem Webserver zu sagen, dass er das Forum über HTTPS ausliefern soll muss unter Allgemein -> Server und Domain die bei Server-Protokoll https:// statt http:// eingetragen werden. Außerdem muss man bei Server-Port 443 statt wie bisher 80 eintragen. Die Einstellung Erzwinge Server-URL-Einstellungen sollte man auf Ja stellen damit das Forum in Zukunft die HTTPS URL für die Kanonische URL ausgibt.
Nun ist man mit den Einstellungen im Adminbereich erst mal fertig und kann das Forum unter HTTPS aufrufen und testen ob alles wie gewünscht funktioniert.
Externe Ressourcen
Wenn eine Webseite über HTTPS aufgerufen wird müssen auch alle eingebundenen Ressourcen über HTTPS aufgerufen werden, hier liegt meistens das größte Problem
bei der Umstellung auf HTTPS. Das ist gerade bei Foren ein Problem da dort immer mal wieder Benutzer Bilder von nicht HTTPS Seiten in ihren Beiträgen verwenden was
dann zu einer Warnung im Browser führt. Um das Problem zu vermeiden kann man die externe Bilder als Link Erweiterung benutzen die alle extern eingebundenen Bilder
nicht direkt anzeigt sondern verlinkt. Auf nicht HTTPS Seiten zu verlinken ist kein Problem, nur direkt eingebunden werden darf eben nichts über HTTP.
Ein weiteres Problem sind Avatare die von externen Servern verwendet werden. Hier sollte man also das verwenden von externen Avataren komplett verbieten und die
Benutzer dazu zwingen ihre Avatare direkt auf den Server zu laden.
Wer in sein Style weitere Ressourcen wie Benutzerzähler oder Banner eingebunden hat sollte auch die Überprüfen, vor allem JavaScripts werden vom Browser
blockiert wenn sie von einem unsicheren Server kommen.
Webserver konfigurieren
Zum Schluss sollte man noch ein paar Anpassungen an der Konfiguration des Webservers machen.
HTTP Strict Transport Security
Um sicherzustellen, dass die Seite in Zukunft nur noch über HTTPS aufgerufen wird kann man HTTP Strict Transport Security aktivieren, dazu macht man folgenden Eintrag in seiner .htaccess Datei.
Header set Strict-Transport-Security "max-age=31536000"
Die hinter max-age angegebene Zahl gibt an für wie viele Sekunden die Domain nur über HTTPS aufgerufen werden darf. Hier muss man sicherstellen, dass man auch für die angegebene Zeit ein Zertifikat besitzt da sich die Seite nachdem der Header einmal gesetzt wurde nur noch über HTTPS aufrufen lässt.
301 Weiterleitung
Bevor man den Schritt macht sollte man erst mal warten bis Google das Forum über HTTPS im Index hat. Das kann man ganz einfach mit der suche nach site:example.com
bei Google prüfen. Hier sollte möglichst alle URLs mit HTTPS angezeigt werden. Nach der Umstellung des Forums kann es einige Zeit dauern bis Google die Seite neu
indiziert hat. Wenn man direkt eine Umleitung auf HTTPS erzwingt kann es vorkommen das man seine Rankings verliert, also lieber erst mal langsam machen und Google
etwas Zeit geben.
Wenn die Domain per HTTPS im Index ist kann man über seine .htaccess die verwendung von HTTPS erzwingen, dazu macht man folgenden Eintrag in der .htaccess:
RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Weitere Umstellungen
Wer die Google Webmaster Tools verwendet sollte dort die Seite nochmal neu mit HTTPS eintragen und alle Sitemaps neu einreichen. Wenn man die Möglichkeit hat Links zum Forum zu bearbeiten sollte man auch die alle umstellen.
Zum Schluss kann man dann auf ssllabs.com sein Zertifikat testen, wer mit dem Ergebnis noch nicht zufrieden ist findet hier Hilfe.