Содержание
TrueConf
Системные требования: https://trueconf.ru/support/system-requirements.html
Ключ привязан к:
- Доменному имени
- Hard disk size
- Serial number (SMART)
- MAC address of the network card (MAC)
- Physical memory (MEM) size
Документация: 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
Настройка
Реверс-прокси
Из переписки с техподдержкой:
Могу привести рабочий пример настройки 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