В этой статье:

Шаг 1. Проверьте системные требования

Шаг 2. Подготовьте серверную часть СУБД

Шаг 3. Установите клиентскую часть СУБД

Шаг 4. Установите BI-сервер

Шаг 5. Настройте BI-сервер

Шаг 6. Создайте репозиторий метаданных

Шаг 7. Создайте служебного пользователя подсистемы безопасности

Шаг 8. Установите серверную часть веб-приложения

Шаг 9. Настройте конфигурацию веб-приложения на веб-сервере

Шаг 10. Проверьте работу BI-сервера

Шаг 11. Запустите веб-приложение

Пример готового скрипта для СУБД PostgreSQL

Удаление BI-сервера

Удаление серверной части веб-приложения

Расширенная установка веб-приложения «Форсайт. Аналитическая платформа» в ОС Linux (СУБД PostgreSQL)

Для работы с веб-приложением должна быть сформирована система с использованием программного обеспечения «Форсайт. Аналитическая платформа», которая предполагает наличие:

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

В руководстве представлена установка веб-приложения «Форсайт. Аналитическая платформа» с использованием СУБД PostgreSQL для следующих версий ОС семейства Linux:

Информацию по установке на другие операционные системы можно найти в справочной системе.

В процессе установки BI-сервера (шаг 4) и серверной части веб-приложения (шаг 8) используются дистрибутивы, входящие в комплект поставки продукта «Форсайт. Аналитическая платформа»:

Версия ОС семейства Linux Дистрибутивы для установки BI-сервера Дистрибутивы для установки веб-сервера
Astra Linux SE 1.7 foresight-fp10.x-biserver_10.1.<номер сборки>~astra~1.7_amd64.deb foresight-fp10.x-webserver_10.1.<номер сборки>~astra~1.7_all.deb
Ubuntu 18.04 foresight-fp10.x-biserver_10.1.<номер сборки>~ubuntu~18.04_amd64.deb foresight-fp10.x-webserver_10.1.<номер сборки>~ubuntu~18.04_all.deb
CentOS 7 foresight-fp10.x-biserver_10.1.<номер сборки>.el7.x86_64.rpm foresight-fp10.x-webserver_10.1.<номер сборки>.el7.noarch.rpm
РЕД ОС 7.3 foresight-fp10.x-biserver_10.1.<номер сборки>.redos7.3.x86_64.rpm foresight-fp10.x-webserver_10.1.<номер сборки>.redos7.3.noarch.rpm
Rocky Linux 8 foresight-fp10.x-biserver_10.1.<номер сборки>.rocky8.x86_64.rpm foresight-fp10.x-webserver_10.1.<номер сборки>.rocky8.noarch.rpm
ALT Linux 10 foresight-fp10.x-biserver_10.1.<номер сборки>.alt10.x86_64.rpm foresight-fp10.x-webserver_10.1.<номер сборки>.alt10.noarch.rpm

После установки веб-приложения будут созданы следующие каталоги:

Шаг 1. Проверьте системные требования

Убедитесь в соблюдении системных требований для:

Также ознакомьтесь с требованиями к настройкам операционной системы и поддерживаемыми версиями СУБД PostgreSQL.

Шаг 2. Подготовьте серверную часть СУБД

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

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

Процедура подготовки сервера PostgreSQL производится администратором СУБД.

Важно. Для обеспечения безопасности системы перед подготовкой сервера PostgreSQL проверьте настройки параметра lc_messages в конфигурационном файле postgresql.conf. Язык сообщений PostgreSQL должен совпадать с языковыми настройками операционной системы.

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

Создание пользователя базы данных

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

CREATE ROLE "USER_NAME" LOGIN ENCRYPTED PASSWORD 'USER_PASSWORD' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

Где:

Создание базы данных

Для создания базы данных выполните скрипт:

CREATE DATABASE "DATABASE_NAME" WITH OWNER = "USER_NAME" ENCODING = 'UTF8' TABLESPACE = pg_default  LC_COLLATE = default LC_CTYPE = default CONNECTION LIMIT = -1;
ALTER DATABASE "DATABASE_NAME" SET lo_compat_privileges = 'on';
GRANT ALL ON DATABASE "DATABASE_NAME" TO "USER_NAME";

Где:

Создание пользовательской схемы в текущей базе данных

По умолчанию используется схема public. При работе со схемой public учитывайте особенности, приведенные в разделе «Особенности работы с СУБД PostgreSQL».

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

