Let’s Encrypt und certbot für HTTPS

Ab Version 1.9.2.340 unterstützt Perfect Streamer die automatische Erneuerung von Let’s-Encrypt-Zertifikaten für HTTPS in Web Server, HTTP Server und EPG Server.

certbot für RHEL einrichten.

Einschränkung:

  • Der TCP-Port 80 muss frei sein und es muss eine öffentliche IP mit Public-Domain-Name vergeben sein.

  • Alle HTTPS-Server nutzen denselben Hostnamen (Web Server, HTTP Server, EPG Server).

Installation von certbot (https://certbot.eff.org/instructions?ws=other&os=snap):

sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install certbot --classic

certbot konfigurieren:

sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot certonly --standalone

certbot-Prüfung:

sudo certbot renew --dry-run

certbot-Timer prüfen:

systemctl list-timers | grep certbot

In der Perfect-Streamer-Adminoberfläche HTTPS für Web Server, HTTP Server und EPG Server aktivieren.

Hook-Skript erstellen (https://pstreamer.tv/distrib/scripts/cert_update.zip) und es unter folgendem Pfad ablegen:

/opt/pss/scripts/cert_update.sh

Dort kann bei Bedarf der Hostname eingetragen werden; standardmäßig wird er aus /etc/hostname übernommen.

Datei ausführbar machen.

chmod +x /opt/pss/scripts/cert_update.sh

Skriptausführung prüfen, es sollten keine Fehler auftreten:

/opt/pss/scripts/cert_update.sh

Die HTTPS-Einstellungen sollten greifen; die Statusänderung wird in den Logs angezeigt.

Hook-Datei in certbot hinzufügen:

certbot renew --deploy-hook "/opt/pss/scripts/cert_update.sh"

certbot erneut prüfen:

sudo certbot renew --dry-run

certbot für Debian/Ubuntu einrichten.

Die Einrichtung unter Debian läuft analog zu RHEL; kurze Beschreibung am Beispiel Ubuntu 24.04.2 LTS.

certbot installieren:

apt install certbot
certbot certonly

Skript ausführbar machen:

chmod +x /opt/pss/scripts/cert_update.sh

Skript ausführen:

/opt/pss/scripts/cert_update.sh

Ausgabe:

Select domain name (your domain name)

Prüfen, ob die Zertifikate erneuert wurden:

ls -lat /opt/pss/config/cert/
total 44
-rw------- 1 root root  241 May 26 07:52 epgserver.key
-rw------- 1 root root  241 May 26 07:52 httpserver.key
-rw------- 1 root root  241 May 26 07:52 webserver.key
-rw-r--r-- 1 root root 1338 May 26 07:52 epgserver.crt
-rw-r--r-- 1 root root 1338 May 26 07:52 httpserver.crt
-rw-r--r-- 1 root root 1338 May 26 07:52 webserver.crt

Das Datum muss aktuell sein.