Установка Системы#
Чтобы установить Систему, разместите на сервере файлы:
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.
В папку /etc/ssl/certs/ необходимо разместить SSL-сертификат.
В папку /etc/ssl/private/ необходимо разместить ключ SSL-сертификата.
Открыть файл /etc/nginx/nginx.conf, в секции events измените worker_connections 10240
Открыть файл /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}
Перезапустить Nginx, выполнив команду терминала:
1sudo systemctl restart nginx
Переустановить Систему с параметром «публичное доменное сайта». Параметр -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>
После установки, Система будет доступна по публичному адресу https://<ias.ru>
Примечание
В случае, если приложение недоступно по ссылке, необходимо добавить соответствующую A-запись на dns сервере, либо локально прописать в файле hosts (для Windows c:/windows/system32/drivers/etc/hosts, для Linux /etc/hosts) соответствие IP-адреса сервера и домена.
Проверьте наличие дополнительных политик безопасности 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
Откройте файл /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}