CREATE SCHEMA "SCHEMA_NAME" AUTHORIZATION "USER_NAME"

Где:

После выполнения действий будет создана пользовательская схема. Созданный на первом этапе пользователь будет являться владельцем схемы.

Для использования пользовательской схемы в качестве схемы по умолчанию выполните скрипт:

SET search_path TO "SCHEMA_NAME";

После выполнения действий вместо схемы public по умолчанию будет использоваться пользовательская схема.

Примечание. Для получения подробной информации о работе с пользовательскими схемами обратитесь к документации PostgreSQL.

Поддержка типа данных Lo

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

CREATE FUNCTION loin (cstring) RETURNS lo AS 'oidin' LANGUAGE internal IMMUTABLE STRICT;
CREATE FUNCTION loout (lo) RETURNS cstring AS 'oidout' LANGUAGE internal IMMUTABLE STRICT;
CREATE FUNCTION lorecv (internal) RETURNS lo AS 'oidrecv' LANGUAGE internal IMMUTABLE STRICT;
CREATE FUNCTION losend (lo) RETURNS bytea AS 'oidsend' LANGUAGE internal IMMUTABLE STRICT;
CREATE TYPE lo (INPUT = loin, OUTPUT = loout, RECEIVE = lorecv, SEND = losend, INTERNALLENGTH = 4, PASSEDBYVALUE);
CREATE CAST (lo AS oid) WITHOUT FUNCTION AS IMPLICIT;
CREATE CAST (oid AS lo) WITHOUT FUNCTION AS IMPLICIT;
CREATE OR REPLACE FUNCTION lo_manage() RETURNS pg_catalog.trigger AS '$libdir/lo' LANGUAGE C;

Поддержка доменных групп

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

Примечание. Поддержка доменных групп в PostgreSQL доступна, если на уровне СУБД содержатся группы в виде ролей и пользователи, входящие в эти роли.

Для поддержки доменных групп в PostgreSQL:

  1. Соберите скрипт синхронизации пользователей и групп из Active Directory или Astra Linux Directory с помощью системы управления версиями Git.

Запустите командную строку и выполните команды:

apt-get install ruby libpq-dev git make gcc libffi-dev

git clone https://github.com/afsight/pg-ldap-sync.git

cd pg-ldap-sync

gem install bundler -v 1.16

bundle _1.16_ install

bundle install

bundle exec rake install

dnf install ruby libpq-devel git make gcc libffi-devel ruby-devel redhat-rpm-config

git clone https://github.com/afsight/pg-ldap-sync.git

cd pg-ldap-sync

gem install bundler -v 1.16

bundle _1.16_ install

bundle install

bundle exec rake install

apt-get install ruby libpq-devel git make gcc5 libffi-devel ruby-tools postgresql-devel libruby-devel

git clone https://github.com/afsight/pg-ldap-sync.git

cd pg-ldap-sync

gem install bundler -v 1.16

bundle _1.16_ install

bundle install

bundle exec rake install

После выполнения действий будет добавлена папка pg-ldap-sync с последними исходными файлами скрипта из Git и выполнена сборка скрипта.

  1. Создайте файл конфигурации lsync.yml с настройками, указанными в примере:

# With this sample config the distinction between LDAP-synchronized
# groups/users from is done by the membership to ldap_user and
# ldap_group. These two roles has to be defined manally before
# pg_ldap_sync can run.
# Параметры соединения с сервером LDAP на примере AD. В username пользователь у которого есть права на подключение (практически любой доменный пользователь и пароль)
# see also: http://net-ldap.rubyforge.org/Net/LDAP.html#method-c-new
ldap_connection:
    host: domain-controller.domain.com
    port: 389
    auth:
        method: :simple
        username: username@domain.com
        password: password
        # encryption:
        # method: :simple_tls
# Настройки поиска пользователей, в данном случае пользователи берутся из раздела OU=Users, DC=domain, DC=com
ldap_users:
   base: OU=users,DC=domain,DC=com
   # LDAP filter (according to RFC 2254)
   # defines to users in LDAP to be synchronized
   # далее идет фильтр вхождений в раздел, ищутся только собственно пользователи по классам объектов,также можно указать выборку по другим атрибутам
   filter: (&(objectClass=person)(objectClass=organizationalPerson)(givenName=*)(sn=*)(sAMAccountName=*))
   # this attribute is used as PG role name
   # задается атрибут из которого будет формироваться имя пользователя в Postgres обычно sAMAccountName
   name_attribute: sn
   # lowercase name for use as PG role name
   # настройка перевода имени пользователя в нижний регистр
   lowercase_name: false
   # uppercase name for use as PG role name
   # настройка перевода имени пользователя в верхний регистр (предпочтительно для нормальной работы с платформой)
   uppercase_name: false
