Руководство по установке#
Установка дополнительного ПО#
Для работы API необходимы Dotnet Core v.3.1+, RabbitMq v.3.8.3+, Erlang v.23.0+
Как установить Dotnet Core v.3.1+,
Выполните команду:
для CentOS
yum install aspnetcore-runtime-3.1
для AstraLINUX
apt-get install aspnetcore-runtime-3.1
Если нет доступа к Интернету
Загрузите пакет DOTNET + ASP.NET Core 3.1 со всеми его зависимостями. Выполните установку командами
sudo dpkg –i dotnet-runtime-3.1_3.1.10-1_amd64.deb
sudo dpkg –i aspnetcore-runtime-3.1_3.1.10-1_amd64.deb
Оптимальным решением также является использование специально заготовленных скриптов для AstraLINUX, которые самостоятельно выполняют необходимые действия.
Скопируйте на диск следующие файлы: astra_install_api_prereq.tar.gz и astra_install_api_prereq.sh. Запустите командой:
sudo bash astra_install_api_prereq.sh
В появившемся окне нажмите «Продолжить»

Создайте учетную запись для RabbitMq. Задайте логин и пароль.


Подтведите пароль:

После всех этих действий начнется процесс установки. Экран успешно выполненной операции выглядит следующим образом:

Как установить RabbitMq v.3.8.3+ и Erlang v.23.0+
Для установки RabbitMq и Erlang необходимо:
Установить пакет erlang:
yum install HTTPs://github.com/rabbitmq/erlang-rpm/releases/download/v23.0/erlang-23.0-1.el6.x86_64.rpm
Установить пакет rabbitmq-server:
yum install HTTPs://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-3.8.3-1.el8.noarch.rpm
Запустить сервис RabbitMq:
systemctl start rabbitmq-server.service
Включить плагин rabbitmq_management:
rabbitmq-plugins enable rabbitmq_management
Дать права на чтение файлов rabbitmq:
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
Открыть порты 5672 и 15672:
firewall-cmd --zone=public --permanent --add-port=5672/tcp --add-port=15672/tcp
Перезагрузить firewall:
firewall-cmd --reload
Создать учетную запись rabbitmq:
rabbitmqctl add_user mqadmin mqadminpassword
Установить роль админа:
rabbitmqctl set_user_tags mqadmin administrator
Назначить права:
rabbitmqctl set_permissions -p / mqadmin ".*" ".*" ".*"
Установить плагин rabbitmq-delayed-message-exchange:
Скачать ez файл (ссылка на скачивание)
Поместить его в директорию /usr/lib/rabbitmq/plugins ИЛИ /usr/lib/rabbitmq/lib/rabbitmq_server-{version}/plugins
Запустить плагин:
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
Установка API#
Чтобы развернуть сервис API, нужно использовать JasperDeploy и releaseJasper.zip. Пример команды для установки API:
sudo bash /home/user/JasperDeploy -installDir=/opt/Jasper -connectionString='Server= ;Port= ;Database= ;User Id= ;Password= ;' -JasperApiUrl='https:\/\/' -JasperUiUrl='https:\/\/'
где:
JasperApiUrl – адрес, который указывается в nginx для Jasper.service (API);
JasperUiUrl – адрес, который указывается в nginx для клиентского приложения «JasperAPI».
В этих параметрах вместо https может быть задан http (в nginx должна быть указана соответствующая настройка).
Если не будет использоваться nginx, то пример команды установки следующий:
sudo bash /home/user/JasperDeploy -installDir=/opt/Jasper -connectionString='Server= ;Port= ;Database= ;User Id= ;Password= ;' -JasperApiUrl='https:\/\/ip:5200' -JasperUiUrl='https:\/\/ip:5091'
JasperApiUrl – адрес, который указывается в nginx для Jasper.service (API);
JasperUiUrl – адрес, который указывается в nginx для клиентского приложения «JasperAPI».
Пример экрана успешной установки Jasper

