Установка Системы#

Чтобы установить Систему, разместите на сервере файлы:

  • release.zip – архив с исполняемыми файлами приложения

  • full_search.zip –исполняемые файлы сервиса поиска

  • templates.zip - шаблоны эталонных проектов

  • IASUnixDeploy – bash-скрипт для установки Системы

Общий вид команды установки для всех ОС Linux:

В <> взяты настройки, которые необходимо заменить на свои значения.

sudo bash /<директория установочного скрипта, отличная от директории установки>/IASUnixDeploy  -installDir= /<директория, в которую установится Система (рекомендуем opt)> -connectionString='Server= <доменное имя сервера БД>; Port=<порт сервера БД>;Database=<наименование БД>;User Id=<пользователь БД>;Password=<пароль пользователя БД>;Connection Idle Lifetime=5; Connection Pruning Interval=3; Maximum Pool Size=500;'

-gHost=<доменное имя сервера или IP-адрес, по которому будет доступно развёрнутое web-приложение (=localhost, если nginx установлен на этом же сервере)>\

-iasPublicOrigin=<публичное доменное имя сайта ИАС> \

-monitorPublicOrigin=<публичное доменное имя сайта Монитор> \

-importerPublicOrigin=<публичное доменное имя сайта Импортер>

Примечание

При наличии iasPublicOrigin в скрипте установки отсутствующие параметры «monitorPublicOrigin», «importerPublicOrigin» будут заполняться автоматически по правилу monitor.domen(iasPublicOrigin), importer.domen(iasPublicOrigin) (domen – функция получения доменного имени. domen(https://a.b.c’)=a.b.c).

Подсказка

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

Настройка Системы для работы через HTTPS#

Корректная работа Системы предусмотрена только на HTTPS.

Для обеспечения безопасности работы приложения используется специальный сервис Nginx. Как его установить смотрите здесь: nginx

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

После установки требуется настройка Nginx.

  1. В папку /etc/ssl/certs/ необходимо разместить SSL-сертификат.

  2. В папку /etc/ssl/private/ необходимо разместить ключ SSL-сертификата.

  3. Открыть файл /etc/nginx/nginx.conf, в секции events измените worker_connections 10240

  4. Открыть файл /etc/nginx/sites-enabled/ISOGD любым удобным редактором (например, gedit, nano, vi) и внести в него изменения, касающиеся некоторых параметров.

     1server {
     2server_name <ias.ru>;
     3listen 443 ssl http2;
     4include /etc/nginx/sites-available/isogd-common;
     5include /etc/nginx/sites-available/isogd-ssl;
     6        ...
     7}
     8
     9server {
    10server_name <importer.ias.ru>;
    11listen 443 ssl http2;
    12include /etc/nginx/sites-available/isogd-common;
    13include /etc/nginx/sites-available/isogd-ssl;
    14        ...
    15}
    16
    17server {
    18server_name <monitor.ias.ru>;
    19listen 443 ssl http2;
    20include /etc/nginx/sites-available/isogd-common;
    21include /etc/nginx/sites-available/isogd-ssl;;
    22        ...
    23}
    
  5. Перезапустить Nginx, выполнив команду терминала:

    1sudo systemctl restart nginx
    
  6. Переустановить Систему с параметром «публичное доменное сайта». Параметр -gHost заполняется значением «localhost».

    1sudo bash /<home/administrator/Загрузки>/IASUnixDeploy \
    2-installDir=/<home/administrator/IAS> \
    3-connectionString='Server=<localhost>;Port=5432;Database=<database>;User Id=<IAS>;Password=admin; Connection Idle Lifetime=5;Connection Pruning Interval=3; Maximum Pool Size=500;' \
    4-gHost=localhost \
    5-iasPublicOrigin=https://<ias.ru>
    
  7. После установки, Система будет доступна по публичному адресу https://<ias.ru>

Примечание

В случае, если приложение недоступно по ссылке, необходимо добавить соответствующую A-запись на dns сервере, либо локально прописать в файле hosts (для Windows c:/windows/system32/drivers/etc/hosts, для Linux /etc/hosts) соответствие IP-адреса сервера и домена.

  1. Проверьте наличие дополнительных политик безопасности SELinux:

    1sestatus
    

Если Система выдаст «bash: sestatus: команда не найдена» или «SELinux status: disabled», то ничего делать не нужно, пропустите этот шаг.

Если SELinux включен: «SELinux status: enabled», то выполнить команды:

1sudo setsebool -P httpd_can_network_connect 1
2sudo setsebool -P httpd_use_openstack 1
  1. Откройте файл /etc/sysctl.conf и добавьте следующие параметры:

    1net.ipv4.tcp_tw_recycle = 1
    2net.ipv4.tcp_tw_reuse = 1
    3net.ipv4.tcp_keepalive_time = 600
    4net.ipv4.tcp_keepalive_intvl = 10
    5net.ipv4.tcp_keepalive_probes = 9
    6net.ipv4.ip_local_port_range = 10240 65535
    

Проксирование WebSocket

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

Пример настройки nginx

Для поддержки WebSocket и организации туннеля между клиентом и сервером приложения необходимо указать hop-to-hop заголовки Upgrade и Connection в файле настройки сайта /etc/nginx/sites-available/isogd.

1location /api/signalr/ {
2    proxy_pass http://localhost:5001/api/signalr/;
3    proxy_http_version 1.1;
4    proxy_set_header Upgrade $http_upgrade;
5    proxy_set_header Connection "Upgrade";
6    proxy_set_header Host $host;
7    proxy_cache_bypass $http_upgrade;
8}