# Search parameters for LDAP groups which should be synchronized
# Всё то же самое для групп
ldap_groups:
    base: OU=users,DC=domain,DC=com
    filter: (cn=domain.*)
    # this attribute is used as PG role name
    name_attribute: cn
    # lowercase name for use as PG role name
    lowercase_name: false
    # uppercase name for use as PG role name
    uppercase_name: false
    # this attribute must reference to all member DN's of the given group
    member_attribute: member
    # True if use Astra Linux Domain
    ald_domain: false
# Connection parameters to PostgreSQL server
# Параметры подключения к серверу PostgreSQL
# see also: http://rubydoc.info/gems/pg/PG/Connection#initialize-instance_method
pg_connection:
    host: database_host
    dbname: postgres
    user: postgres
    password: postgres
pg_users:
    # Filter for identifying LDAP generated users in the database.
    # Фильтр пользователей для создания и проверки, нужна отдельная роль, в данном случае ldap_users,пользователи в ней будут сравниваться с тем что пришло поиском и удаляться или добавляться в случае различий
    # It's the WHERE-condition to "SELECT rolname, oid FROM pg_roles"
    filter: oid IN (SELECT pam.member FROM pg_auth_members pam JOIN pg_roles pr ON pr.oid=pam.roleid WHERE pr.rolname='ldap_users')
    # Options for CREATE RULE statements
    create_options: LOGIN IN ROLE ldap_users
pg_groups:
    # Filter for identifying LDAP generated groups in the database.
    # То же самое для групп
    # It's the WHERE-condition to "SELECT rolname, oid FROM pg_roles"
    filter: oid IN (SELECT pam.member FROM pg_auth_members pam JOIN pg_roles pr ON pr.oid=pam.roleid WHERE pr.rolname='ldap_groups')
    # Options for CREATE RULE statements
    create_options: NOLOGIN IN ROLE ldap_groups
    grant_options:

Примечание. Параметр ald_domain используется для поддержки доменных групп в Astra Linux Directory.

  1. Проверьте валидность созданного файла lsync.yml.

  2. Выполните скрипт:

crontab -e

      1. Выполните команду для добавления строки в текстовый редактор, при выполнении которой будет загружаться файл конфигурации lsync.yml:

*/<количество минут> * * * * /usr/local/bin/pg_ldap_sync -c <полный путь до файла конфигурации>/lsync.yml

      1. Дополнительно добавьте пустую строку.

      2. Сохраните изменения в текстовом редакторе.

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

  1. Распределите привилегии между доменными группами в менеджере безопасности. После чего для пользователей соответствующих групп будут раздаваться гранты на таблицы репозитория.

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

Обновление репозитория

В Prognoz Platform версии 8.1 был исправлен скрипт, связанный с регистрацией типа данных Lo. Если репозиторий на базе СУБД PostgreSQL (версии 9.3 или выше) был создан в более ранних версиях Prognoz Platform, то его необходимо обновить, выполнив следующий скрипт:

CREATE OR REPLACE FUNCTION losend (lo) RETURNS bytea AS 'oidsend' LANGUAGE internal IMMUTABLE STRICT;

Особенности работы с СУБД PostgreSQL

Если при работе используется схема по умолчанию public, то у всех пользователей репозитория будет возможность создания таблиц. Это может привести к проблемам обновления пользователей и разграничению прав доступа у пользователей, которые являются администраторами репозитория. Для избежания возможных ошибок необходимо создавать все объекты только под пользователем, который создан на первом шаге и является владельцем и администратором схемы - ADMIN.

Конфигурация по умолчанию для серверов PostgreSQL включает в себя функцию автоочистки - освобождение пространства, занимаемого удалёнными из таблиц данными, с помощью SQL-команды VACUUM. Также производится обновление статистики, которая используется планировщиком для выбора способа выполнения запросов. Если предполагается интенсивная работа по изменению данных в таблицах, то рекомендуется настроить конфигурацию таким образом, чтобы автоочистка производилась в периоды малых нагрузок на сервер (ночью, в выходные). Настройку можно производить в соответствии с документацией, доступной на сайте разработчика.

