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

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

Параметр

Значение

Процессор

Не менее 4 vCPU.

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

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

ОЗУ

Минимум 4 GB RAM

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

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

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

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

  1. Установка Docker

    Для установки Docker потребуется доступ в интернет. После установки завершения установки доступ в интернет можно будет закрыть

    Детальную информацию по установке Docker также можно найти на сайте Вендора - https://docs.docker.com/engine/install/.

    Установка Docker выполняется в терминале ОС под пользователем с правами root

    Для установки docker, в терминале Ubuntu необходимо последовательно выполнить следующие команды:

    # Add Docker's official GPG key:
    sudo apt-get update
    sudo apt-get install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    
    # Add the repository to Apt sources:
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
      $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    
    # Install latest version:
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    Приведенные в блоке выше команды устанавливают последнюю версию docker из репозитория.

    Для проверки работоспособности docker необходимо выполнить команду:

    sudo docker run hello-world

    В результате выполнения команды будет загружен тестовый образ и запущен контейнер с ним. Сообщение, представленное ниже подтверждает корректную установку Docker

    Установка Docker выполняется в терминале ОС под пользователем с правами root

    Для установки docker, в терминале Cent OS необходимо последовательно выполнить следующие команды:

    sudo yum check-update
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
    sudo systemctl start docker
    sudo systemctl enable docker
    sudo systemctl status docker

    Последняя команда показывает состояние docker. Состояние после успешной установки должно быть active(running).

    Установка Docker выполняется в терминале ОС под пользователем с правами root

    Перед началом установки Docker необходимо обновить компоненты Debian выполнив следующую команду:

    apt update && apt upgrade -y

    Далее необходимо предоставить права на исполняемый файл:

    cd  /root/dev/
    chmod +x install-docker.sh

    Затем установить Docker:

    ./install-docker.sh

    После завершения установки необходимо перезагрузить хост, использовав команду

    reboot



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

  3. Подготовка сертификатов 

    Для использования защищенных протоколов https ssl, необходимо сгенерировать и сконвертировать сертификаты для вашего домена.

    Для создания и конвертации сертификатов необходимо установить openssl. Детальная инструкция по установке доступна по ссылке https://wiki.openssl.org/index.php/Binaries.

    На первом шаге необходимо сгенерировать key файл. Для этого необходимо выполнить команду в терминале:

    openssl genrsa -out wildcard.[домен].key 2048

    Затем необходимо создать файл cnf с конфигурационной информацией следующего содержания:

    [ req ]
    default_bits = 2048
    distinguished_name = req_distinguished_name
    req_extensions = req_ext
    prompt = no
    
    [ req_distinguished_name ]
    C = RU
    ST = Russia
    L = Moscow
    O = [организация]
    CN =[домен]
    
    [ req_ext ]
    subjectAltName = @alt_names
    extendedKeyUsage = serverAuth, clientAuth
    basicConstraints=CA:TRUE
    
    [alt_names]
    DNS.1 = keycloak.[домен]
    DNS.2 = middleware.[домен]
    DNS.3 = client.[домен]
    DNS.4 = mes-runtime.[домен]
    DNS.5 = exesched.[домен]
    DNS.6 = report.[домен]
    DNS.7 = *.[домен]

    После чего с использование key и cnf файла сгенерировать crt файл сертификата используя команду:

    openssl req -x509 -nodes -newkey rsa:4096 -extensions req_ext -keyout wildcard.[домен].key -out wildcard.[домен].crt -days [срок действия сертификата в днях] -config wildcard.[домен].cnf

    На основании crt файла необходимо сгенерировать pfx сертификат.

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

    openssl pkcs12 -export -out wildcard.[домен].pfx -inkey wildcard.[домен].key -in wildcard.[домен].crt

    После выполнения команды openssl запросит ввести новый пароль и подтвердить его, после чего, будет создан сертификат в формате pfx.

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

    При установке в Docker необходимо внести правки в docker-compose.yaml в строках, указав новый crt сертификат и новый pfx сертификат

    source: /root/dev/crt/wildcard.[домен].pfx
    ...
    source: /root/dev/crt/wildcard.[домен].crt

    Для pfx сертификатов, необходимо изменить пароль в следующих строках:

    ASPNETCORE_Kestrel__Certificates__Default__Password: "пароль указанный при генерации pfx сертификата"


  4. Настройка DNS

    Адреса сервисов продуктов ExePlant должны быть добавлены в DNS:
    [host_ip] client.[домен]
    [host_ip] middleware.[домен]
    [host_ip] keycloak.[домен]
    [host_ip] mes-runtime.[домен]
    [host_ip] exesched.[домен]
    [host_ip] report.[домен]

    При использовании DNS необходимо в docker-compose.yaml (из состава инсталляционного пакета) удалить конфигурацию extra_hosts

    При установке в Docker и отсутствии DNS сервера необходимо добавить в файл hosts ОС записи для каждого сервиса:

    [host_ip] client.[домен]
    [host_ip] middleware.[домен]
    [host_ip] keycloak.[домен]
    [host_ip] mes-runtime.[домен]
    [host_ip] exesched.[домен]
    [host_ip] report.[домен]



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

    Для корректной работы программных продуктов ExePlant требуется установить Guardant Control Center на один из компьютеров в сети, который будет выполнять функцию сервера лицензирования.

    Допускается использовать в качестве сервера лицензирования хост, на котором установлен Docker

    Дистрибутивы Guardant Control Center для различных ОС поставляются совместно с ПО ExePlant и находятся в инсталляционном пакете в папке gcc:

    Выберите любой подходящий для вашей ОС файл установщик и произведите установку ПО любым удобным способом доступным в вашей ОС.

    Например: для установки Guardant Control Center в ОС Ubuntu удобно использовать установочный файл grdcontrol*.deb (конкретный файл необходимо выбрать в зависимости от разрядности ОС). Файл необходимо открыть через Центр приложений и нажать на кнопку "Установить", после чего дождаться завершения установки.

    После установки ПО Guardant Control Center необходимо активировать лицензию ExeMES. Активация лицензий производится с использованием ПО Мастер лицензий Guardant (входит в состав Guardant SLK и не требует установки).

    Мастер лицензий Guardant — утилита, предназначенная для активации и переноса программных лицензий, а также для обновления лицензий.

    Для запуска ПО Мастер лицензий Guardant необходимо запустить файл license_wizard из архива grdcontrol-3.29.tar.gz (соответствующий файл находится в папке x86 или x86_64 в зависимости от разрядности вашей ОС).

    Для активации лицензии необходимо нажать на кнопку "+ Активация лицензии", после чего ввести в форму Программный ключ лицензии и завершить процесс активации следуя инструкциям в Мастере лицензий Guardant.

    Программный ключ лицензии представляет собой текстовый шифр и предоставляется Вендором после покупки лицензии.

    После успешной активации лицензии в Мастере лицензий Guardant отобразится информация об активированной лицензии.

    Детальная информация по работе с Мастером лицензий Guardant представлена на сайте производителя.


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

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

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

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

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

