Установка необходимых для Elph пакетов
Для работы приложения Elph Desktop на сервере должен быть установлен пакет ecss-elph-api и развёрнут ecss-chat-server.
Архитектура взаимодействия Elph 2.1.1 с ECSS10
Для начала необходимо подключить репозиторий на ECSS:
sudo sh -c "echo 'deb [arch=amd64] http://archive.eltex.org/ssw/bionic/elph/2.1.1 stable main' >> /etc/apt/sources.list.d/eltex-ecss10-stable.list"
sudo apt update
Установка и настройка ecss-elph-api
Установите ecss-elph-api:
sudo apt install ecss-elph-api
Настройки будут запрошены при установке.
Вопросы, задаваемые при установке ecss-elph-api
Вопрос | |
---|---|
Шаблон вопроса: | ecss-elph-api/core-host |
Тип данных: | string |
Значение по умолчанию: | localhost |
Текст вопроса(en) | IP address(hostname) of ECSS Core: |
Текст вопроса(ru) | IP-адрес(хост) на котором развернут ECSS Core: |
Описание | Вводится IP или имя хоста, на котором развернут ECSS Core: |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/core-port |
Тип данных: | string |
Значение по умолчанию: | 8086 |
Текст вопроса(en) | Port of ECSS Core: |
Текст вопроса(ru) | Порт на котором развернут ECSS Core: |
Описание | Вводится порт, на котором развернут ECSS Core |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/mysql-host |
Тип данных: | string |
Значение по умолчанию: | localhost |
Текст вопроса(en) | IP address(hostname) of address book mysql: |
Текст вопроса(ru) | IP-адрес(хост) на котором развернут mysql адресной книги: |
Описание | Вводится адрес или имя MySQL сервера, на котором находится БД адресной книги. Расположение ecss-mysql относительно ecss-elph-api |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/mysql-port |
Тип данных: | string |
Значение по умолчанию: | 3306 |
Текст вопроса(en) | Port of address book mysql: |
Текст вопроса(ru) | Порт на котором развернут mysql адресной книги: |
Описание | Вводится порт MySQL сервера, на котором находится БД адресной книги |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/mysql-user |
Тип данных: | string |
Значение по умолчанию: | address_book |
Текст вопроса(en) | Address book mysql username: |
Текст вопроса(ru) | Имя пользователя для доступа к mysql адресной книги: |
Описание | Вводится логин пользователя БД адресной книги |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/mysql-password |
Тип данных: | password |
Значение по умолчанию: | address_book |
Текст вопроса(en) | Address book mysql password: |
Текст вопроса(ru) | Пароль для доступа к mysql адресной книги: |
Описание | Вводится пароль пользователя БД адресной книги. Не путать c "root" - паролем для доступа к mysql по умолчанию |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/domain |
Тип данных: | string |
Текст вопроса(en) | Default domain: |
Текст вопроса(ru) | Домен по умолчанию: |
Описание | Вводится имя домена ECSS, на котором будет использоваться Elph-desktop. Если в поле ничего не вводить, имя домена будет запрошено на странице авторизации приложения. |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/listen-port |
Тип данных: | string |
Значение по умолчанию: | 8098 |
Текст вопроса(en) | Port for nginx server: |
Текст вопроса(ru) | Порт для сервера nginx: |
Описание | Вводится номер порта сервера nginx: |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/chat-url-enabled |
Тип данных: | boolean |
Значение по умолчанию: | false |
Текст вопроса(en) | Apply chat's URL settings? |
Текст вопроса(ru) | Применить настройки URL-адреса чатов? |
Описание | При утвердительном ответе будут запрошены настройки чат-сервера |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/chat-schema |
Тип данных: | select |
Варианты выбора: | http, https |
Значение по умолчанию: | https |
Текст вопроса(en) | Chat's URL schema: |
Текст вопроса(ru) | Схема URL-адреса чатов: |
Описание | Выбирается протокол взаимодействия с чат-серверам |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/chat-host |
Тип данных: | string |
Текст вопроса(en) | Chat's IP address(hostname): |
Текст вопроса(ru) | IP-адрес(хост) чатов: |
Описание | Вводится публичный адрес чат-сервера |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/chat-port |
Тип данных: | string |
Значение по умолчанию: | 3443 |
Текст вопроса(en) | Chat's port: |
Текст вопроса(ru) | Порт чатов: |
Описание | Вводится номер порта чат-сервера |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/mediator-host |
Тип данных: | string |
Значение по умолчанию: | localhost |
Текст вопроса(en) | IP address(hostname) of ecss-mediator: |
Текст вопроса(ru) | IP-адрес(хост) на котором развернут ecss-mediator: |
Описание | Вводится IP-адрес или имя хоста, на котором развернут ecss-mediator |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/mediator-port |
Тип данных: | string |
Значение по умолчанию: | 9999 |
Текст вопроса(en) | Port of ecss-mediator: |
Текст вопроса(ru) | Порт на котором развернут ecss-mediator: |
Описание | Вводится номер порта ecss-mediator(порт http-terminal) |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/mediator-schema |
Тип данных: | select |
Варианты выбора: | http, https |
Значение по умолчанию: | https |
Текст вопроса(en) | Mediator's schema: |
Текст вопроса(ru) | Схема ecss-mediator: |
Описание | Выбирается протокол работы с ecss-mediator |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/mediator-user |
Тип данных: | string |
Значение по умолчанию: | admin |
Текст вопроса(en) | Mediator's username: |
Текст вопроса(ru) | Имя пользователя для доступа к ecss-mediator: |
Описание | Вводится имя пользователя для доступа к ecss-mediator |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/mediator-password-enabled |
Тип данных: | boolean |
Значение по умолчанию: | false |
Текст вопроса(en) | Set password for ecss-mediator? |
Текст вопроса(ru) | Установить пароль для ecss-mediator? |
Описание | При необходимости можно установить пароль пользователя для доступа к http-terminal |
Вопрос | |
Шаблон вопроса: | ecss-elph-api/mediator-password |
Тип данных: | password |
Текст вопроса(en) | Mediator's password: |
Текст вопроса(ru) | Пароль для доступа к ecss-mediator: |
Описание | Вводится пароль пользователя для доступа к http-terminal |
Запомненные ответы на вопросы можно посмотреть в базе debconf. Они будут применены при обновлении пакета.
Пример сохраненных ответов ecss-elph-api:
ecss10@ecss1:~$ sudo debconf-get-selections | grep ecss-elph-api
ecss-elph-api ecss-elph-api/mysql-password password address_book
ecss-elph-api ecss-elph-api/mediator-password password
ecss-elph-api ecss-elph-api/chat-host string 192.168.114.122
ecss-elph-api ecss-elph-api/core-port string 8086
ecss-elph-api ecss-elph-api/mediator-schema select http
ecss-elph-api ecss-elph-api/chat-port string 3443
ecss-elph-api ecss-elph-api/mysql-user string address_book
ecss-elph-api ecss-elph-api/mediator-password-enabled boolean false
ecss-elph-api ecss-elph-api/chat-schema select https
ecss-elph-api ecss-elph-api/reinstall boolean false
ecss-elph-api ecss-elph-api/mediator-user string admin
ecss-elph-api ecss-elph-api/mysql-host string localhost
ecss-elph-api ecss-elph-api/mysql-port string 3306
ecss-elph-api ecss-elph-api/listen-port string 8098
ecss-elph-api ecss-elph-api/domain string test.domain
ecss-elph-api ecss-elph-api/mediator-host string localhost
ecss-elph-api ecss-elph-api/core-host string localhost
ecss-elph-api ecss-elph-api/chat-url-enabled boolean true
ecss-elph-api ecss-elph-api/mediator-port string 9999
Проверка статуса сервиса
После установки пакета проверьте статус сервиса, он должен быть "Active".
ecss10@ecss1:~$ systemctl status ecss-elph-api
● ecss-elph-api.service - Elph desktop websockets API for ecss-10
Loaded: loaded (/lib/systemd/system/ecss-elph-api.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-04-24 17:31:41 +07; 18h ago
Main PID: 22605 (nodejs)
Tasks: 11 (limit: 4915)
Memory: 56.0M
CGroup: /ecss.slice/ecss-elph-api.service
└─22605 /usr/bin/nodejs /usr/share/ecss/ecss-elph-api/dist/websockets/src/main.js
Конфигурация
Настройки ecss-elph-api записываются в файл /etc/ecss/ecss-elph-api/config.yaml, например:
default:
ecss:
host: localhost
port: 8086
domain: test.domain
user: pubsub
password: pubsub
sql:
host: localhost
port: 3306
database: ecss_address_book
user: address_book
password: address_book
types:
- sip
- megaco
- virtual
chat:
host: "192.168.114.122"
port: 3443
schema: https
mediator:
host: localhost
port: 9999
schema: https
user: admin
password: password
По умолчанию создается один профиль — "default". Если вручную добавить еще профили, то в приложении будет запрошено имя профиля. Если домен не задан, то он также будет запрошен.
user: pubsub, password: pubsub — системные, изменять не нужно!
Вручную править файл конфигурации нежелательно. Если нужно изменить настройки, лучше воспользоваться командой dpkg-reconfigure.
sudo dpkg-reconfigure ecss-elph-api
Если все-таки потребовалось изменить файлы конфигурации, то после изменения необходимо перезапустить сервис ecss-elph-api.
Логи
Логи пишутся в системный журнал. При необходимости их можно просмотреть c помощью команд:
sudo journalctl -u ecss-elph-api # все логи
sudo journalctl -u ecss-elph-api --since today # логи за сегодня
sudo journalctl -u ecss-elph-api -f # аналог tail -f для просмотра лога в реальном времени
Установка чат-сервера
Разворачиваем докер-образ
Скачайте скрипт установки командой:
wget https://s3.eltex-co.ru/shared/elph-chat-server/ecss-elph-chat-server.sh
Выдайте права на исполнение:
chmod +x ecss-elph-chat-server.sh
Запустите скрипт, начнется загрузка:
./ecss-elph-chat-server.sh download
Далее необходимо перелогиниться в терминале, если установка происходит удалённо по ssh, так как пользователь был добавлен в группу docker, после этого необходимо повторить команду:
./ecss-elph-chat-server.sh download
Авторизуйтесь во внешнем докер-регистре следующей командой (данные авторизации вы можете уточнить в коммерческом отделе):
./ecss-elph-chat-server.sh login
После этого скачайте образы:
./ecss-elph-chat-server.sh pull
Теперь необходимо изменить файл конфигурации, подробнее об этом в разделе "Настройка чат-сервера при установке из docker-контейнера":
sudo nano elph-chat-server/stable/.env
После сохранения конфигурации можно запускать чат-сервер из корневого каталога:
./ecss-elph-chat-server.sh up
Инструкция по установке чат-сервера на Astra Linux
Для установки чат-сервера необходимо предварительно установить следующие пакеты:
Версия должна быть не ниже 20.10.2
- docker-compose
Версия должна быть не ниже 1.29.2
sudo apt install docker.io docker-compose
Следующие шаги установки не отличаются от штатных.
Обновление чат-сервера
Для обновления чат-сервера на конкретную версию, необходимо указать её в поле "TAG" в конфигурационном файле ./elph-chat-server/stable/.env
Для этого предварительно остановите чат командой:
./ecss-elph-chat-server.sh stop
Перейдите в директорию ./elph-chat-server/stable/ и отредактируйте конфигурацию, изменив поле "TAG" на версию, которую хотите установить
sudo nano .env
После этого скачайте образы:
./ecss-elph-chat-server.sh pull
После завершения процедуры загрузки можно запускать чат-сервер, для этого нужно перейти в папку ./elph-chat-server/stable/ и выполнить команду
docker-compose --project-name elph-chat-server-stable up