После установки API будут подняты следующие службы:
Jasper.service (API)
IdentityServerJasper.service + клиентское приложение по соответствующему адресу (для управления доступом и правами при работе с API, а также UI приложение для администрирования, пользователь admin/ Admin123$)
JasperRabbitMqConsumers (приложение для обработки сообщений RabbitMq)
Hosts#
Важно
Выполнить, если в DNS нет записи для интеграционного сервиса API.
Если данная настройка не будет выполнена, при запросе к API возникнет ошибка Name or service not known.
В файл hosts, расположенный на сервере, где развернут Jasper, необходимо прописать:
<ip_is> jasper.gemsdev.ru
где <ip_is> – ip-адрес машины, где развернут IdentiteServer4. На данный момент он поднимается автоматически рядом с API.
Установка модуля Jasper#
Для работы кнопки «Отправить» (отправка результата во внешнюю систему) необходимо установить экстрамодуль Gems.Module.Jasper. Чтобы установить модуль, добавьте в скрипт установки Системы параметр: -extraModule=Gems.Module.Jasper.
Пример команды установки вместе с экстрамодулем Gems.Module.Jasper:
sudo bash ../IASUnixDeploy -installDir=/opt/IAS -connectionString='Server= ;Port=5432;Database= ;User Id=postgres;Password= ;' -gHost=localhost -iasPublicOrigin=https://geometa.gemsdev.ru -extraModule=Gems.Module.Diamond.Integration -extraModule=Gems.Module.Jasper
Локализация Jasper#
Установка с помощью Ansible#
Заполните переменную gvLOCALIZATION_ENV_ARG в vars следующими значениями:
gvLOCALIZATION_ENV_ARG :
- "Localization_SupportedCultures_1=ru"
- "Localization_SupportedCultures_0=en"
- "Localization__DefaultCulture=en"
Где:
SupportedCultures__1 — вторая культура по приоритету. Cистема примет ее язык, если отсутствует первая культура.
SupportedCultures__0 — основная культура. Система примет ее язык в приоритете.
DefaultCulture — культура по умолчанию. Cистема примет ее язык, если не указана основная или вторая культура.
Примечание
В случае, если ни одна из культур не будет указана (например, gvLOCALIZATION_ENV_ARG : []), то Система будет выбирать язык локализации из файла appsettings.json.
Установка локализации вручную#
Важно
Данный метод использовать не рекомендуется.
Существует два способа установить локалиацию Jasper вручную.
1. Установка через appsettings.json#
Добавьте следующее в файлы /opt/Jasper/appsettings.json и /opt/Jasper/appsettings.json:
"Localization":
{ "SupportedCultures": [ "ru","en" ], "DefaultCulture": "ru" }
Затем перезапустите службы Jasper.service, JasperIdentityServer.service в терминале с помощью команд:
systemctl restart JasperIdentityServer.service
systemctl restart Jasper.service
2. Установка через переменные среды#
Укажите следующее значение по пути /etc/systemd/system у файлов Jasper.service, JasperIdentityServer.service:
Environment=Localization__DefaultCulture=ru
Environment=Localization_SupportedCultures_0=ru
Environment=Localization_SupportedCultures_1=en
Затем перезапустите службы Jasper.service, JasperIdentityServer.service в терминале с помощью команд:
systemctl restart JasperIdentityServer.service
systemctl restart Jasper.service
Примечание
Если локализация задана одновременно и через переменные среды, и через appsettings.json, в приоритете будет установка локализации через переменные среды.
Nginx#
Пример настройки nginx с использованием SSL сертификата:
server {
server_name jasper.gemsdev.ru;
listen 443 http2;
include /etc/nginx/sites-available/isogd-ssl;
include /etc/nginx/sites-available/isogd-common;
location / {
proxy_pass http://localhost:5200/;
#******** STS configuration ********#
location /.well-known/ {
proxy_pass http://127.0.0.1:5091/.well-known/;
}
location /connect/ {
proxy_pass http://127.0.0.1:5091/connect/;
}
#******** STS configuration ********#
}
}
server {
server_name uijasper.gemsdev.ru;
listen 443 http2;
include /etc/nginx/sites-available/isogd-ssl;
include /etc/nginx/sites-available/isogd-common;
location / {
proxy_pass http://127.0.0.1:5091/;
}
}
Пример настройки nginx без использования SSL сертификата:
server {
server_name jasper.gemsdev.ru;
listen 80;
include /etc/nginx/sites-available/isogd-common;
location / {
proxy_pass http://127.0.0.1:5200/;
}
location /.well-known/ {
proxy_pass http://127.0.0.1:5091/.well-known/
}
location /connect/ {
proxy_pass http://127.0.0.1:5091/connect/
}
}
server {
server_name uijasper.gemsdev.ru;
listen 80;
include /etc/nginx/sites-available/isogd-common;
location / {
proxy_pass http://127.0.0.1:5091/;
}
}
Перезапуск nginx происходит командой
nginx -s reload
Проверка на ошибки и их устранение#
После установки запустите Систему и проверьте работоспособность.
Mогут возникнуть следующие ошибки:

Для их решения измените в конфигурационных файлах appsettings.json (../IAS/AppServer/appsettings.json, …/Jasper/JasperRabbitMqConsumers/appsettings.json, …/Jasper/Jasper/appsettings.json,) стандартный пароль на установленный в RabbitMQ:

Перезапустите сервисы Jasper командами:
sudo systemctl restart Jasper
sudo systemctl restart JasperRabbitMqConsumers