tas2580
Blog über Webentwicklung

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.

phpBB Cookie Settings

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.

phpBB Server Settings

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.