Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Warning
titleВажно!

На следующем шаге нужно указать путь к директории на разделе, выделенном для БД. Иначе файлы баз данных будут храниться на системном разделе.

Для переноса уже существующего хранилища на другой раздел следуйте инструкции.



Warning
titleВажно!
Настройки логирования по умолчанию не являются оптимальными и могут очень быстро заполнить диск логами. Нужно выполнить настройку по инструкции.

2. Проверить конфигурационный файл C:\Program Files\PostgreSQL\XX\data\pg_hba.conf, где XX - версия PostgreSQL:

...

Code Block
languagebash
postgres-#CREATE DATABASE vitrodb withWITH ownerOWNER = vitrodbuser encodingENCODING = 'UTF8' connection limit LOCALE_PROVIDER = 'icu' ICU_LOCALE = -1;'ru-u-kn-true' TEMPLATE = template0 CONNECTION_LIMIT = -1;


8. Создать 8. Создать новую базу данных с именем workflow:

Code Block
languagebash
postgres-#CREATE DATABASE workflow withWITH ownerOWNER = vitrodbuser encodingENCODING = 'UTF8' LOCALE_PROVIDER = 'icu' ICU_LOCALE = 'ru-u-kn-true' TEMPLATE = connectiontemplate0 limitCONNECTION_LIMIT = -1;


9. Отключиться от cli postgresql:

...

27. Настроить обратное проксирование.
Если планируется использование авторизации через Kerberos, то необходимо настроить обратное проксирование через IIS.
Иначе возможно использовать Обратное проксирование можно настроить с помощью различных программных средств, с учетом предпочтений заказчика. В отдельной статье рассмотрена настройка обратного проксирования через IIS.
В рамках данной статьи рассматривается наиболее предпочтительный вариант с использованьем NGINX в качестве обратного прокси.
Пример конфигов для обратного проксирования для NGINX (for WindowsПример конфигурационного файла NGINX (nginx.conf):

Code Block
languageyml
titleC:\nginx\conf\nginx.conf
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;# Расширенный лог для отладки
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_formatsendfile  main  '$remote_addr - $remote_user [$time_local] "$request" ' on;
    # client_max_body_size 20G;
    
    # КРИТИЧНО: Увеличиваем буферы для тяжелых Kerberos-тикетов
   '$status $bodylarge_client_bytesheader_sent "$http_referer" 'buffers 4 64k;
    #proxy_buffer_size   128k;
    proxy_buffers   4 256k;
    proxy_busy_buffers_size   '"$http_user_agent" "$http_x_forwarded_for"'256k;

    # #access_logПоддержка постоянных logs/access.logсоединений с main;
браузером
    sendfilekeepalive_timeout  300s;
    keepalive_requests  on1000;

    #tcp_nopush     on;

# 1. Настройка Upstream с Keep-Alive (обязательно для Negotiate/NTLM)
    upstream #keepalive_timeoutvitros_backend {
   0;
    keepalive_timeout  65;

server 127.0.0.1:4615;
       #gzip keepalive on64;

server {
    }

    listen# 80 default_server;
		server_name vitro.example.ru;
  Редирект с HTTP на HTTPS
    server  {
  client_max_body_size 100000M;
        
     listen  80 proxy_http_versiondefault_server;
         1.1;
		proxy_pass_request_headers on;
		proxy_pass_request_body    on;  listen [::]:80 default_server;
            

		proxy_buffer_size   1M;server_name dev-vs.vitro.dev;

        proxy_buffersif (  4 1M;
$host != "dev-vs.vitro.dev" ){
            proxy_read_timeout 1hreturn 444;
        proxy_send_timeout 1h; }

        location / {
  return 301 https://$host$request_uri;
    }

    # Основной SSL сервер
 #proxying traffic to upstream application (Vitro.Server.Core.Web)
  server {
        listen 443 ssl default_server;
        proxy_pass http://127.0.0.1:4615;
				proxy_set_header X-Real-IP $remote_addr;
				proxy_set_headerlisten [::]:443 ssl default_server;
        server_name dev-vs.vitro.dev;

   X-Forwarded-For     $proxy_add_x_forwarded_for;
				proxy_set_headerssl_certificate         X-Forwarded-Proto   $scheme;
				proxy_set_header Host $host;         
		}
 
C:/nginx/conf/ssl/dev-vs.vitro.dev.crt;
         location /workflow/manager {
ssl_certificate_key C:/nginx/conf/ssl/dev-vs.vitro.dev.key;
        ssl_protocols TLSv1.2 TLSv1.3;
        
        # Оптимизация SSL для Windows
        proxyssl_session_passcache httpshared://localhost:4616/workflow/manager;
        }   
	}
}SSL:10m;
        ssl_session_timeout 10m;

        if ( $host != "dev-vs.vitro.dev" ){
            return 444;
        }

        # Общие настройки проксирования для Windows Auth
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_pass_request_body    on;
        proxy_read_timeout 1h;
        proxy_send_timeout 1h;

        location / {
            # 2. Используем upstream
            proxy_pass http://vitros_backend;

            # 3. КРИТИЧНО: Отключаем буферизацию для трансляции NTLM-рукопожатия
            proxy_buffering off;
            proxy_request_buffering off;

            # 4. Сбрасываем заголовок Connection для работы Keep-Alive до бэкенда
            proxy_set_header Connection ""; 
            
            # 5. Проброс заголовков
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            
            # Для поддержки WebSockets
            proxy_set_header Upgrade $http_upgrade;
            # proxy_set_header Connection "upgrade"; # Раскомментируйте, если нужны только сокеты
        }

        location /workflow/manager {
            proxy_pass http://localhost:4616/workflow/manager;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            proxy_buffering off;
            proxy_set_header Host $host;
        }	
    }
}

