Перейти к содержанию

Установка CTS

Установка Single CTS

Внимание!

Перед началом процедуры установки необходимо установить VoEx.

Следующий набор команд выполняется в командной строке сервера, на котором устанавливается CTS:

  1. Запустите командную строку.
  2. Подключитесь к репозиторию разработчика в Docker для скачивания контейнеров.

    Логин и пароль

    В качестве логина и пароля используются Login и Password, которые выдаются разработчиком.

    docker login -u Login -p Password registry.public.express

  3. Скачайте контейнер-инсталлятор:

    docker run --rm registry.public.express/dpl:cts-release dpl-install | bash
    

    Из репозитория на сервер скачается файл в формате YAML с контейнерами и инсталлятор.

  4. Создайте рабочий каталог CTS.

    mkdir -p /opt/express
    cd /opt/express
    echo DPL_IMAGE_TAG=cts-release > dpl.env
    dpl --init 
    

    После выполнения команды dpl --init cts создается файл settings.yaml.

  5. Установите цепочки сертификатов и ключа SSL.

    • при использовании собственного сертификата создайте директорию для сертификатов.

      Внимание!

      Имя файла сертификата и имя ключа должны соответствовать примеру ниже.

      mkdir -p certs
      cp /somewhere/my-certificate-chain.crt certs/express.crt
      cp /somewhere/my-unencrypted-key.key certs/express.key
      

      Конструкции /somewhere/my-certificate-chain.crt и /somewhere/my-unencrypted-key.key индивидуальны для каждого конкретного случая.

      Конструкции nginx/certs/nginx.crt и nginx/certs/nginx.key являются обязательными.

      Требования к сертификатам см. в инструкции "Требования к сертификату".

    • при использовании сертификата от Let's Encrypt в файл settings.yaml добавьте параметр le_email: admin@company-mail.ru.

    Проверка подключения сертификатов после инсталляции описана в инструкции "Проверка сертификатов".

  6. Выполните настройку DLP для доступа администраторов безопасности к содержимому сообщений. Параметры настройки см. в инструкции "Настройка DLP".

  7. Установите cAdvisor (установка выполняется из каталога /opt/express).

    dpl cadvinstall
    ps ax|grep cadvisor | grep -v grep
    

    Вывод команды:

    17605 ? Ssl 44:20 /usr/bin/cadvisor -listen_ip 172.17.0.1 -port 9100

  8. Установите Prometheus node exporter из каталога /opt/express с помощью команды:

    dpl nxinstall
    ps ax|grep node_exporter | grep -v grep
    

    Вывод команды:

    17802 ? Ssl 322:51 /usr/bin/node_exporter --web.listen-address=172.17.0.1:9200

По завершении установки CTS и вспомогательного ПО создается файл конфигурации, в котором необходимо задать параметры для подключения к RTS, получения push-уведомлений, SMS-сообщений и других функций.

Созданный по умолчанию файл конфигурации имеет следующий вид и требует редактирования:

Примечание

  • Значения параметров cts_id, rts_host, rts_id и rts_token должны находиться внутри кавычек (‘value’). На другие параметры данное требование не распространяется. Для предотвращения ошибок рекомендуется заменить параметры сгенерированного файла параметрами, выданными разработчиками. В случае ручного ввода значений символ кавычки не вводится.

  • 25.10.2021 вырезана ELK из установки CTS-сервера. При необходимости используйте внешнюю инсталляцию, указав elk_host в settings.

api_internal_token: verystrongpassword
ccs_host: cts_name.somedomain.sometld
cts_id: 'aaaa-bbbb-cccc-dddd'
phoenix_secret_key_base: verystrongpassword
postgres_password: verystrongpassword
prometheus_users: verystrongpassword
    prometheus: verystrongpassword
rts_host: 'rts_name.somedomain.sometld'
rts_id: 'aaaa-bbbb-cccc-dddd'
rts_token: 'verystrongpassword'
Для корректного функционирования сервера рекомендуется исправлять параметры cts_id, rts_host, rts_id и rts_token.

Для изменения файла конфигурации воспользуйтесь любым текстовым редактором и внесите исправления в файл:

Название настройки Значение
ccs_host Полное имя домена данного сервера, прописанное в DNS и соответствующее имени, на которое приобретался сертификат
cts_id Идентификатор установленного сервера, предоставляется разработчиком
prometheus_users Список пользователей с паролями, генерируемыми утилитой htpasswd, для доступа к интегрированному в систему стеку Prometheus
rts_host Полное имя домена сервера RTS, к которому будет подключен установленный CTS (предоставляется разработчиком)
rts_id Идентификатор сервера RTS (предоставляется разработчиком)
rts_token Токен для авторизации на сервере RTS (предоставляется разработчиком)
le_email Параметр устанавливается при использовании сертификата от компании Let's Encrypt. Значение параметра должно соответствовать e-mail, на который будут приходить оповещения от Let's Encrypt
janus_enabled Установите значение "true"
janus_url ws://172.17.0.1:8188
voex_redis_connection_string redis://:verystrongpassword@172.17.0.1:6379/1. Можно сгенерировать через "openssl rand -hex 16"
admin_url Параметр указывается для переопределения стандартного пути (/admin) к веб-интерфейсу администратора: например /not-admin
sip_trunk_enable: true Параметр устанавливается для использования вызовов через SIP-телефонию. После добавления параметра выполните в каталоге /opt/express команду
– dpl -d messaging <br> ss -stuln | grep 5060