Шаг 3. Установите клиентскую часть СУБД

Для установки клиентской части СУБД PostgreSQL выполните команду:

sudo apt-get install postgresql-client

sudo yum install postgresql postgresql-libs

sudo dnf install postgresql postgresql-libs

sudo apt-get install postgresql14

После выполнения действия будет установлен драйвер PostgreSQL, с помощью которого «Форсайт. Аналитическая платформа» взаимодействует с сервером баз данных.

Альтернативным вариантом является установка клиента Postgres Pro. Инструкция по установке доступна на сайте производителя.

Если осуществляется ручная установка BI-сервера из архива или установка клиентской части СУБД выполнена после установки BI-сервера, то создайте символьную ссылку с помощью команды:

sudo ln -s /usr/lib/x86_64-linux-gnu/libpq.so.5 /usr/lib/x86_64-linux-gnu/libpq.so

sudo ln -s /usr/lib64/libpq.so.5 /usr/lib64/libpq.so

Шаг 4. Установите BI-сервер

Для установки BI-сервера:

  1. Убедитесь, что доступна сеть Интернет.

  2. Обновите информацию о пакетах:

sudo apt-get update

sudo yum update

  1. Скопируйте дистрибутив foresight-fp10.x-biserver*.deb/rpm из комплекта поставки в домашнюю директорию /home/<имя пользователя>. Наименование дистрибутива зависит от версии OC Linux.

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

whoami

  1. Установите скопированный дистрибутив BI-сервера:

sudo dpkg -i foresight-fp10.x-biserver*.deb

sudo yum localinstall foresight-fp10.x-biserver*.rpm

sudo dnf install foresight-fp10.x-biserver*.rpm

sudo apt-get install -y foresight-fp10.x-biserver*.rpm

  1. Установите недостающие зависимости для Astra Linux, Ubuntu:

sudo apt-get -f install

При необходимости повторно обновите информацию о пакетах.

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

Примечание. Необходимые библиотеки содержатся в дистрибутиве BI-сервера и не требуют дополнительной установки. При установке недостающих библиотек отображается соответствующее сообщение.

Список библиотек для пакета fp10.x-biserver

В процессе установки будет:

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

В шагах 9 и 10 используются подстановки:

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

Для определения IP-адреса сервера выполните команду:

ip address

Для определения DNS-имени сервера выполните команду:

hostname

Настройка логирования

Для отслеживания работы BI-сервера и фиксирования различных ошибок включите логирование системных сообщений при необходимости. Для этого в файле /etc/opt/foresight/fp10.x-biserver/envvars добавьте следующие строки:

PP_LOG=1

PP_LOGTIME=1

По умолчанию системные сообщения записываются:

Шаг 5. Настройте BI-сервер

Для настройки BI-сервера:

  1. Отключите режим AstraMode для экземпляра apache2-fp10.x в Astra Linux. Для этого замените строку «#AstraMode on» в конфигурационном файле /etc/apache2-fp10.x/apache2.conf на указанную:

AstraMode off

  1. Запустите веб-сервер Apache2:

sudo systemctl start apache2-fp10.x

sudo systemctl start httpd-fp10.x

sudo systemctl start httpd2-fp10.x

  1. Создайте файл Metabases.xml для настройки подключения к репозиторию:

sudo nano /opt/foresight/fp10.x-biserver/bin/Metabases.xml

  1. Заполните файл Metabases.xml:

<PP>
    <Metabases>
         <REPOSITORY_ID Name="REPOSITORY_ID" Authentication="1" Driver="DRIVER_ID" Package="STANDARDSECURITYPACKAGE" DebugMode="1">
         <LogonData DATABASE="DATABASE_NAME" SERVER="SERVER_DATABASE"/>
         <Credentials Authentication="1"/>
         </REPOSITORY_ID>
     </Metabases>
</PP>

Где:

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

При необходимости скачайте и распакуйте архив Metabases.zip с примером заполнения файла Metabases.xml.

  1. Активируйте лицензию. Для этого в конце файла переменных окружения /etc/opt/foresight/fp10.x-biserver/envvars вставьте строку:

LSFORCEHOST=<имя сервера>

LSFORCEHOST=NO-NET

  1. Раздайте права доступа для пользователя Apache2 на папку с установленным BI-сервером:

sudo chown -R www-data:www-data /opt/foresight/fp10.x-biserver