Примечание: Файлы *.crt и *.key для https протокола можно получить из pfx файла сертификата. На примере самоподписанного сертификата IIS (не рекомендуется для продукционных сред!):

  1. Откройте IIS Manager → выберите сервер → Server Certificates  Create Self-Signed Certificate.
  2. Кликните правой кнопкой на созданный сертификат → Export. Сохраните его как файл .pfx с паролем.
  3. С помощью утилиты openssl (она часто идет в комплекте с Git для Windows или ставится отдельно), чтобы вытащить ключ и сертификат:
    1. Code Block
      titleИзвлечь ключ
      openssl pkcs12 -in dev-vs.vitro.dev.pfx -nocerts -out dev-vs.vitro.dev.key -nodes
    2. Code Block
      titleИзвлечь сертификат
      openssl pkcs12 -in dev-vs.vitro.dev.pfx -clcerts -nokeys -out dev-vs.vitro.dev.crt


Добавление шаблонов рабочих процессов

  1. Перейти на вкладку Workflow Defenitions в Elsa
    http://vitro.example.ru/workflow/manager/workflow-definitions
    где vitro.example.ru - адрес сайта
     
  2. Нажать Create workflow 


  3. Нажать Import 


  4. Выбрать файл шаблона из папки workflows дистрибутива


  5. После загрузки шаблона нажать Publish 


  6. Перейти обратно на вкладку Workflow defenitions  и убедиться, что шаблон создан

  7. Таким образом добавить все шаблоны из папки workflows дистрибутива

Настройка системы

Необходимо указать адрес портала в ключе Site.PortalUrl.

Для этого нужно:

  1. Перейти в список Конфигурация пространства Центр Администрирования (список по умолчанию скрыт).
  2. Открыть папку Общие настройки 
  3. Для ключа Адрес портала указать в поле Значение (строка) адрес портала в виде https://example.com

    Warning
    Важно!
    Адрес портала не должен заканчиваться символом слэша.

Добавление лицензии

Для работы серверной части требуется лицензионный ключ.

Если лицензионного ключа нет, то запросы на обновление элементов выдают ошибку "Лицензионные ограничения".

Лицензионный ключ предоставляется по запросу в техническую поддержку к менеджеру и должен быть запрошен повторно перед обновлением системы.

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

Ссылка на список выведена в сайдбар: