Let’s Encrypt и certbot для HTTPS¶
Начиная с версии 1.9.2.340 Perfect Streamer поддерживает автоматическое обновление сертификатов Let’s Encrypt для работы HTTPS в Web Server, HTTP Server, EPG Server.
Настройка certbot для RHEL¶
Ограничение:
Должен быть свободен tcp/80 порт и назначен белый IP-адрес с публичным доменным именем.
Для всех HTTPS-серверов используется одинаковое имя хоста (web server, http server, epg server).
Установка 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:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot certonly --standalone
Проверка certbot:
sudo certbot renew --dry-run
Проверка таймера certbot:
systemctl list-timers | grep certbot
В админке Perfect Streamer включить HTTPS на серверах (Web Server, HTTP Server, EPG Server).
Создать hook скрипт (https://pstreamer.tv/distrib/scripts/cert_update.zip) и разместить его по пути:
/opt/pss/scripts/cert_update.sh
В нем, если надо, прописать доменное имя хоста, по умолчанию берется из /etc/hostname.
Сделать файл исполняемым.
chmod +x /opt/pss/scripts/cert_update.sh
Проверить запуск скрипта, не должно быть ошибок:
/opt/pss/scripts/cert_update.sh
Настройки HTTPS должны примениться, изменение статуса отобразится в логах.
Добавить hook файл в certbot:
certbot renew --deploy-hook "/opt/pss/scripts/cert_update.sh"
Еще раз проверить certbot:
sudo certbot renew --dry-run
Настройка certbot для Debian/Ubuntu¶
Настройка для Debian аналогична RHEL, краткое описание установки на примере Ubuntu 24.04.2 LTS.
Установка certbot:
apt install certbot
certbot certonly
Делаем скрипт исполняемым:
chmod +x /opt/pss/scripts/cert_update.sh
Запускаем скрипт:
/opt/pss/scripts/cert_update.sh
Выдаёт:
Select domain name (your domain name)
Проверяем обновились ли сертификаты:
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
Дата должна быть актуальной.