Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comboversions
Links98383;24051756;10715714;7274520
ProductExeMES
VerNamesот 2.1;2.0;1.3;1.2

ExeMES поставляется в формате контейнеризированного приложения, которое может быть запущено как в Docker, так и в кластере Kubernetes.

На данной странице представлена инструкция для инсталляции ПО ExeMES в Docker. По вопросам установки ПО ExeMES в кластере Kubernetes необходимо обращаться на портал технической поддержки.

Table of Contents

Expand
titleМинимальные системные требования

Параметр

Значение

Процессор

Не менее 4 vCPU.

Частота – не ниже 2,6 ГГц.

Поддерживает работу с 64-разрядными приложениями на аппаратном уровне.

ОЗУ

Минимум 4 GB RAM

Свободное пространство на жестком диске

Объем – не менее 50 Гб.

Примечание: объем необходимого свободного места на жестком диске зависит от объема данных, поступающих и хранящихся в ExeMES, и определяется самостоятельно на основе опытной эксплуатации ПО.

Подготовка к установке

  1. Установка Docker
    Expand
    titleИнструкция по установке

    Include Page
    Установка Docker
    Установка Docker

  2. Для хоста, на котором установлен Docker обязательно должен быть сконфигурирован ip адрес отличный от "127.0.0.1". Данный ip адрес должен быть использован в качестве [host_ip] при выполнении дальнейших пунктов инструкции.
  3. Подготовка сертификатов 

    Expand
    titleИнструкция

    Include Page
    Подготовка сертификатов
    Подготовка сертификатов

    Tip

    В инсталляционном пакете в папке crt поставляются самоподписанные сертификаты для домена mycompany.local. Если вы разворачиваете ПО ExeMES в демонстрационных, тестовых или обучающих целях (не на продуктивной среде) и не планируете использовать другой домен для работы приложения, то вы можете пропустить данный шаг инструкции и воспользоваться готовыми сертификатами.

  4. Настройка DNS
    Expand
    titleИнструкция

    Include Page
    Настройка DNS
    Настройка DNS

  5. Установка Guardant Control Center и Guardant SLK

    Expand
    titleИнструкция

    Include Page
    Установка Guardant Control Center и Guardant SLK
    Установка Guardant Control Center и Guardant SLK

Установка ExeMES для ОС семейства Linux

Excerpt

Для установки и запуска ExeMES необходимо распаковать архив, содержащий ПО ExeMES (инсталляционный пакет) и предоставленный Вендором используя команду:

Code Block
gunzip -c exemes.tar.gz | tar -xvf –

В результате у вас появится новый каталог exemes с необходимыми для запуска файлами.

Затем необходимо отредактировать файл docker-compose.yaml, расположенный в корневой папке каталога:

  • заменить по тексту файла параметр [host_ip] на ip адрес хоста, на котором инсталлирован Docker;
  • заменить по тексту файла параметр [license_server_ip] на ip адрес хоста, на котором установлен сервер лицензирования Guardant Control Center;
  • настроить необходимые переменные окружения;
Tip

Если вы разворачиваете ПО ExeMES в демонстрационных, тестовых или обучающих целях (не на продуктивной среде) и не планируете использовать другой домен для работы приложения, то вы можете пропустить следующие инструкции

  • скопировать в каталог /exemes/crt сгенерированные ранее сертификаты;
  • предоставить права на сгенерированные ранее файлы сертификатов, выполнив команду:
    Code Block
    chmod -R 777 /exemes/crt/
  • отредактировать файл docker-compose.yaml: заменить по тексту файла "mycompany.local" на имя домена, для которого сгенерированы сертификаты;
  • отредактировать файлы: /exemes/data/exemesmiddleware/keycloak.json, /exemes/data/exemesclient/keycloak.json, /exemes/data/exeruntimeclient/keycloak.json, /exemes/data/exesched/keycloak.json: заменить в ссылках "mycompany.local" на имя домена, для которого сгенерированы сертификаты. Пример:
    Code Block
    languagejs
    title/exemes/data/exemesclient/keycloak.json
    {
      "realm": "exemes",
      "auth-server-url": "https://keycloak.[домен]:5787/",
      "ssl-required": "external",
      "resource": "mes-client",
      "verify-token-audience": false,
      "credentials": {
        "secret": "SFY1TvAoSgrHQooduT9OstvHsKdwufKo"
      },
      "use-resource-role-mappings": true,
      "confidential-port": 0,
      "policy-enforcer": {},
      "Logout": "https://client.[домен]:8142/"
    }

Далее необходимо открыть терминал ОС с root доступом, перейти в каталог, появившийся после распаковки архива, и выполнить команду:

Code Block
bash install-exemes.sh

при этом произойдет загрузка образов, копирование данных и запуск сервисов.

Tip

При выполнении указанного выше скрипта производится установка Portainer - средства для мониторинга работы контейнеризированных приложений. Если вам не требуется установка Portainer удалите из файла install_exemes.sh следующий код:

Code Block
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.2
systemctl restart docker
Note

Если файл не запускается, измените права на этот файл командой:

Code Block
chmod g+x install_exemes.sh

После завершения выполнения скрипта будут запущены контейнеры приложений ExeMES, что будет подтверждено соответствующим сообщением в терминале.

Image Added

После завершения инсталляции необходимо открыть web-консоль администрирования Keycloak в браузере по адресу https://keycloak.[домен]:5787. Для доступа в Keycloak необходимо воспользоваться логином и паролем административной учетной записи, которые указаны в параметрах KEYCLOAK_ADMIN_USER и KEYCLOAK_ADMIN_PASSWORD настроек контейнера keycloak в docker-compose.yaml.

В Keycloak необходимо перейти в настройки realm exemes, создать пользователя и добавить его в группу EXEMES_Admins.

