|
@@ -9,79 +9,124 @@ toc: no
|
|
|
das Zertifikat für https://map-ng.ffdo.de/map/ ist abgelaufen, das für grafana.ffdo.de läuft in Kürze ab
|
|
|
das acmetool ist auf dem alten Debian nicht mehr supportet. Daher habe ich jetzt das acme.sh skript verwendet. Das hat quasi (fast) keine Abhänigkeiten.
|
|
|
Erstmal acme.sh installieren (landet leider direkt in /root/.acme.sh/)
|
|
|
- socat ist die einzige Abhänigkeit die wohl manches einfacher macht; daher wird das vorher installiert
|
|
|
- apt-get install socat
|
|
|
-
|
|
|
+socat ist die einzige Abhänigkeit die wohl manches einfacher macht; daher wird das vorher installiert
|
|
|
+
|
|
|
+#
|
|
|
+ apt-get install socat
|
|
|
+#
|
|
|
+
|
|
|
Altlast besser weg gucken...
|
|
|
Damit laden wir das install-script runter und führen es direkt mit root rechten aus
|
|
|
- curl https://get.acme.sh | sh
|
|
|
|
|
|
+#
|
|
|
+ curl https://get.acme.sh | sh
|
|
|
+#
|
|
|
Vorbereitungen für LEs Challenge
|
|
|
- mkdir /var/www/letsencrypt
|
|
|
|
|
|
+#
|
|
|
+ mkdir /var/www/letsencrypt
|
|
|
+#
|
|
|
In allen vier virtuellen Hosts müssen wir das acmetool rauswerfen und acme.sh einfügen
|
|
|
-Vorher zB.:
|
|
|
-- location /.well-known/acme-challenge/ {
|
|
|
-- include proxy_params;
|
|
|
-- proxy_pass http://127.0.0.1:402;
|
|
|
-- }
|
|
|
+Vorher zB.:
|
|
|
+
|
|
|
+#
|
|
|
+ location /.well-known/acme-challenge/ {
|
|
|
+ include proxy_params;
|
|
|
+ proxy_pass http://127.0.0.1:402;
|
|
|
+ }
|
|
|
+#
|
|
|
Nachher zB.:
|
|
|
-- location /.well-known/acme-challenge {
|
|
|
-- root /var/www/letsencrypt;
|
|
|
-- try_files $uri $uri/ =404;
|
|
|
-- }
|
|
|
-nano /etc/nginx/sites-available/prometheus_unsecure.conf
|
|
|
-nano /etc/nginx/sites-available/grafana_unsecure.conf
|
|
|
-nano /etc/nginx/sites-available/wiki_unsecure.conf
|
|
|
-nano /etc/nginx/sites-available/gogs_unsecure.conf
|
|
|
+
|
|
|
+#
|
|
|
+ location /.well-known/acme-challenge {
|
|
|
+ root /var/www/letsencrypt;
|
|
|
+ try_files $uri $uri/ =404;
|
|
|
+ }
|
|
|
+#
|
|
|
+
|
|
|
+Das in allen conf-Dateien:
|
|
|
+
|
|
|
+#
|
|
|
+ nano /etc/nginx/sites-available/prometheus_unsecure.conf
|
|
|
+ nano /etc/nginx/sites-available/grafana_unsecure.conf
|
|
|
+ nano /etc/nginx/sites-available/wiki_unsecure.conf
|
|
|
+ nano /etc/nginx/sites-available/gogs_unsecure.conf
|
|
|
+#
|
|
|
|
|
|
Dann einmal nginx neu starten damit die obigen Einstellungen aktiv werden
|
|
|
systemctl reload nginx
|
|
|
|
|
|
Jetzt die Zertifkate abholen/generieren
|
|
|
-/root/.acme.sh/acme.sh --issue -d prometheus.ffdo.de -w /var/www/letsencrypt --server letsencrypt --reloadcmd "systemctl restart nginx.service"
|
|
|
-/root/.acme.sh/acme.sh --issue -d wiki.ffdo.de -w /var/www/letsencrypt --server letsencrypt --reloadcmd "systemctl restart nginx.service"
|
|
|
-/root/.acme.sh/acme.sh --issue -d git.ffdo.de -w /var/www/letsencrypt --server letsencrypt --reloadcmd "systemctl restart nginx.service"
|
|
|
-/root/.acme.sh/acme.sh --issue -d grafana.ffdo.de -d grafana.freifunk-dortmund.de -w /var/www/letsencrypt --server letsencrypt --reloadcmd "systemctl restart nginx.service"
|
|
|
+
|
|
|
+#
|
|
|
+ /root/.acme.sh/acme.sh --issue -d prometheus.ffdo.de -w /var/www/letsencrypt --server letsencrypt --reloadcmd "systemctl restart nginx.service"
|
|
|
+ /root/.acme.sh/acme.sh --issue -d wiki.ffdo.de -w /var/www/letsencrypt --server letsencrypt --reloadcmd "systemctl restart nginx.service"
|
|
|
+ /root/.acme.sh/acme.sh --issue -d git.ffdo.de -w /var/www/letsencrypt --server letsencrypt --reloadcmd "systemctl restart nginx.service"
|
|
|
+ /root/.acme.sh/acme.sh --issue -d grafana.ffdo.de -d grafana.freifunk-dortmund.de -w /var/www/letsencrypt --server letsencrypt --reloadcmd "systemctl restart nginx.service"
|
|
|
+#
|
|
|
|
|
|
Jetzt in den HTTPS configs die neuen Zertifkatspfade eintragen
|
|
|
Vorher zB.:
|
|
|
- ssl_certificate /var/lib/acme/live/grafana.ffdo.de/fullchain;
|
|
|
- ssl_certificate_key /var/lib/acme/live/grafana.ffdo.de/privkey;
|
|
|
+
|
|
|
+#
|
|
|
+ ssl_certificate /var/lib/acme/live/grafana.ffdo.de/fullchain;
|
|
|
+ ssl_certificate_key /var/lib/acme/live/grafana.ffdo.de/privkey;
|
|
|
+#
|
|
|
Nachher zB.:
|
|
|
- ssl_certificate /root/.acme.sh/grafana.ffdo.de/fullchain.cer;
|
|
|
- ssl_certificate_key /root/.acme.sh/grafana.ffdo.de/grafana.ffdo.de.key;
|
|
|
-nano /etc/nginx/sites-available/gogs.conf
|
|
|
-nano /etc/nginx/sites-available/grafana.conf
|
|
|
-nano /etc/nginx/sites-available/wiki.conf
|
|
|
-nano /etc/nginx/sites-available/prometheus.conf
|
|
|
+
|
|
|
+#
|
|
|
+ ssl_certificate /root/.acme.sh/grafana.ffdo.de/fullchain.cer;
|
|
|
+ ssl_certificate_key /root/.acme.sh/grafana.ffdo.de/grafana.ffdo.de.key;
|
|
|
+ nano /etc/nginx/sites-available/gogs.conf
|
|
|
+ nano /etc/nginx/sites-available/grafana.conf
|
|
|
+ nano /etc/nginx/sites-available/wiki.conf
|
|
|
+ nano /etc/nginx/sites-available/prometheus.conf
|
|
|
+#
|
|
|
|
|
|
nginx neustarten
|
|
|
-systemctl restart nginx
|
|
|
+
|
|
|
+#
|
|
|
+ systemctl restart nginx
|
|
|
+#
|
|
|
|
|
|
Geht nicht! Warum?
|
|
|
journalctl -xn
|
|
|
|
|
|
--> Jul 13 16:36:46 services nginx[2264]:
|
|
|
--> nginx: [emerg] SSL_CTX_use_PrivateKey_file("/root/.acme.sh/git.ffdo.de/git.ffdo.de.key.")
|
|
|
--> failed (SSL: error:02001002:system library:fopen:No such file
|
|
|
+#
|
|
|
+ -> Jul 13 16:36:46 services nginx[2264]:
|
|
|
+ -> nginx: [emerg] SSL_CTX_use_PrivateKey_file("/root/.acme.sh/git.ffdo.de/git.ffdo.de.key.")
|
|
|
+ -> failed (SSL: error:02001002:system library:fopen:No such file
|
|
|
+#
|
|
|
|
|
|
Man beachte den Dateinamen für den private key... da ist am Ende ein "." zuviel...
|
|
|
Also Punkt rauswerfen:
|
|
|
-nano gogs.conf
|
|
|
+
|
|
|
+#
|
|
|
+ nano gogs.conf
|
|
|
+#
|
|
|
|
|
|
nginx nochmal neustarten damit die Zertifikate geladen werden
|
|
|
-systemctl restart nginx
|
|
|
+
|
|
|
+#
|
|
|
+ systemctl restart nginx
|
|
|
+#
|
|
|
|
|
|
Automatischen renew einmal erzwungen laufen lassen (zum testen ob alles geht)
|
|
|
-/root/.acme.sh/acme.sh --cron --home /root/.acme.sh --renew-hook "systemctl reload nginx" --force
|
|
|
+
|
|
|
+#
|
|
|
+ /root/.acme.sh/acme.sh --cron --home /root/.acme.sh --renew-hook "systemctl reload nginx" --force
|
|
|
+#
|
|
|
|
|
|
Keine Fehler beim Testlauf, also noch Cronjob anlegen
|
|
|
-crontab -e
|
|
|
|
|
|
+#
|
|
|
+ crontab -e
|
|
|
+#
|
|
|
Feststellen, dass das install script schon ein entsprechenden eintrag gemacht hat
|
|
|
--> 23 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
|
|
|
|
|
|
+#
|
|
|
+ -> 23 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
|
|
|
+#
|
|
|
Fertig.
|
|
|
|
|
|
# Cajus 12.05.21
|