Let’s Encrypt y certbot para HTTPS

Desde la versión 1.9.2.340, Perfect Streamer soporta la renovación automática de certificados Let’s Encrypt para HTTPS en Web Server, HTTP Server y EPG Server.

Configuración de certbot para RHEL.

Limitación:

  • El puerto TCP/80 debe estar libre y debe haber asignada una IP pública con nombre de dominio público.

  • Todos los servidores HTTPS usan el mismo nombre de host (web server, http server, epg server).

Instalación 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

Configuración de certbot:

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

Comprobación de certbot:

sudo certbot renew --dry-run

Comprobación del temporizador de certbot:

systemctl list-timers | grep certbot

En el panel admin de Perfect Streamer activar HTTPS en los servidores (Web Server, HTTP Server, EPG Server).

Crear el script hook (https://pstreamer.tv/distrib/scripts/cert_update.zip) y colocarlo en la ruta:

/opt/pss/scripts/cert_update.sh

Allí se puede indicar el nombre de dominio del host; por defecto se toma de /etc/hostname.

Hacer el archivo ejecutable.

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

Comprobar la ejecución del script, no debe haber errores:

/opt/pss/scripts/cert_update.sh

Los ajustes HTTPS deben aplicarse; el cambio de estado se reflejará en los logs.

Añadir archivo hook a certbot:

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

Volver a comprobar certbot:

sudo certbot renew --dry-run

Configuración de certbot para Debian/Ubuntu.

La configuración para Debian es análoga a RHEL; descripción breve con el ejemplo de Ubuntu 24.04.2 LTS.

Instalación de certbot:

apt install certbot
certbot certonly

Hacer el script ejecutable:

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

Ejecutar el script:

/opt/pss/scripts/cert_update.sh

Emite:

Select domain name (your domain name)

Comprobar si los certificados se han renovado:

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 fecha debe ser actual.