Let’s Encrypt e certbot para HTTPS

A partir da versão 1.9.2.340, o Perfect Streamer suporta renovação automática de certificados Let’s Encrypt para HTTPS no Web Server, HTTP Server e EPG Server.

Configuração do certbot para RHEL.

Limitação:

  • A porta TCP/80 deve estar livre e deve ser atribuído um IP público com nome de domínio público.

  • Todos os servidores HTTPS usam o mesmo nome de host (web server, http server, epg server).

Instalação do 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

Configuração do certbot:

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

Verificação do certbot:

sudo certbot renew --dry-run

Verificação do timer do certbot:

systemctl list-timers | grep certbot

No painel admin do Perfect Streamer, ative o HTTPS nos servidores (Web Server, HTTP Server, EPG Server).

Crie o script de hook (https://pstreamer.tv/distrib/scripts/cert_update.zip) e coloque-o no caminho:

/opt/pss/scripts/cert_update.sh

Ali, se necessário, indique o nome de domínio do host; por padrão é lido de /etc/hostname.

Tornar o arquivo executável.

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

Verificar a execução do script, não deve haver erros:

/opt/pss/scripts/cert_update.sh

As configurações HTTPS devem ser aplicadas; a mudança de status aparecerá nos logs.

Adicionar arquivo de hook ao certbot:

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

Verificar o certbot novamente:

sudo certbot renew --dry-run

Configuração do certbot para Debian/Ubuntu.

A configuração no Debian é análoga ao RHEL; descrição breve no exemplo de Ubuntu 24.04.2 LTS.

Instalação do certbot:

apt install certbot
certbot certonly

Tornando o script executável:

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

Executando o script:

/opt/pss/scripts/cert_update.sh

Emite:

Select domain name (your domain name)

Verificar se os certificados foram renovados:

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

A data deve ser atual.