1. Установка Postgresql инсталлятором


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


Раздел  "#IPv4 local connections"  должен содержать запись:

host      all      all      127.0.0.1/32     scram-sha-256


При разнесенной (выделенный сервер SQL) установке, или необходимости обеспечить внешний доступ к БД, следует добавить раздел "IPv4 network connections":


и строку:

# IPv4 local connections:

host      all      all      0.0.0.0/0      scram-sha-256


3. Перезапустить службу:


4. Проверить выполняется ли прослушивание на порту 5432 для всех активных адресов:

C:\>netstat -a

Активные подключения

  Имя    Локальный адрес        Внешний адрес          Состояние
...
  TCP    0.0.0.0:5432           Vitrow2k16:0           LISTENING


5. Войти в cli postgresql от имени пользователя postgres:

c:\>cd "C:\Program Files\PostgreSQL\15\bin"
C:\Program Files\PostgreSQL\15\bin>psql -U postgres -h 127.0.0.1
Пароль пользователя postgres: <ввести пароль пользователя "postgres", заданный при инсталляции Postgresql>


6. Создать пользователя с ролью суперпользователя:

postgres-#CREATE USER vitrodbuser WITH PASSWORD '@pwd4vitro!' SUPERUSER;


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

postgres-#CREATE DATABASE vitrodb with owner = vitrodbuser encoding = 'UTF8' connection limit = -1;


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

postgres-#CREATE DATABASE workflow with owner = vitrodbuser encoding = 'UTF8' connection limit = -1;


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

postgres-# \q


10. Скачать и распаковать дистрибутив:

Инициализация базы данных

Версия дистрибутива 24.1.38 или выше:

11. Файлы инициализации базы данных лежат в папке DB\Install (внутри распакованного дистрибутива):

C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.38.7\DB\Install\db_func_create.sql
C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.38.7\DB\Install\db_table_create.sql
C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.38.7\DB\Install\db_data_init.sql

12. Запустить инициализацию базы из скриптов:

C:\Program Files\PostgreSQL\15\bin>psql -U vitrodbuser -h 127.0.0.1 -d vitrodb -f "C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.38.7\DB\Install\db_func_create.sql" -f "C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.38.7\DB\Install\db_table_create.sql" -f "C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.38.7\DB\Install\db_data_init.sql"

Версия дистрибутива ниже 24.1.38:

11.1 Скопировать путь к файлу резервной копии базы данных (внутри распакованного дистрибутива):

C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.12\DB\vitrodb.bak

12.1 Запустить восстановление БД из бэкапа:

C:\Program Files\PostgreSQL\15\bin>psql -U vitrodbuser -h 127.0.0.1 vitrodb < "C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.12\DB\vitrodb.bak"

Файлы конфигурации

13. Скопировать следующие папки из дистрибутива в расположение установки в "C:\Program Files\Vitro" :

C:\Windows\system32>xcopy C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.12\vitro "C:\Program Files\Vitro\" /e
C:\Windows\system32>xcopy C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.12\Vitro.Server.Core.Web "C:\Program Files\Vitro\Server\Vitro.Server.Core.Web\" /e
C:\Windows\system32>xcopy C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.12\Vitro.Server.Workflow.Manager.Web "C:\Program Files\Vitro\Server\Vitro.Server.Workflow.Manager.Web\" /e


14. Скопировать папку файлового хранилища в расположение, в которое смонтирован раздел для хранения:

C:\Windows\system32>xcopy C:\distr\Vitro.Server.MultiPlatform.Windows-24.1.12\DB\VitroFileStorage "D:\Data\VitroFileStorage\" /e


15. Внести изменения в конфигурационный файл db.json:

C:\Program Files\Vitro Software\Vitro\Server\Conf\db.json
 "ConnectionString": "server=localhost;database=vitrodb;user id=vitrodbuser;password=@pwd4vitro!;Include Error Detail=true",
"FileStoragePath": "D:\Data\VitroFileStorage\",
"TempPath": "/tmp",


16. Внести изменения в конфигурационный файл workflow.json:

C:\Program Files\Vitro Software\Vitro\Server\Conf\workflow.json
 "ConnectionString": "server=localhost;database=workflow;user id=vitrodbuser;password=@pwd4vitro!;Include Error Detail=true",
"BaseUrl": "http://vitro.example.ru",
"PortalUrl": "http://www.example.com",
"BasePath": "/workflow/manager",
"Login": "admin",
"Password": "admin",

17. Внести изменения в конфигурационный файл mail.json:

Для автоматического запуска Веб-приложений создать и настроить задания для планировщика Windows:

18.  Нажать Win+s и в строке поиска ввести "планировщик заданий". Запустить найденное приложение.


19.  В открывшемся окне планировщика на левой панели открыть библиотеку планировщика заданий. На панели "Действия" вызвать функцию "Создать простую задачу". В открывшемся окне ввести "Имя" задачи "Vitro Server .Net Web Application". 

Нажать "Далее".


20.  На шаге "Триггер" мастера создания выбрать пункт "При запуске компьютера". Нажать "Далее".


21.  На шаге "Действие" выбрать пункт "Запустить программу". Нажать "Далее".


22. На шаге "Запуск программы" :

23. На шаге "Завершение" отметить флаг "Открыть окно "Свойства"для..." и нажать  "Готово" :


24.  в открывшемся окне свойств установить переключатель в положение "Выполнять для всех пользователей", и отметить флаг "Выполнить с наивысшими правами". Также можно сменить пользователя, от которого будет выполняться  задание. После подтверждения ввести пароль пользователя.


25. Повторить шаги 18 - 23 для приложения Workflow Manager задав следующие параметры:

"Имя" задачи: "Vitro Workflow Manager .Net Web Application"
"Программа или сценарий":  "C:\Program Files\Vitro\Server\Vitro.Server.Workflow.Manager.Web\Workflow.Manager.Web.exe"
аргументы команды: /urls http://localhost:4616
"рабочая папка" C:\Program Files\Vitro\Server\Vitro.Server.Workflow.Manager.Web


26. запустить задания вручную и проверить выполняется ли прослушивание на портах, заданных в аргументах команд  (здесь 4615 и 4616) для адреса Lo интерфейса:

netstat -a  Активные подключения

   Имя    Локальный адрес        Внешний адрес          Состояние
...
  TCP    127.0.0.1:4615           Vitrow2k16:0           LISTENING   ...
  TCP    127.0.0.1:4616           Vitrow2k16:0           LISTENING   ...


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

#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_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

server {
        listen 80 default_server;
		server_name vitro.example.ru;
		
		proxy_http_version         1.1;
		proxy_pass_request_headers on;
		proxy_pass_request_body    on;           

		proxy_buffer_size   1M;
        proxy_buffers   4 1M;
        proxy_read_timeout 1h;
        proxy_send_timeout 1h; 

        location / {
                #proxying traffic to upstream application (Vitro.Server.Core.Web)
                proxy_pass http://127.0.0.1:4615;
        }
 
        location /workflow/manager {
                proxy_pass http://localhost:4616/workflow/manager;
        }   
	}
}


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

  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 дистрибутива