После необходимо скопировать в каталог /exereport/crt сгенерированные ранее сертификаты и отредактировать файл docker-compose.yaml: заменить по тексту файла "mycompany.local" на имя домена, для которого сгенерированы сертификаты.

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

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

bash install-exereport.sh

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

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

install-exereport.sh следующий код:
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

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

chmod +x install-exereport.sh

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

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

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

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

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

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

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

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

DBConnection: "Host=localhost;Port=5432;Database=exereport;Username=postgres;Password=postgres"

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

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

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

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

Для разрешения CORS необходимо передать переменную окружения AllowedCORSUrls, в которой через запятую перечислить разрешенные сайты. Настройка переменной окружения AllowedCORSUrls выполняется путем редактирования файла docker-compose.yaml. Пример:

AllowedCORSUrls: "https://elma365.exeplant.local,https://portal.exeplant.local"

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

Для гибкой настройки параметров отчетов возможно использовать web API ExeMES.

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

MiddlewareApiRootUri: "https://middleware.mycompany.local:7142/api"

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

Время жизни отчета - это значение в секундах, по истечении которого отчет будет удален из внутренней памяти контейнера приложения. По-умолчанию эта настройка = 60 секундам. Минимальное возможное значение 10 секунд, максимальное - 1200 секунд.

Для настройки времени жизни отчета необходимо передать переменную окружения WebReportLifeTimeInterval, в которой указать значение в секундах. Настройка переменной окружения WebReportLifeTimeInterval выполняется путем редактирования файла docker-compose.yaml. Пример:

WebReportLifeTimeInterval: "600"

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

Для проверки работоспособности необходимо перейти в браузере по адресу "https://report.[домен]:9200/", авторизоваться под учетной записью пользователя с правами администратора, который был создан при установке и убедиться, что стартовая страница ExeReport отображаются корректно.

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

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

  • No labels