sudo chown -R apache:apache /opt/foresight/fp10.x-biserver

sudo chown -R apache2:apache2 /opt/foresight/fp10.x-biserver

  1. Перезапустите сервис BI-сервера:

sudo systemctl restart apache2-fp10.x

sudo systemctl restart httpd-fp10.x

sudo systemctl restart httpd2-fp10.x

Установленный BI-сервер будет работать в фоновом режиме как отдельный сервис Linux. Экземпляр Apache2 с BI-сервером по умолчанию будет запускаться на порту 8810. Для просмотра необходимых портов используйте:

Шаг 6. Создайте репозиторий метаданных

Для создания репозитория метаданных на сервере PostgreSQL:

  1. Измените текущий каталог на папку установки BI-сервера:

cd /opt/foresight/fp10.x-biserver/bin

  1. Установите дополнительный пакет xvfb-run в ALT Linux:

sudo apt-get install xvfb-run

  1. Запустите консольное приложение RepoManager с помощью скрипта RepoManager_start.sh с указанными параметрами:

./RepoManager_start.sh -ocreate-repo -tpostgres -sSERVER_DATABASE -pPORT -uUSER_NAME -wUSER_PASSWORD -dDATABASE_NAME -fresource

Где:

После выполнения действия будет создан репозиторий метаданных в указанной СУБД на схеме по умолчанию public без учёта регистра.

Для создания репозитория на пользовательской схеме дополнительно используйте параметр –mSCHEMA_NAME, где SCHEMA_NAME – это идентификатор пользовательской схемы, созданной при подготовке серверной части СУБД в шаге 2.

Шаг 7. Создайте служебного пользователя подсистемы безопасности

Служебный пользователь подсистемы безопасности обеспечивает:

Для создания служебного пользователя подсистемы безопасности:

  1. Создайте учётные данные служебного пользователя на сервере базы данных.

Важно. Создание служебного пользователя подсистемы безопасности выполняется только один раз. Если на сервере базы данных уже содержатся учётные данные служебного пользователя, то пропустите данный шаг.

  1. Сохраните созданные учётные данные служебного пользователя на компьютере с установленным BI-сервером.

После выполнения действий будет создан служебный пользователь подсистемы безопасности на сервере базы данных и сохранён в соответствии с выбранным способом на компьютере с установленным BI-сервером.

Совет. Настоятельно рекомендуется отключить политику обязательной периодической смены пароля для учётной записи служебного пользователя подсистемы безопасности в СУБД.

Создание учётных данных служебного пользователя

Для создания учётных данных служебного пользователя запустите приложение PP.Util, которое расположено в папке установки BI-сервера /opt/foresight/fp10.x-biserver/bin, со следующими параметрами:

sudo /opt/Foresight/fp10.x-biserver/bin/PP.Util_start.sh /create_audit_user metabase_id login password audit_login audit_password db_login db_password

Где:

Примечание. Имя служебного пользователя P4AUDIT недоступно для использования.

Сохранение созданных учётных данных служебного пользователя

Для сохранения созданных учётных данных служебного пользователя на компьютере с установленным BI-сервером:

  1. Выполните предварительные действия для раздачи прав доступа к файлу settings.xml, в котором будут храниться учётные данные служебного пользователя. Файл добавляется автоматически после сохранения учётных данных служебного пользователя с помощью приложения PP.Util в созданный каталог /opt/foresight/fp10.x-cfg/.config/Foresight/Foresight Analytics Platform.

  2. Запустите приложение PP.Util, которое расположено в папке установки BI-сервера /opt/foresight/fp10.x-biserver/bin, со следующими параметрами:

sudo /opt/Foresight/fp10.x-biserver/bin/PP.Util_start.sh /save_audit_creds /ALG enc_alg realm|/DC login password

Где:

Важно. Для обеспечения безопасности в промышленной эксплуатации продукта «Форсайт. Аналитическая платформа» используйте значение gos.

Необязательный параметр. Если параметр не задан, то используется значение по умолчанию;

Например: "127.0.0.1|POSTGRES".

Примечание. Для избежания синтаксических ошибок значение задаётся в верхних кавычках.

Обязательный параметр;

После выполнения действий учётные данные служебного пользователя будут сохранены на компьютере с BI-сервером в файле settings.xml, расположенном по пути /opt/foresight/fp10.x-cfg/.config/Foresight/Foresight Analytics Platform.