Anchor
env
env
Настройка переменных окружения

Info

Переменные окружения - набор значений, который определяет необходимые параметры работы и запуска приложений

Пакет инсталляции ExeMES уже содержит настроенные переменные окружения и если вы не планируете менять настройки по умолчанию, то можете пропустить данный шаг.

Доступные настройки:

Expand
titleНастройка подключения к БД MESDB (ExeMES Server)

Для подключения к БД ExeMES Middleware использует следующие переменные окружения:

  • MESDBContext - строка подключения к БД MESDB с полными правами, содержит как строку подключения, так и данные пользователя (логин), под которым будет выполнятся взаимодействия сервиса с БД при выполнении операций, требующих неограниченный доступ к БД (на чтение и запись);
  • MESDBContextRO - строка подключения к БД MESDB с правами только на чтение, содержит как строку подключения, так и данные пользователя (логин), под которым будет выполнятся взаимодействия сервиса с БД при выполнении операций, требующих ограниченный доступ к БД (только на чтение), используется при выполнении API функций GesDsByFn и GetDsBySp;

Настройка переменных окружения выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
MESDBContext: "Server=localhost; User Id=middleware; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer"
MESDBContextRO: "Server=localhost; User Id=middleware_ro; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer"

Если у пользователя, данные которого передаются в переменной окружения MESDBContext отсутствуют права на создание объектов в БД, то необходимо дополнительно передать переменную окружения MESDBOwnerContext, которая содержит строку подключения к БД MESDB с правами владельца БД. Пример:

Code Block
MESDBOwnerContext: "Server=localhost; User Id=postgres; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer"
Expand
titleУправление стратегией работы БД MESDB при запуске приложения ExeMES Server (Middleware)

Стратегией работы с базой данных MESDB при запуске приложения можно управлять с помощью переменной окружения DBStrategyOnStartUp, которая может принимать следующие значения:

  • DoNothing - ничего не делать с БД при запуске приложения;
  • CreateIfNotExists - создать БД, если она еще не существует (эта опция применяется по умолчанию);
  • AlwaysReCreate - пересоздавать БД заново при каждом запуске приложения (эта стратегия может быть выбрана для тестового окружения);
  • AlwaysMigrate - автоматически обновлять версию БД при запуске приложения.

Настройка переменной окружения DBStrategyOnStartUp выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
DBStrategyOnStartUp: "CreateIfNotExists"
Expand
titleРазрешение CORS
Info

CORS (Cross-Origin Resource Sharing) — это механизм браузера, который позволяет определить список ресурсов, к которым страница может получить доступ.

Он необходим для обеспечения безопасности и защиты пользователей от злоумышленников при использовании HTTP-протокола.

По умолчанию сайты могут запрашивать ресурсы только со своего origin. Такое ограничение называется Same-Origin Policy. CORS расширяет Same-Origin Policy, позволяя получать доступ к ресурсам с разных доменов.

Разрешения CORS могут потребоваться, если вы вызываете методы ExeMES  в сторонних приложениях: внешних пользовательских портала, таких как ELMA365 и прочие.

Для разрешения CORS необходимо передать переменную окружения CORS, в которой через запятую перечислить разрешенные сайты. 

Настройка переменной окружения CORS выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
CORS: "https://elma365.exeplant.local,https://keycloak.exeplant.local"
Expand
titleВключение опции управления доступом к объектам из объектной модели
Note

Доступно начиная с версии 2.0

Опцией управления доступом к объектам из объектной модели можно управлять с помощью переменной окружения EntityAccessProtection, которая может принимать значения enabled (включение опции) и disabled (отключение опции).

Настройка переменной окружения EntityAccessProtection выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
EntityAccessProtection: "enabled"
Tip

По умолчанию опция выключена

Expand
titleНастройка подключения к ExeMES Server (Middleware)

При запуске контейнеров ExeMES Client, ExeMES RuntimeClient или ExeSched необходимо передать в переменной окружения MiddlewareApiRootUri путь до сервиса ExeMES Server (Middleware).

Настройка переменных окружения выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
MiddlewareApiRootUri: "https://mesmiddleware.myweb.local/api"
Note

Приложения ExeMES RuntimeClient или ExeSched доступны начиная с версии 2.0

Expand
titleНастройка подключения к БД ExeSched
Note

Доступно начиная с версии 2.0

При запуске контейнера ExeSched необходимо передать в переменной окружения DBConnection строку подключения к БД приложения ExeSched.

Настройка переменных окружения выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
DBConnection: "Host=localhost;Port=5432;Database=exesched;Username=user;Password=pass"
Expand
titleНастройка подключения к сервису лицензирования

Конфигурация подключения приложений ExeMES к серверу лицензирования задается в переменной окружения GCCSettings:Remotehosts.  GCCSettings:Remotehosts содержит перечень серверов лицензирования (хостов, на которых будет осуществляться поиск лицензии, при запуске контейнера). IP адреса серверов указываются через запятую. Настройка переменных окружения выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
GCCSettings:Remotehosts: "170.10.10.1, 170.10.10.2"

Проверка работоспособности ExeMES после установки

Для проверки работоспособности сервисов необходимо перейти в браузере по указанным ниже адресам, авторизоваться под учетной записью пользователя с правами администратора, который был создан при установке и убедиться, что стартовые страницы приложений отображаются корректно.

Tip

Если вы хотите отказаться от использования портов в адресах приложений, то необходимо использовать прокси-сервер, например Nginx

Warning

В настройках контейнеров ExeMES по умолчанию указана синхронизация времени контейнера с временем хоста, на котором он запущен. Рекомендуется синхронизировать локальное время хостов, на которых запускаются контейнеры ExeMES с корпоративном ntp сервером.