.. _Install_Windows_Printforms_InstallingApi: Установка Printforms API ######################## Для установки Printforms API требуется скопировать его файлы в целевую папку. Для этого нужно выполнить команду: .. code-block:: console Copy-Item ".\TerraLink.xDEPro\Printforms.REST" -Destination "$($env:ProgramFiles)\TerraLink.xDEPro\Printforms\Printforms.REST" -Recurse Настройка подключения к базе данных *********************************** Теперь нужно настроить подключение Printforms API к базе данных. Для этого требуется переименовать демонстрационный конфигурационный файл с шаблоном подключения к SQL Server в конфигурационный файл, который будет использоваться Printforms API: .. code-block:: console Rename-Item -Path "$($env:ProgramFiles)\TerraLink.xDEPro\Printforms\Printforms.REST\appsettings.SqlServer.Printforms.json.demo" -NewName "appsettings.json" Далее нужно открыть конфигурационный файл в текстовом редакторе: .. code-block:: console notepad "$($env:ProgramFiles)\TerraLink.xDEPro\Printforms\Printforms.REST\appsettings.json" найти поле ``ConnectionString``, заменить имя экземпляра SQL Server и задать имя пользователя и пароль назначенной учетной записи: .. code-block:: JSON { "ProviderName": "Microsoft.Data.SqlClient", "ConnectionString": "Server=.\\SQLEXPRESS;Database=PRINTFORMS_DB;User Id=sa;Password=1234aA;MultipleActiveResultSets=true;Max Pool Size=500;TrustServerCertificate=True" } Затем нужно сохранить файл (``Ctrl+S``) и выйти из редактора. .. note:: Если планируется использовать SQL Server, установленный на другой машине, то в строке подключения нужно указать имя хоста (либо IP-адрес) и порт установленного экземпляра SQL Server. Настройка доступа к Printforms API через IIS ******************************************** Для настройки доступа к Printforms API через IIS требуется открыть приложение IIS Manager. Создание пула приложений ======================== В IIS Manager выбрать элемент "Application Pools" и в его контекстном меню выбрать команду "Add Application Pool...": .. image:: ../img/IIS-AddApplicationPool-Menu.png :scale: 75 :align: center :alt: IIS-AddApplicationPool-Menu Затем нужно задать параметры пула: * ``Name``: xde-printforms-api * ``.NET CLR Version``: No Managed Code Остальные параметры оставить без изменений и нажать кнопку ``OK``: .. image:: img/InstallingApi-1.png :scale: 75 :align: center :alt: InstallingApi-1 Теперь нужно задать учетную запись для работы пула приложений. Для этого выбрать пул в списке и справа на панели "Actions" выбрать действие "Advanced Settings...": .. image:: img/InstallingApi-2.png :scale: 75 :align: center :alt: InstallingApi-2 В окне "Advanced Settings" нужно найти настройку "Identity" и нажать кнопку ``...``: .. image:: ../img/IIS-ApplicationPool-Identity.png :scale: 75 :align: center :alt: IIS-ApplicationPool-Identity В окне "Application Pool Identity" выбрать "Custom account" и нажать кнопку ``Set...``: .. image:: ../img/IIS-ApplicationPool-Custom-Account.png :scale: 75 :align: center :alt: IIS-ApplicationPool-Custom-Account В окне "Set Credentials" задать имя пользователя, от имени которого ведется установка Продукта, его пароль, и подтвердить пароль. После этого нажать кнопку ``OK``: .. image:: ../img/IIS-ApplicationPool-Custom-Account-Details.png :scale: 75 :align: center :alt: IIS-ApplicationPool-Custom-Account-Details Затем нажать кнопку ``OK`` в окне "Application Pool Identity" и в окне "Advanced Settings". Создание сайта ============== В IIS Manager выбрать элемент "Sites" и в его контекстном меню выбрать команду "Add Website...": .. image:: ../img/IIS-Add-Site.png :scale: 75 :align: center :alt: IIS-Add-Site Затем нужно задать параметры сайта: * ``Site name``: xde-printforms-api * ``Application pool``: xde-printforms-api * ``Physical path``: C:\Program Files\TerraLink.xDEPro\Printforms\Printforms.REST * ``Port``: 6130 Остальные параметры оставить без изменений и нажать кнопку ``OK``: .. image:: img/InstallingApi-3.png :scale: 75 :align: center :alt: InstallingApi-3 Добавление правила в настройки Firewall ======================================= Для того чтобы Printforms API был доступен снаружи, в настройки Firewall нужно добавить правило, открывающее порт созданного сайта. Для этого в строке поиска нужно набрать текст "advanced security" и в результатах поиска выбрать приложение "Windows Defender Firewall with Advanced Security": .. image:: ../img/Firewall-Search.png :scale: 75 :align: center :alt: Firewall-Search В окне приложения выбрать элемент "Inbound Rules" и в его контекстном меню выбрать команду "New Rule...": .. image:: ../img/Firewall-New-Rule-Menu.png :scale: 75 :align: center :alt: Firewall-New-Rule-Menu Тип правила установить в значение ``Port`` и нажать кнопку ``Next``: .. image:: ../img/Firewall-Rule-Type.png :scale: 75 :align: center :alt: Firewall-Rule-Type Далее нужно указать значение порта для созданного сайта и нажать кнопку ``Next``: .. image:: img/InstallingApi-4.png :scale: 75 :align: center :alt: InstallingApi-4 Далее нужно разрешить подключение и нажать кнопку ``Next``: .. image:: ../img/Firewall-Allow-Connection.png :scale: 75 :align: center :alt: Firewall-Allow-Connection Далее выбрать типы сетей, из которых разрешено подключение (по умолчанию подключение разрешено из всех), и нажать кнопку ``Next``: .. image:: ../img/Firewall-Profiles.png :scale: 75 :align: center :alt: Firewall-Profiles Далее нужно задать имя для правила и нажать кнопку ``Finish``: .. image:: img/InstallingApi-5.png :scale: 75 :align: center :alt: InstallingApi-5 Проверка доступности Printforms API *********************************** Для проверки доступности Printforms API нужно открыть браузер на машине, отличной от той, на которую производится установка. В адресной строке браузера указать имя или IP-адрес целевой машины и порт: .. code-block:: http://192.168.11.128:6130 В ответ в браузере должна открыться страница :ref:`Swagger UI `.