Änderungen von Dokument Let’s Encrypt SSL-Zertifikat für Kopano beantragen
Zuletzt geändert von Jens Gruber am 2022/05/25 09:01
Von Version 16.1
bearbeitet von Jonas Mayer
am 2022/05/24 23:56
am 2022/05/24 23:56
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 2.1
bearbeitet von Jens Gruber
am 2022/05/02 10:23
am 2022/05/02 10:23
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (2 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. jonasmayer@sbede1 +XWiki.JensGruber@sbede - Inhalt
-
... ... @@ -1,14 +1,12 @@ 1 -(% style="color:#000000" %)Damit Webzugriffe auf Kopano über ein Zertifikat abgesichert sind, muss dieses zunächst auf dem LogoDIDACT-Server beantragt werden. Dies ist insbesondere für die Nutzung von Z-Push (ActiveSync-Protokoll) von hoher Relevanz. 2 -In diesem Artikel erfahren Sie, welche für Voraussetzungen es gibt und wie ein signiertes Let's Encrypt Zertifikat generiert werden kann. 1 +Damit der Webzugriff von Kopano über ein Zertifikat abgesichert ist, muss dieses erst auf dem logoDIDACT-Server generiert werden. In folgendem Artikel erfahren Sie, was für Vorrausetzungen es gibt und über welche Wege ein Zertifikat generiert werden kann. 3 3 4 -{{toc start="4"/}} 5 5 4 +==== __**Vorrausetzungen**__ ==== 6 6 7 ----- 8 8 9 -==== (% style="color:#000000"%)__Voraussetzungen__(%%)====7 +===== __Portweiterleitung__ ===== 10 10 11 - (% style="color:#000000" %)Damit ein Zertifikat generiert werden kann, müssen folgende Ports vomvorgeschaltetenRouter (WAN) an den logoDIDACT-Server weitergeleitet werden:9 +Damit ein Zertifikat generiert werden kann, müssen folgende Ports vom Router (WAN) an den logoDIDACT-Server weitergeleitet werden: 12 12 13 13 {{code language="bash"}} 14 14 WAN (Internet) TCP-Port 80 -> auf externe IP-Adresse des logoDIDACT-Servers [http] ... ... @@ -16,39 +16,21 @@ 16 16 {{/code}} 17 17 18 18 19 -===== __ Freigabe von Kopano über rev-proxy__ =====17 +===== __Split-DNS__ ===== 20 20 21 - (%style="color:#000000"%)Erweitern Sie die##{{code}}/etc/logodidact/hosts/rev-proxy/revproxy.conf{{/code}}##imPuppeteer-LXCumfolgendeZeilen,um Kopanoüber den rev-proxyfreizugeben,falls diesnochnichtfolgtist.19 +Split-DNS muss im logosrv eingerichtet werden und sorgt für ein zuverlässiges beantragen des SSL-Zertifikates. Hintergrund für Split-DNS ist ein oftmals fehlerhaftes NAT-Loopback am Router. Dies sorgt dafür dass nicht versucht wird, interne Adressen auch intern aufzulösen sondern ins Internet geschickt werden. 22 22 23 -{{code language="bash"}} 24 -[ReverseProxy kopano.ShortName.logoip.de] 25 -Url https://kopano 26 -Template kopano 27 -{{/code}} 28 28 29 - (% style="color:#000000" %) ÜbernehmenSiedieuenDateienbzw.dieÄnderungenins Git:22 +Führen Sie folgende Schritte für die Einrichtung durch: 30 30 31 -{{code language="bash"}} 32 -cd /etc/logodidact/ 33 -git add . 34 -git commit -a -m "Kopano über rev-proxy freigegeben." 35 -{{/code}} 24 +Öffnen Sie die Datei "named.conf.local" im logosrv: 36 36 37 - 38 -===== (% style="color:#000000" %)__Split-DNS__(%%) ===== 39 - 40 -(% style="color:#000000" %)Hintergrund für Split-DNS ist ein oftmals fehlerhaftes NAT-Loopback am Router. Dies stellt sicher, dass externe Adressen wie z.b. kopano.shortname.logoip.de nicht zum Router geschickt werden, sondern zum internen rev-proxy weitergeleitet werden. Dadurch wird der Router als Fehlerquelle ausgeschlossen und alle Benutzer können im Schulnetz wie auch Zuhause die gleiche URL für den Zugriff verwenden. 41 - 42 -(% style="color:#000000" %)Führen Sie folgende Schritte für die Einrichtung durch, falls noch nicht erfolgt. 43 - 44 -(% style="color:#000000" %)Öffnen Sie die Datei "named.conf.local" im logosrv: 45 - 46 46 {{code language="bash"}} 47 47 root@logosrv:~ # vim /etc/bind/named.conf.local 48 48 {{/code}} 49 49 50 50 51 - (% style="color:#000000" %)Bearbeiten Sie die Datei wie folgt (Ersetzen Sie "musterstadt" durch den Schul-Shortname):31 +Bearbeiten Sie die Datei wie folgt (Ersetzen Sie "musterstadt" durch den Schul-Shortname): 52 52 53 53 {{code language="bash"}} 54 54 ## Externe dynamische IP intern auflösen ... ... @@ -60,7 +60,7 @@ 60 60 {{/code}} 61 61 62 62 63 - (% style="color:#000000" %)Öffnen Sie diereferenzierteDatei{{box}}db.dynip{{/box}}im logosrv:43 +Öffnen Sie die Datei "db.dynip" im logosrv: 64 64 65 65 {{code language="bash"}} 66 66 root@logosrv:~ # vim /etc/bind/db.dynip ... ... @@ -67,7 +67,7 @@ 67 67 {{/code}} 68 68 69 69 70 - (% style="color:#000000" %)Passen Sie gegebenenfalls die IP-Adresseinden letzten beiden Zeilen an, alsZiel muss auf denRev-Proxy Containerverwiesenwerden. Im StandardlautetdessenIP-Adresse"172.28.28.27":50 +Passen Sie gegebenenfalls die IP des Rev-Proxy Containers an. Im Standard ist diese die "172.28.28.27": 71 71 72 72 {{code language="bash"}} 73 73 $TTL 1h ... ... @@ -82,12 +82,12 @@ 82 82 NS ns1.schule.local. 83 83 NS ns2.schule.local. 84 84 85 - @A 172.28.28.2765 + A 172.28.28.27 86 86 * A 172.28.28.27 87 87 {{/code}} 88 88 89 89 90 - (% style="color:#000000" %)Starten Sie nach den Anpassungen den DNS-Server im logosrv neu:70 +Starten Sie nach den Anpassungen den DNS-Server im logosrv neu: 91 91 92 92 {{code language="bash"}} 93 93 root@logosrv:~ # /etc/init.d/bind9 restart ... ... @@ -94,23 +94,21 @@ 94 94 {{/code}} 95 95 96 96 97 - ----77 +===== __acmetool & acme.sh__ ===== 98 98 99 - ====(%style="color:#000000"%)__SSL-ZertifikatüberToolacmetooloderacme.shanfordern__(%%)====79 +Nach Schaffung der technischen Vorrausetzungen können Sie das Let's Encrypt-Zertifikat anfordern. Je nach verwendeter Software/Serverstand können Sie die folgenden 2 Wege nutzen: 100 100 101 -(% style="color:#000000" %)Nach Schaffung der technischen Voraussetzungen können Sie das Let's Encrypt-Zertifikat anfordern. Je nach verwendeter Software/Serverstand können Sie die folgenden 2 Wege nutzen: 102 102 82 +**__acmetool__** 103 103 104 - =====(%style="color:#000000"%)__acmetool__(%%) =====84 +Wechseln Sie in den puppeteer Container: 105 105 106 -(% style="color:#000000" %)Wechseln Sie in den puppeteer Container: 107 - 108 108 {{code language="bash"}} 109 109 root@ldhost:~ # lxc-ssh -n puppeteer 110 110 {{/code}} 111 111 112 112 113 - (% style="color:#000000" %)Fordern Sie das Zertifikat mit folgendem Befehl an (Ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname):91 +Fordern Sie das Zertifikat mit folgendem Befehl an (Ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname): 114 114 115 115 {{code language="bash"}} 116 116 root@puppeteer:~ # acmetool want kopano.SCHULKUERZEL.logoip.de ... ... @@ -117,9 +117,9 @@ 117 117 {{/code}} 118 118 119 119 120 - ===== (% style="color:#000000" %)__acme.sh__(%%) =====98 +**__acme.sh__** 121 121 122 - (% style="color:#000000" %)Wechseln Sie in den puppeteer Container:100 +Wechseln Sie in den puppeteer Container: 123 123 124 124 {{code language="bash"}} 125 125 root@ldhost:~ # lxc-ssh -n puppeteer ... ... @@ -126,7 +126,7 @@ 126 126 {{/code}} 127 127 128 128 129 - (% style="color:#000000" %)Wechseln Sie im puppeteer Container in die Umgebungdes Benutzersle-acmezurVerwaltungderLet's EncryptZertifikate:107 +Wechseln Sie im puppeteer Container in die Umgebung für das Verwalten der Zertifikate: 130 130 131 131 {{code language="bash"}} 132 132 root@puppeteer:~ # sle ... ... @@ -133,7 +133,7 @@ 133 133 {{/code}} 134 134 135 135 136 - (% style="color:#000000" %)Beantragen Sie ein neues Zertifikat mit folgendem Befehl (ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname):114 +Beantragen Sie ein neues Zertifikat mit folgendem Befehl (Ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname): 137 137 138 138 {{code language="bash"}} 139 139 le-acme@puppeteer:~ $ issue kopano.SCHULKUERZEL.logoip.de ... ... @@ -140,7 +140,7 @@ 140 140 {{/code}} 141 141 142 142 143 - (% style="color:#000000" %)Um dasVerteilen der Zertifikate zu beschleunigen,können Sienacheinandereinen{{box}}prun{{/box}}im puppeteer und rev-proxy Container durchführen:121 +Um das verteilen der Zertifikate zu beschleunigen können Sie ggf. einen prun im puppeteer und rev-proxy Container durchführen: 144 144 145 145 {{code language="bash"}} 146 146 root@puppeteer:~ # prun