Примеры использования команды:

sudo /opt/Foresight/fp10.x-biserver/bin/PP.Util_start.sh /save_audit_creds "10.30.210.10|POSTGRES" SERVICE_USER_NAME SERVICE_USER_PASSWORD

sudo /opt/Foresight/fp10.x-biserver/bin/PP.Util_start.sh /save_audit_creds /DC SERVICE_USER_NAME SERVICE_USER_PASSWORD

Раздача прав доступа к файлу

При сохранении созданных учётных данных служебного пользователя в файл settings.xml выполните предварительные действия для раздачи прав доступа к файлу:

  1. Задайте переменную HOME в конце файла:

export HOME=/opt/foresight/fp10.x-cfg

HOME=/opt/foresight/fp10.x-cfg

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

sudo mkdir -p "/opt/foresight/fp10.x-cfg/.config/Foresight/Foresight Analytics Platform"

  1. Назначьте владельцем каталога пользователя www-data с помощью команды:

sudo chown -R www-data:www-data "/opt/foresight/fp10.x-cfg/.config/Foresight/Foresight Analytics Platform"

Указанный пример применим для раздачи прав в Debian-подобных дистрибутивах. При работе в других дистрибутивах ОС Linux замените «www-data:www-data» на «apache:apache» для RedHat-подобных дистрибутивов или на «apache2:apache2» для ALT Linux.

  1. Запустите утилиту PP.Util от имени пользователя www-data, apache или apache2, и сохраните учётные данные служебного пользователя. Пример команды:

sudo -u <имя пользователя> /opt/Foresight/fp10.x-biserver/bin/PP.Util_start.sh /sac "SERVER_DATABASE|POSTGRES" SERVICE_USER_NAME SERVICE_USER_PASSWORD

Где:

  1. Перезапустите сервер Apache2 в зависимости от операционной системы:

sudo systemctl restart apache2-fp10.x

sudo systemctl restart httpd-fp10.x

sudo systemctl restart httpd2-fp10.x

Шаг 8. Установите серверную часть веб-приложения

Для установки серверной части веб-приложения:

  1. Убедитесь, что доступна сеть Интернет.

  2. Скопируйте дистрибутив foresight-fp10.x-webserver*.deb/rpm  из комплекта поставки в домашнюю директорию /home/<имя пользователя>. Наименование дистрибутива зависит от версии ОС Linux.

  3. Установите скопированный дистрибутив веб-сервера:

sudo dpkg -i foresight-fp10.x-webserver*.deb

sudo yum localinstall foresight-fp10.x-webserver*.rpm

sudo dnf install foresight-fp10.x-webserver*.rpm

sudo apt-get install -y foresight-fp10.x-webserver*.rpm

  1. Отключите режим AstraMode для экземпляра apache2-fp10.x-web в Astra Linux. Для этого замените строку «#AstraMode on» в конфигурационном файле /etc/apache2-fp10.x-web/apache2.conf на указанную:

AstraMode off

Список зависимостей для пакета fp10.x-webserver

Серверная часть веб-приложения будет установлена в папку /opt/foresight/fp10.x-webserver. При установке будет создан и настроен новый экземпляр apache2-fp10.x-web для Astra Linux, Ubuntu, httpd-fp10.x-web для CentOS, РЕД ОС, Rocky Linux, httpd2-fp10.x-web для ALT Linux. Веб-приложение будет настроено на работу с локальным BI-сервером по порту 8810. Адрес BI-сервера можно изменить в файле /opt/foresight/fp10.x-webserver/config/PP.xml. Само веб-приложение будет доступно на порте 8110.

В шагах 9 и 10 используется подстановка:

Для определения IP-адреса сервера выполните команду:

ip address

Для определения DNS-имени сервера выполните команду:

hostname

Шаг 9. Настройте конфигурацию веб-приложения на веб-сервере

Для настройки конфигурации веб-приложения используйте файлы:

Настройка параметров конфигурации в файле PP.xml

Для настройки подключения к BI-серверу и указания параметров веб-приложения:

  1. Откройте файл PP.xml. По умолчанию в файле содержится следующая структура:

<?xml version="1.0" encoding="utf-8"?>
<pp>
    <proxy url="http://<текущий IP-адрес>:8810/fpBI_App_v10.x/axis2/services/PP.SOM.Som"/>
    <metabase id="" />
    <serviceCM ParamsUrl="http://<текущий IP-адрес>:8110/fp10.x/r/#/settings"/>
    <modules commonModulesUrl="http://<текущий IP-адрес>:8110/fp10.x/r/#">
    </modules>
