Let’s Encrypt et certbot pour HTTPS

Depuis la version 1.9.2.340, Perfect Streamer prend en charge le renouvellement automatique des certificats Let’s Encrypt pour HTTPS dans Web Server, HTTP Server et EPG Server.

Configuration de certbot pour RHEL.

Limitation :

  • Le port TCP/80 doit être libre et une IP publique avec un nom de domaine public doit être assignée.

  • Tous les serveurs HTTPS utilisent le même nom d’hôte (web server, http server, epg server).

Installation de 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

Configuration de certbot :

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

Vérification de certbot :

sudo certbot renew --dry-run

Vérification du minuteur certbot :

systemctl list-timers | grep certbot

Dans l’admin de Perfect Streamer, activer HTTPS sur les serveurs (Web Server, HTTP Server, EPG Server).

Créer un script hook (https://pstreamer.tv/distrib/scripts/cert_update.zip) et le placer au chemin :

/opt/pss/scripts/cert_update.sh

Y indiquer si besoin le nom de domaine de l’hôte ; par défaut, il est lu depuis /etc/hostname.

Rendre le fichier exécutable.

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

Vérifier l’exécution du script, il ne doit pas y avoir d’erreurs :

/opt/pss/scripts/cert_update.sh

Les paramètres HTTPS doivent s’appliquer ; le changement de statut apparaît dans les logs.

Ajouter un fichier hook à certbot :

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

Revérifier certbot :

sudo certbot renew --dry-run

Configuration de certbot pour Debian/Ubuntu.

La configuration pour Debian est analogue à celle pour RHEL ; description courte à l’exemple d’Ubuntu 24.04.2 LTS.

Installation de certbot :

apt install certbot
certbot certonly

Rendre le script exécutable :

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

Exécution du script :

/opt/pss/scripts/cert_update.sh

Émet :

Select domain name (your domain name)

Vérifier si les certificats ont été renouvelés :

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

La date doit être à jour.