Для подключения сервера VoEx к CTS добавьте в конфигурацию:

voex_enabled: true
voex_redis_connection_string: redis://: verystrongpassword@voex_fqdn_address:6379/1

Параметр voex_redis_connection_string измените в соответствии с настройками подключения к серверу VoEx и базе Redis, функционирующей на нем. Значение verystrongpassword — это пароль к базе данных redis, который должен совпадать со значением в таблице выше:

- --requirepass verystrongpassword
redis_userdb: ip=localhost password=verystrongpassword

При первой возможности замените значение verystrongpassword на более сложное.


Установка Front CTS и Back CTS серверов

Установка комбинации Front CTS и Back CTS серверов осуществляется в определенном порядке.

Установка Front CTS

  1. Запустите командную строку.

  2. Подключитесь к репозиторию разработчика в Docker для скачивания контейнеров.

    Логин и пароль

    В качестве логина и пароля используются Login и Password, которые выдаются разработчиком.

    docker login -u Login -p Password registry.public.express

  3. Скачайте контейнер-инсталлятор:

    docker run --rm registry.public.express/dpl:cts-release dpl-install | bash
    

    Из репозитория на сервер скачается файл в формате YAML с контейнерами и инсталлятор.

  4. Создайте рабочий каталог Front CTS:

    mkdir -p /opt/express
    cd /opt/express
    echo DPL_IMAGE_TAG=cts-release > dpl.env
    dpl --init
    

  5. Установите цепочки сертификатов и ключа SSL.

    • при использовании собственного сертификата создайте директорию для сертификатов.

      Внимание!

      Имя файла сертификата и имя ключа должны соответствовать примеру ниже.

      mkdir -p certs
      cp /somewhere/my-certificate-chain.crt certs/express.crt
      cp /somewhere/my-unencrypted-key.key certs/express.key
      

      Конструкции /somewhere/my-certificate-chain.crt и /somewhere/my-unencrypted-key.key индивидуальны для каждого конкретного случая.

      Конструкции nginx/certs/nginx.crt и nginx/certs/nginx.key являются обязательными.

      Требования к сертификатам изложены в инструкции "Требования к сертификату".

    • при использовании сертификата от Let's Encrypt в файл settings.yaml добавьте параметр le_email: admin@company-mail.ru

    Проверка подключения сертификатов после инсталляции описана в инструкции "Проверка сертификатов".

  6. Откройте для редактирования конфигурационный файл settings.yaml, добавив добавьте следующие параметры:

    api_internal_token: verystrongpassword
    ccs_host: cts_name.somedomain.sometld
    cts_id: 'aaaa-bbbb-cccc-dddd'
    janus_url: ws://172.17.0.1:8188
    phoenix_secret_key_base: verystrongpassword
    postgres_password: verystrongpassword
    prometheus_users:
        prometheus: verystrongpassword
    rts_host: 'rts_name.somedomain.sometld'
    rts_id: 'aaaa-bbbb-cccc-dddd'
    rts_token: 'verystrongpassword'
    voex_redis_connection_string: redis://172.17.0.1:6379/1
    

    Для корректного функционирования сервера рекомендуется исправлять параметры cts_id, rts_host, rts_id и rts_token.

    Примечание

    • Значения параметров cts_id, rts_host, rts_id и rts_token должны находиться внутри кавычек (‘value’). На другие параметры данное требование не распространяется. В случае ручного ввода значений символ кавычки не вводится.
    • 25.10.2021 вырезана ELK из установки CTS сервера. При необходимости, используйте внешнюю инсталляцию, указав elk_host в settings.
  7. Отредактируйте конфигурационный файл settings.yaml, добавив следующие параметры:

    cts_frontend: true
    kafka_host: backend_name.somedomain.sometld
    postgres_host: backend_name.somedomain.sometld
    frontend_host: frontend_name.somedomain.sometld 
    backend_host: backend_name.somedomain.sometld
    