</pp>

  1. Задайте параметры подключения к BI-серверу:

http://<BI-сервер>:<номер порта>/fpBI_App_v10.x/axis2/services/PP.SOM.Som

Примечание. При использовании раздела <proxy> выполнение запросов будет происходить через серверную часть веб-приложения - PPService.axd. При использовании раздела <service> выполнение запросов будет происходить из браузера напрямую, в обход серверной части веб-приложения.

При использовании раздела <proxy> значение атрибута url не учитывается. Параметры подключения к BI-серверу содержатся в следующих файлах:

PP_SOM=http://localhost:8810/fpBI_App_v10.x/axis2/services/PP.SOM.Som

ProxyPass /fp10.x/app/PPService.axd ${PP_SOM} retry=1 acquire=3000 timeout=6000 Keepalive=On

http://<веб-сервер>:8110/fp10.x/r/#/settings

http://<веб-сервер>:8110/fp10.x/r/#

  1. Перезапустите веб-сервер:

sudo systemctl restart apache2-fp10.x
sudo systemctl restart apache2-fp10.x-web

sudo systemctl restart httpd-fp10.x
sudo systemctl restart httpd-fp10.x-web

sudo systemctl restart httpd2-fp10.x
sudo systemctl restart httpd2-fp10.x-web

Пример файла PP.xml:

<?xml version="1.0" encoding="utf-8" ?>
<pp>
  <service url="http://10.7.0.100:8810/fpBI_App_v10.x/axis2/services/PP.SOM.Som"/>
  <metabase id="WAREHOUSE" />

  <serviceCM ParamsUrl="http://10.7.0.100:8110/fp10.x/r/#/settings"/>

  <modules commonModulesUrl="http://10.7.0.100:8110/fp10.x/r/#">

  </modules>
</pp>

Настройка параметров конфигурации в файле config.json

Для открытия инструментов и объектов репозитория в веб-приложении:

  1. Откройте файл config.json. По умолчанию в файле содержится следующая структура:

{
  "targetRepo": "",
  "serviceUrl": "http://<текущий IP-адрес>:8110/fp10.x/app/PPService.axd",
  "locale": "ru",
  "locales": ["ru"],
  "title": "FAP10",
  "baseUrl": "http://<текущий IP-адрес>:8110/fp10.x/"
}

  1. Задайте поля в формате JSON:

Примечание. Идентификатор репозитория, заданный в качестве атрибута id в разделе <metabase> файла PP.xml, должен совпадать с идентификатором репозитория, заданным в поле targetRepo.

http://<веб-сервер>:8110/fp10.x/app/PPService.axd

По умолчанию в массив включён только один элемент, соответствующий русскому языку. Если в массив добавить английский язык, то на стартовой странице, где осуществляется авторизация в репозитории, в нижней части будут доступны гиперссылки для переключения языка интерфейса;

http://<текущий IP-адрес>:8110/fp10.x/

  1. Перезапустите веб-сервер:

sudo systemctl restart apache2-fp10.x
sudo systemctl restart apache2-fp10.x-web

sudo systemctl restart httpd-fp10.x
sudo systemctl restart httpd-fp10.x-web

sudo systemctl restart httpd2-fp10.x
sudo systemctl restart httpd2-fp10.x-web

Пример файла config.json:

{

  "targetRepo": "WAREHOUSE",

  "serviceUrl": "http://10.7.0.100:8110/fp10.x/app/PPService.axd",

  "locale": "ru",

  "locales": ["ru"],

  "title": "Форсайт",
  "baseUrl": "http://10.7.0.100:8110/fp10.x/"  

}

Шаг 10. Проверьте работу BI-сервера

Для проверки работы BI-сервера:

  1. Скопируйте URL BI-сервера:

http://<BI-сервер>:<номер порта>/fpBI_App_v10.x/axis2/services/PP.SOM.Som

Где:

  1. Создайте две ссылки и откройте их в браузере:

http://localhost:8810/fpBI_App_v10.x/axis2/services/PP.SOM.Som?wsdl

http://localhost:8810/fpBI_App_v10.x/axis2/services

Если в браузере отображается ошибка, то проверьте настройки BI-сервера и перезапустите его.

