Содержание

TrueConf

Системные требования: https://trueconf.ru/support/system-requirements.html

Ключ привязан к:

Документация: https://docs.trueconf.com/server/en/
База знаний: https://trueconf.com/blog/knowledge-base

Установка

Linux

https://trueconf.ru/downloads/linux.html#linux-distr
https://trueconf.ru/blog/baza-znaniy/kak-za-15-minut-razvernut-sistemu-videokonferenczij-na-baze-os-linux.html

Debian 11

apt install curl gnupg2 -y
echo "deb http://deb.trueconf.com/debian bullseye non-free" > /etc/apt/sources.list.d/trueconf.list
curl http://deb.trueconf.com/client/packages.trueconf.key | apt-key add -
apt update && apt install trueconf-server -y

Docker (неактуально)

Настройка

Реверс-прокси

Из переписки с техподдержкой:

Могу привести рабочий пример настройки Nginx: (в инструкции использован TCS в докер так как ранее клиентам предоставлял данную инструкцию конкретно для контейнера) В случаи если Nginx и TCS сервер находятся на разных машинах менять стандартные порты 443 и 80 на кастомные нет смысла.

1) Докер контейнер

sudo docker run -d -p 8888:80 -p 4443:443 -p 4307:4307 -e ADMIN_USER=tc_admin -e ADMIN_PASSWORD=12345 -v /home/$USER/trueconf/server:/opt/trueconf/server/var/lib trueconf/trueconf-server:stable

2) Прослушиваемые порты на хостовой машине с докер контейнером TCS

netstat -nltp
 
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 6701/docker-proxy
tcp 0 0 0.0.0.0:4443 0.0.0.0:* LISTEN 6722/docker-proxy

3) Порты настроенные в веб панели TCS, 80 и 443 (сертификат SSL в NGINX и в TCS используется одинаковый *.tcsupport.loc )

4) Конфиг Nginx

server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
 
ssl_certificate /etc/cert/server.crt;
ssl_certificate_key /etc/cert/server.key;
root /var/www/html;
index index.html index.htm;
 
server_name docker.tcsupport.loc;
location / {
proxy_pass https://127.0.0.1:4443;
proxy_ssl_verify off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
 
location /websocket/ {
proxy_pass http://127.0.0.1:4307/websocket/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
 
}

TCP соединение поднимается на 443 порт (то есть на Nginx). WebRTC работает, Rest запросы тоже.

Нет соединения с сервером (через реверс-прокси)

Вопрос: при попытке подключиться к конференции браузером, выдаётся ошибка «Нет соединения с сервером». Почему?

Ответ техподдержки: Скорее всего, не ходят веб-сокеты.

Соберите дамп из консоли браузера:

Пришлите полученный .har файл.

SSL-сертификат

Пути

# сам сертификат
/opt/trueconf/server/etc/webmanager/ssl/server.cer
# ключ
/opt/trueconf/server/etc/webmanager/ssl/server.key

Если сертификат выбран уже свой через веб-конфигуратор, то сертификат будет называться custom.crt, а ключ custom.key.

Конфиги: /opt/trueconf/server/etc/webmanager/opt

listen.conf
Listen 80
Define ssl_port 443
config.ssl
<IfModule ssl_module>
    SSLEngine On
    SSLCertificateFile "/opt/trueconf/server/etc/webmanager/ssl/server.crt"
    SSLCertificateKeyFile "/opt/trueconf/server/etc/webmanager/ssl/server.key"
    SSLProtocol +TLSv1.2 +TLSv1.3
    SSLCipherSuite      "${ssl_cipher_suite}"
    SSLHonorCipherOrder on
    SSLCompression      off
    SSLSessionTickets   off
</IfModule>

Выпуск SSL-сертификата

Выпуск делается один раз, больше не надо

Обновление SSL-сертификата

Настройка автообновления в systemd.timer

/lib/systemd/system/certbot.timer
[Unit]
Description=Run certbot weekly
 
[Timer]
# В 8:30 по понедельникам
OnCalendar=Mon *-*-* 08:30:00
#RandomizedDelaySec=43200
Persistent=true
 
[Install]
WantedBy=timers.target
/lib/systemd/system/certbot.service
[Unit]
Description=Certbot
Documentation=file:///usr/share/doc/python-certbot-doc/html/index.html
Documentation=https://certbot.eff.org/docs
[Service]
Type=oneshot
ExecStart=/usr/bin/certbot -q renew \
--pre-hook 'systemctl stop trueconf-web' \
--deploy-hook 'cp /etc/letsencrypt/live/tconf.example.com/cert.pem /opt/trueconf/server/etc/webmanager/ssl/custom.crt && cp /etc/letsencrypt/live/tconf.example.com/privkey.pem /opt/trueconf/server/etc/webmanager/ssl/custom.key && chown trueconf:trueconf /opt/trueconf/server/etc/webmanager/ssl/custom.*' \
--post-hook 'systemctl start trueconf-web'
PrivateTmp=true

Systemd для продолжающих. Part 1 — Запуск юнитов по временным событиям
https://eff-certbot.readthedocs.io/en/stable/using.html#certbot-command-line-options