Установка Back CTS

  1. Запустите командную строку.
  2. Подключитесь к репозиторию разработчика в Docker для скачивания контейнеров.

    Логин и пароль

    В качестве логина и пароля используются Login и Password, которые выдаются разработчиком.

    docker login -u Login -p Password registry.public.express

  3. Скачайте контейнер-инсталлятор:

    deployka: docker run --rm registry.public.express/dpl:cts-release dpl-install | bash
    

    Из репозитория на сервер скачается файл в формате YAML с контейнерами и инсталлятор.

  4. Создайте рабочий каталог Back CTS.

    mkdir -p /opt/express
    cd /opt/express
    
  5. Установите цепочки сертификатов и ключа SSL.

    • при использовании собственного сертификата создайте директорию для сертификатов.

      Внимание!

      Имя файла сертификата и имя ключа должны соответствовать примеру ниже.

      mkdir -p certs
      cp /somewhere/my-certificate-chain.crt certs/express.crt
      cp /somewhere/my-unencrypted-key.key certs/express.key
      

      Конструкции /somewhere/my-certificate-chain.crt и /somewhere/my-unencrypted-key.key индивидуальны для каждого конкретного случая.

      Конструкции nginx/certs/nginx.crt и nginx/certs/nginx.key являются обязательными.

      Требования к сертификатам изложены в инструкции "Требования к сертификату".

    • при использовании сертификата от Let's Encrypt в файл settings.yaml добавьте параметр le_email: admin@company-mail.ru

    Проверка подключения сертификатов после инсталляции описана в инструкции "Проверка сертификатов".

  6. Скопируйте файл конфигурации с Front CTS (/opt/express/settings.yaml) на сервер Back CTS и разместите его в папке /opt/express.

  7. Откройте для редактирования конфигурационный файл settings.yaml (файл использует язык разметки YAML):

    Примечание

    • Значения параметров cts_id, rts_host, rts_id и rts_token должны находиться внутри кавычек (‘value’). На другие параметры данное требование не распространяется. В случае ручного ввода значений символ кавычки не вводится.

    • 25.10.2021 вырезана ELK из установки CTS сервера. При необходимости используйте внешнюю инсталляцию, указав elk_host в settings.

    api_internal_token: verystrongpassword
    ccs_host: cts_name.somedomain.sometld
    cts_id: 'aaaa-bbbb-cccc-dddd'
    janus_url: ws://172.17.0.1:8188
    phoenix_secret_key_base: verystrongpassword
    postgres_password: verystrongpassword
    prometheus_users
      prometheus: verystrongpassword
    rts_host: 'rts_name.somedomain.sometld'
    rts_id: 'aaaa-bbbb-cccc-dddd'
    rts_token: 'verystrongpassword'
    voex_redis_connection_string: redis://172.17.0.1:6379/1
    cts_frontend: true 
    kafka_host: backend_name.somedomain.sometld 
    postgres_host: backend_name.somedomain.sometld 
    frontend_host: frontend_name.somedomain.sometld
    backend_host: backend_name.somedomain.sometld
    
  8. При редактировании файла конфигурации удалите дополнительные настройки:

    cts_frontend: true
    kafka_host: backend_name.somedomain.sometld
    postgres_host: backend_name.somedomain.sometld
    
    и добавьте следующие параметры:
    cts_backend: true
    

  9. Установите Prometheus node exporter из каталога /opt/express с помощью команды:

    dpl nxinstall
    ps ax|grep node_exporter | grep -v grep
    

Внимание!

Если по требованиям информационной безопасности выход в Интернет с Back CTS должен быть ограничен, предусмотрено использование TinyProxy. При необходимости использовать proxy рекомендуем ознакомиться с настройкой proxy для службы Docker по ссылке:

https://docs.docker.com/config/daemon/systemd/


Установка TinyProxy

  1. В каталоге, в котором установлена ОС, запустите команду:

    Ubuntu\Debian - apt-get install -y tinyproxy
    RHEL\CentOS - yum install -y epel-release
    RHEL\CentOS - yum install -y tinyproxy
    

  2. Создайте файл /etc/tinyproxy/filter, в котором перечисляются хосты для доступа через прокси:

    registry.public.express
    registry-auth.public.express
    

    Автоматически будет создан файл конфигурации для tinyproxy: /etc/tinyproxy/tinyproxy.conf.

  3. В файл /etc/tinyproxy/tinyproxy.conf внесите настройки:

    User tinyproxy
    Group tinyproxy
    Port 8888
    Timeout 600
    DefaultErrorFile "/usr/share/tinyproxy/default.html"
    StatFile "/usr/share/tinyproxy/stats.html"
    LogFile "/var/log/tinyproxy/tinyproxy.log"
    LogLevel Info
    PidFile "/var/run/tinyproxy/tinyproxy.pid"
    MaxClients 10
    MinSpareServers 1
    MaxSpareServers 5
    StartServers 1
    MaxRequestsPerChild 0
    #BackIP
    Allow 192.168.80.22
    ViaProxyName "tinyproxy"
    Filter "/etc/tinyproxy/filter"
    FilterDefaultDeny Yes
    ConnectPort 443
    ConnectPort 563
    
  4. Перезапустите сервис tinyproxy с помощью команды:

    sudo systemctl restart tinyproxy