Если BI-сервер работает корректно, то будет открыт набор доступных операций для работы с веб-сервисом по первой ссылке в виде XML, по второй – в виде списка.

Шаг 11. Запустите веб-приложение

Для запуска веб-приложения откройте веб-браузер и в адресной строке укажите путь к веб-приложению:

http://<веб-сервер>:8110/fp10.x/r/#

После выполнения действия будет отображено окно регистрации. По умолчанию выполняется подключение к репозиторию, указанному в файле PP.xml в шаге 9. Для подключения к другому репозиторию укажите его идентификатор в адресной строке:

http://<веб-сервер>:8110/fp10.x/r/#/login?repo=<идентификатор репозитория>

Список доступных репозиториев формируется в файле Metabases.xml, созданном в шаге 5.

Примечание. При авторизации в веб-приложении могут возникнуть ошибки, связанные с ограничениями политики CORS.

Для решения проблемы и повышения безопасности системы при обмене данными между разными доменами настройте механизм CORS:

  1. Откройте файл:

  1. Задайте заголовки Origin, Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers:

<IfModule mod_headers.c>

    SetEnvIf Origin ^(<разрешённый домен>)$ CORS_ALLOW_ORIGIN=$1

    Header always set Access-Control-Allow-Origin %{CORS_ALLOW_ORIGIN}e env=CORS_ALLOW_ORIGIN

    Header merge Vary "Origin"

    Header always set Access-Control-Allow-Methods "POST, OPTIONS, <методы HTTP-запросов>"

    Header always set Access-Control-Allow-Headers "get-ppbi-time, content-type, soapaction, accept-language, cache-control, Authorization, <заголовки HTTP-запросов>"

</IfModule>

RewriteEngine On

    RewriteCond %{REQUEST_METHOD} OPTIONS

    RewriteRule ^(.*)$ $1 [R=200,L]

В подстановках:

https?://(?:.+\.)?example\.com(?::\d{1,5})?

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

Примечание. Убедитесь, что указанные параметры механизма CORS соответствуют требованиям используемого ресурса.

  1. Подключите модули headers, rewrite в Astra Linux, Ubuntu:

sudo a2enmod-fp10.x headers rewrite

  1. Перезапустите сервис BI-сервера:

sudo systemctl restart apache2-fp10.x

sudo systemctl restart httpd-fp10.x

sudo systemctl restart httpd2-fp10.x

Пример готового скрипта для СУБД PostgreSQL

В примере содержатся все части выделенных скриптов для СУБД PostgreSQL, приведённые в шагах 2, 6, 7:

Удаление BI-сервера

Для удаления файлов BI-сервера без удаления конфигурационных файлов выполните команду:

sudo apt-get remove fp10.x-biserver

sudo yum remove fp10.x-biserver

После выполнения действия будут удалены файлы BI-сервера. Файлы конфигурации, содержащиеся в папках /etc/apache2-fp10.x и /etc/opt/foresight/fp10.x-biserver, а также новые файлы, не входящие в пакет установки, в этих папках и /opt/foresight/fp10.x-biserver будут сохранены и могут использоваться при следующей установке дистрибутива.

Для полного удаления BI-сервера вместе с файлами конфигурации выполните команду:

sudo apt-get purge fp10.x-biserver

sudo yum purge fp10.x-biserver

sudo apt-get remove --purge fp10.x-biserver

После выполнения действия будет полностью удалён BI-сервер вместе с файлами конфигурации. При этом новые файлы, не входящие в пакет установки, будут сохранены.

Удаление серверной части веб-приложения

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

sudo apt-get remove fp10.x-webserver

sudo yum remove fp10.x-webserver

После выполнения действия будут удалены файлы веб-сервера. Файлы конфигурации, содержащиеся в папках /etc/apache2-fp10.x-web и /etc/opt/foresight/fp10.x-webserver, а также новые файлы, не входящие в пакет установки, в этих папках и /opt/foresight/fp10.x-webserver будут сохранены и могут использоваться при следующей установке дистрибутива.

Для полного удаления веб-сервера вместе с файлами конфигурации выполните команду:

sudo apt-get purge fp10.x-webserver

sudo yum purge fp10.x-webserver

sudo apt-get remove --purge fp10.x-webserver

После выполнения действия будет полностью удалён веб-сервер вместе с файлами конфигурации. При этом новые файлы, не входящие в пакет установки, будут сохранены.

См. также:

Установка и настройка продукта «Форсайт. Аналитическая платформа»