Установка CTS
Установка Single CTS
Внимание!
Перед началом процедуры установки необходимо установить VoEx.
Следующий набор команд выполняется в командной строке сервера, на котором устанавливается CTS:
- Запустите командную строку.
-
Подключитесь к репозиторию разработчика в Docker для скачивания контейнеров.
Логин и пароль
В качестве логина и пароля используются Login и Password, которые выдаются разработчиком.
docker login -u Login -p Password registry.public.express
-
Запустите операцию инсталляции.
docker run --rm registry.public.express/dpl:cts-release dpl-install | bash
Из репозитория на сервер скачается файл в формате YAML с контейнерами и инсталлятор.
-
Создайте рабочий каталог CTS.
mkdir -p /opt/express cd /opt/express echo DPL_IMAGE_TAG=cts-release > dpl.env dpl --init
После выполнения команды dpl --init cts создается файл settings.yaml.
-
Установите цепочки сертификатов и ключа 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.
Проверка подключения сертификатов после инсталляции описана в инструкции "Проверка сертификатов".
-
-
Выполните настройку DLP для доступа администраторов безопасности к содержимому сообщений. Параметры настройки см. в инструкции "Настройка DLP".
-
Установите 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
-
Установите 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'
Для изменения файла конфигурации воспользуйтесь любым текстовым редактором и внесите исправления в файл:
Название настройки | Значение |
---|---|
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
-
Запустите командную строку.
-
Подключитесь к репозиторию разработчика в Docker для скачивания контейнеров.
Логин и пароль
В качестве логина и пароля используются Login и Password, которые выдаются разработчиком.
docker login -u Login -p Password registry.public.express
-
Запустите операцию инсталляции.
docker run --rm registry.public.express/dpl:cts-release dpl-install | bash
Из репозитория на сервер скачается файл в формате YAML с контейнерами и инсталлятор.
-
Создайте рабочий каталог Front CTS:
mkdir -p /opt/express cd /opt/express echo DPL_IMAGE_TAG=cts-release > dpl.env dpl --init
-
Установите цепочки сертификатов и ключа 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
Проверка подключения сертификатов после инсталляции описана в инструкции "Проверка сертификатов".
-
-
Откройте для редактирования конфигурационный файл settings.yaml (Файл использует язык разметки 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.
-
Отредактируйте конфигурационный файл settings.yaml следующим образом: удалите строки содержащие prometheus_users, cts_backend и добавьте следующие параметры:
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
- Запустите командную строку.
-
Подключитесь к репозиторию разработчика в Docker для скачивания контейнеров.
Логин и пароль
В качестве логина и пароля используются Login и Password, которые выдаются разработчиком.
docker login -u Login -p Password registry.public.express
-
Запустите операцию инсталляции.
deployka: docker run --rm registry.public.express/dpl:cts-release dpl-install | bash
Из репозитория на сервер скачается файл в формате YAML с контейнерами и инсталлятор.
-
Создайте рабочий каталог Back CTS.
mkdir -p /opt/express cd /opt/express
-
Установите цепочки сертификатов и ключа 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
Проверка подключения сертификатов после инсталляции описана в инструкции "Проверка сертификатов".
-
-
Скопируйте файл конфигурации с Front CTS (/opt/express/settings.yaml) на сервер Back CTS и разместите его в папке /opt/express.
-
Откройте для редактирования конфигурационный файл settings.yaml (файл использует язык разметки YAML):
Примечание
-
Значения параметров cts_id, rts_host, rts_id и rts_token должны находиться внутри кавычек (‘value’). На другие параметры данное требование не распространяется. В случае ручного ввода значений символ кавычки не вводится.
-
25.10.2021 вырезана ELK из установки CTS сервера. При необходимости используйте внешнюю инсталляцию, указав elk_host в settings.
Для корректного функционирования сервера рекомендуется ис-правлять параметры cts_id, rts_host, rts_id и rts_token.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
-
-
При редактировании файла конфигурации внесите дополнительные настройки:
9. При редактировании файла конфигурации внесите дополнительные настройки:cts_frontend: true kafka_host: backend_name.somedomain.sometld postgres_host: backend_name.somedomain.sometld
cts_backend: true set_real_ip_from: - 10.4.151.168 #IP frontend
-
Установите 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
-
Установите Prometheus node exporter из каталога /opt/express с помощью команды:
dpl cadvinstall ps ax|grep cadvisor | grep -v grep
Внимание!
Если по требованиям информационной безопасности выход в Интернет с Back CTS должен быть ограничен, предусмотрено использование TinyProxy. При необходимости использовать proxy рекомендуем ознакомиться с настройкой proxy для службы Docker по ссылке:
Установка TinyProxy
-
В каталоге, в котором установлена ОС, запустите команду:
Ubuntu\Debian - apt-get install -y tinyproxy RHEL\CentOS - yum install -y epel-release RHEL\CentOS - yum install -y tinyproxy
-
Создайте файл /etc/tinyproxy/filter, в котором перечисляются хосты для доступа через прокси:
registry.public.express registry-auth.public.express
Автоматически будет создан файл конфигурации для tinyproxy: /etc/tinyproxy/tinyproxy.conf.
-
В файл /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
-
Перезапустите сервис tinyproxy с помощью команды:
sudo systemctl restart tinyproxy