You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Current »

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

Параметр

Значение

Процессор

Не менее 4 vCPU.

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

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

ОЗУ

Минимум 4 GB RAM

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

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

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

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

  1. Подготовка среды для развертывания приложения (среда на выбор):

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

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

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

      Установка 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. Развертывание кластера Kubernetes

      Инструкция в разработке 

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

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

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

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

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

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

    [ req ]
    default_bits = 20482
    distinguished_name = req_distinguished_name
    req_extensions = req_ext
    prompt = no
    
    [ req_distinguished_name ]
    C = RU
    ST = Russia
    L = Moscow
    O = Exeplant
    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 = report.[домен]
    DNS.5 = *.[домен]

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

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

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

    pem сертификат необходим только для ExeMES

    Первым шагом проверьте, что ваши ключи и сертификаты сгенерированы в формате, отличном от PEM: если содержимое файла начинается с -----BEGIN и его можно прочитать в текстовом редакторе, в файле используется base64, который читается в ASCII, а не в двоичном формате, то сертификат/ключ уже в формате PEM. Для таких сертификатов достаточно просто сохранить файл с расширением .pem используя команду

    cp wildcard.[домен].crt wildcard.[домен].pem

    Если файл в двоичном формате, то преобразовать его можно используя следующую команду:

    openssl x509 -inform DER -outform PEM -in wildcard.[домен].crt -out wildcard.[домен].pem

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

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

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

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

    Получившийся сертификат необходимо скопировать несколько раз (по количеству используемых компонентов ПО) и переименовать в соответствии с названиями сервисов:

    cp wildcard.[домен].pfx EXEMESMiddleware.pfx

    cp wildcard.[домен].pfx EXEMESClient.pfx

    cp wildcard.[домен].pfx EXEReport.pfx

    Затем необходимо сгенерировать jks сертификат

    jks сертификат необходим только для ExeMES

    Для конвертации в jks необходима утилита keytool которая входит в состав JDK. 

    Пример команды для установки java (для CentOS):

    sudo yum -y install java


     Сначала требуется создать сертификат в формате PKCS#12 с помощью OpenSSL:

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

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

    Запомните пароль, он вам потребуется в дальнейшем

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

    keytool -importkeystore -srckeystore wildcard.[домен].p12 \
            -srcstoretype PKCS12 \
            -destkeystore wildcard.[домен].jks \
            -deststoretype JKS

    Для выполнения команды необходимо ввести пароль для хранилища JKS и пароль от ключа, введенного на предыдущем шаге.

    После выполнения указанных операций, в папке появится хранилище ключей wildcard.[домен].jks

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

    При установке в Docker необходимо внести правки в docker-compose.yaml в строке

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

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

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


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

    Адреса сервисов продуктов ExePlant должны быть добавлены в DNS:

    [ip адрес хоста где развернут контейнер] postgres.[домен]

    [ip адрес хоста где развернут контейнер] MESClient.[домен]

    [ip адрес хоста где развернут контейнер] MESMIddleware.[домен]

    [ip адрес хоста где развернут контейнер] keycloak.[домен]

    [ip адрес хоста где развернут контейнер] report.[домен]

    При установке в Docker и отсутствии DNS сервера необходимо сконфигурировать адресацию по именам. Для этого в файле docker-compose.yaml нужно добавить в конфигурацию каждого из контейнеров приложений ExePlant следующий ключ:

    extra_hosts:

          -     "keycloak.[домен] middleware.[домен] client.[домен] report.[домен]:[ip адрес хоста где развернут контейнер]"


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

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

    Дистрибутивы ПО Guardant поставляются совместно с ПО ExePlant и находятся в архиве в папке gcc.

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

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

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

    В зависимости от ОС хоста, на котором запускается Мастер лицензий Guardant активация лицензии может быть выполнена:

    Детальная информация по работе с Guardant Control Center представлена на сайте производителя https://dev.guardant.ru/display/GSLK/Guardant+Control+Center.


Установка ExeReport

  • Установка ExeReport в Docker

    Сначала необходимо скопировать в каталог /root/dev/crt полученные на предыдущих шагах сертификаты. Далее необходимо в терминале ОС перейти в каталог /root/dev и выполнить команду:

    ./install-exereport.sh

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

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

    chmod +x install-exereport.sh

  • Установка ExeReport в Kubernetes

    Инструкция в разработке

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

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

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

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

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

docker run [путь для скачивания образа приложения] -e 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, в которой через запятую перечислить разрешенные сайты. Пример:

-e AllowedCORSUrls='https://elma365.exeplant.local,https://portal.exeplant.local'

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

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

Для подключения ExeReport к ExeMES необходимо передать переменную окружения MiddlewareApiRootUri, в которой указать ссылку на запущенное приложение ExeMES Server. Пример:

-e MiddlewareApiRootUri='https://middleware.mycompany.local/api'

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

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

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

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

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

-e WebReportLifeTimeInterval='600'

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

WebReportLifeTimeInterval: "600"

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

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

В случае корректной установки ПО ExeReport в браузере должно открыться окно авторизации ExeReport

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


  • No labels