SSL Zertifikat für unser Discourse Setup mit Let´s Encrypt

SSL Zertifikat für unser Discourse Setup mit Let´s Encrypt
0

(Daniel Nevoigt) #1

Hier nun erkläre ich das Setup vom Let´s Encrypt Zertifikat basierend auf diesem Tutorial:

Im vorhergehenden Tutorial haben wir Let´s Encrypt bereits installiert, jetzt werden wir das Zertifikat für die Discourse Installation einrichten.

#1: Docker Container stoppen:

Wir müssen zunächst unseren Docker Container stoppen, damit wir das Zertifikat installieren können. Öffnet dazu wieder Euren SSH Client und gebt folgendes ein:

cd /var/discourse
./launcher stop app

#2: Zertifikat installieren:

letsencrypt certonly

Es öffnet sich eine Eingabeaufforderung in welcher Ihr zunächst Eure Emailaddresse für das Zertifikat eingebt. Merkt Euch diese Addresse, sie muss später in die Aoo.Konfiguration geschrieben werden.

enc1

Bestätigt dann die Nutzungsbedingungen.

enc2

Nun tippt Euren Domainnamen ein welchen Ihr auch in der App-Konfiguration angegeben habt.

enc3

Wenn alles geklappt hat, wird folgendes Resultat angezeigt.

enc4

#3: App-Konfiguration anpassen:

Jetzt ist das Zertifikat erfolgreich installiert und wir müssen nun noch die Konfiguration anpassen. Öffnet dazu einfach die app.yml in einem Editor. Ich persönlich komme mit diesen cli Editoren nicht klar :D, also nutze ich einfach die Sftp Verbindung meines WinSCP, navigiere zu /var/discourse/containers und öffne dort die app.yml mit einem Rechtsklick und bearbeiten.

Im oberen Bereich findet Ihr den Absatz templates:

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Uncomment these two lines if you wish to add Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## which TCP/IP ports should this container expose?
## If you want Discourse to share a port with another webserver like Apache or nginx,
## see https://meta.discourse.org/t/17247 for details
expose:
  - "80:80"   # http
  - "443:443" # https

Dieser muss exakt genau so aussehen wenn Ihr fertig seid. Dazu einfach das # vor:

- "templates/web.ssl.template.yml"

und

- "templates/web.letsencrypt.ssl.template.yml"

entfernen. Dann sucht Ihr in der gleichen Datei LETSENCRYPT_ACCOUNT_EMAIL: und tragt dort Eure zuvor bei der Zertifikaterstellung eingetragene Emailaddresse ein, entfernt das vorhergehende #. Speichert diese Datei nun ab.

#4: Rebuild Container mit neuer Konfiguration:

./launcher rebuild app

Das dauert nun wieder etwas. Wartet geduldig bis alles fertig ist und ladet die Seite neu. Sollte diese mit Bad Gateway angezeigt werden, noch kurz warten und nochmals probieren.

#5: Nacharbeiten:

Ihr habt nun alles fertig eingerichtet. Wenn Ihr Euer Forum aufgerufen habt, checkt mit F12 ob alle Resourcen via HTTPS geladen werden. Wenn dies der Fall ist könnt Ihr nun im Adminbereich des Forums unter Einstellungen -> Sicherheit -> force https aktivieren.

Das war´s. Viel Spaß mit Eurem Discourse.


Bitte bewertet das Turorial: 1 für sehr gut - 5 für sehr schlecht

  • 1
  • 2
  • 3
  • 4
  • 5

0 Teilnehmer