Instalace webového rozhraní: Porovnání verzí

Z enTeam
Skočit na navigaci Skočit na vyhledávání
(Nastavení webového API)
(INI soubor webového API)
 
(Není zobrazeno 19 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
 
== O aplikaci ==
 
== O aplikaci ==
 
Informační systém enTeam zajišťuje řízení a správu firemních dokumentů, komunikaci uvnitř pracovního týmu a flexibilní automatizaci firemních procesů.<br>
 
Informační systém enTeam zajišťuje řízení a správu firemních dokumentů, komunikaci uvnitř pracovního týmu a flexibilní automatizaci firemních procesů.<br>
 +
 +
Tento postup obsahuje odkazy na aplikace enTeam, které nazýváme:
 +
* Workflow Manager - stávající klient, aplikace mtbGUI.exe
 +
* enTeamUI - nový klient, aplikace enTeamUI.exe
 +
* webové API - aplikační rozhraní enTeam, součást webového rozhraní enTeam
 +
* webové GUI - webové grafické uživatelské rozhraní, součást webového rozhraní enTeam
 +
 
Webové rozhraní informačního systému enTeam je možné provozovat jako (popis zprovoznění každé z možností je uveden v samostatné kapitole tohoto postupu):
 
Webové rozhraní informačního systému enTeam je možné provozovat jako (popis zprovoznění každé z možností je uveden v samostatné kapitole tohoto postupu):
 
* službu operačního systému Windows, nebo
 
* službu operačního systému Windows, nebo
 
* aplikaci v rámci webového serveru Internet Information Services (IIS)  
 
* aplikaci v rámci webového serveru Internet Information Services (IIS)  
  
Instalační soubory webového rozhraní jsou součástí ZIP archivu CD (verze aplikace enTeam). V návodu jsou uvedeny relativní cesty k souborům a adresářům (vždy začínají adresářem {{FileNameZip|enTeam.WebApi}}</code>, tj. adresářem umístěném na první úrovni vnoření v uvedeném archivu).<br>  
+
Instalační soubory webového rozhraní jsou součástí ZIP archivu CD (verze aplikace enTeam).<br>  
Pro přehlednost jsou názvy souborů a adresářů v celém postupu instalace označeny {{FileName|technickým písmem}}. Názvy adresářů a souborů obsažené v uvedeném ZIP archivu jsou navíc zvýrazněny {{FileNameZip|červenou barvou}}.<br>
+
Pro přehlednost jsou názvy souborů a adresářů v celém postupu instalace označeny {{FileName|technickým písmem}}.<br>
 
Dále jsou v tomto postupu uvedeny příklady částí souborů. Takové texty jsou označeny {{FileCont|modrou barvou}}.<br>
 
Dále jsou v tomto postupu uvedeny příklady částí souborů. Takové texty jsou označeny {{FileCont|modrou barvou}}.<br>
  
Řádek 12: Řádek 19:
 
=== Předpoklady ===
 
=== Předpoklady ===
 
Webové aplikační rozhraní (webové API) informačního systému enTeam může být provozováno na serveru splňujícím předpoklady uvedené na stránce [[Předpoklady_instalace_webového_API|Předpoklady instalace webového API]].
 
Webové aplikační rozhraní (webové API) informačního systému enTeam může být provozováno na serveru splňujícím předpoklady uvedené na stránce [[Předpoklady_instalace_webového_API|Předpoklady instalace webového API]].
 +
 +
=== Zabezpečení ===
 +
Z důvodu zabezpečení aplikace důrazně doporučujeme, aby webové rozhraní aplikace enTeam bylo provozováno výhradně na protokolu HTTPS (viz [[Přesměrování_nešifrované_komunikace_na_protokol_HTTPS|Přesměrování nešifrované komunikace na protokol HTTPS]]) a zvolený port byl dostupný pouze v rámci firemní sítě, příp. po připojení do VPN.
  
 
===Služba OS Windows===
 
===Služba OS Windows===
Řádek 23: Řádek 33:
 
<ol>
 
<ol>
 
<li> Vytvořit adresář {{FileName|enTeam.WebApi}} v kořenovém adresáři webového serveru (např. {{FileName|c:\inetpub\wwwroot}})</li>
 
<li> Vytvořit adresář {{FileName|enTeam.WebApi}} v kořenovém adresáři webového serveru (např. {{FileName|c:\inetpub\wwwroot}})</li>
<li> Zkopírovat obsah adresáře {{FileName|enTeam.WebApi\bin}} do adresáře {{FileName|enTeam.WebApi}}, vytvořeného v předchozím kroku</li>
+
<li> Zkopírovat obsah adresáře {{FileName|Application\WEB\bin}} do adresáře {{FileName|enTeam.WebApi}}, vytvořeného v předchozím kroku</li>
 
<li> V IIS Manageru přidat nový aplikační pool pro webové API (IIS Manager > Server > Application Pools > Add Application Pool…)<br>
 
<li> V IIS Manageru přidat nový aplikační pool pro webové API (IIS Manager > Server > Application Pools > Add Application Pool…)<br>
 
[[Soubor:AddAppPool.png|Add Application Pool]]
 
[[Soubor:AddAppPool.png|Add Application Pool]]
Řádek 37: Řádek 47:
 
<br>
 
<br>
 
{{Note|Poznámka: Pokud je uvedený port na serveru již obsazen jinou aplikací, použijte libovolný jiný. Zvolený port je ale nutné reflektovat ve všech krocích tohoto postupu.}}<br>
 
{{Note|Poznámka: Pokud je uvedený port na serveru již obsazen jinou aplikací, použijte libovolný jiný. Zvolený port je ale nutné reflektovat ve všech krocích tohoto postupu.}}<br>
{{Note|Poznámka: Zvolený port musí být dostupný ze všech zařízení, kde má být provozováno webové rozhraní aplikace enTeam nebo aplikace enTeamUI.}}<br>
+
{{Note|Poznámka: Zvolený port musí být dostupný ze všech zařízení, kde má být provozováno webové rozhraní aplikace enTeam nebo aplikace enTeamUI.}}
{{Note|Poznámka: Z důvodu zabezpečení aplikace důrazně doporučujeme, aby webové rozhraní aplikace enTeam bylo provozováno výhradně na protokolu HTTPS (viz [[Přesměrování_nešifrované_komunikace_na_protokol_HTTPS|Přesměrování nešifrované komunikace na protokol HTTPS]]) a zvolený port byl dostupný pouze v rámci firemní sítě, příp. po připojení do VPN.}}  
 
 
</li>
 
</li>
 
</ol>
 
</ol>
Řádek 53: Řádek 62:
 
<li> Pokud chcete použít nastavení připojení k databázi ve standardním INI aplikace enTeam (doporučená varianta), zkontrolujte, že soubor {{FileName|appsettings.json}} neobsahuje klíč {{FileCont|ConnectionStrings}}
 
<li> Pokud chcete použít nastavení připojení k databázi ve standardním INI aplikace enTeam (doporučená varianta), zkontrolujte, že soubor {{FileName|appsettings.json}} neobsahuje klíč {{FileCont|ConnectionStrings}}
 
</li>
 
</li>
<li> Pokud nelze použít hodnoty načtené z INI, nastavte přístup k databázím aplikace enTeam uvnitř klíče {{FileCont|ConnectionStrings}}. Jde o vlastnosti {{FileCont|WebApiDb}}, {{FileCont|DataDictionaryDb}}, {{FileCont|ScriptExDb}}, {{FileCont|UserDb}} a {{FileCont|WorkflowManagerDb}} a jejich vlastnosti {{FileCont|Provider}} a {{FileCont|ConnectionString}}<br>
+
<li> Pokud nelze použít hodnoty načtené z INI, nastavte přístup k databázím aplikace enTeam uvnitř klíče {{FileCont|ConnectionStrings &gt; Default}} a pomocí vlastností {{FileCont|Provider}} a {{FileCont|ConnectionString}}<br>
{{Note|Poznámka: Pokud jsou některé (nebo všechny) databáze spojené a vlastnosti Provider a ConnectionString by se v různých klíčích konfigurace opakovaly, lze tyto nahradit implicitním nastavením – klíčem Default.}}
+
{{Note|Poznámka: Pokud jsou jednotlivé (nebo všechny) evidence rozděleny do samostatných databází, je třeba klíč Default nahradit za klíče WebApiDb, DataDictionaryDb, ScriptExDb, UserDb a WorkflowManagerDb a každému klíči korektně nastavit vlastnosti Provider a ConnectionString.}}
 
</li>
 
</li>
 
</ol><br>  
 
</ol><br>  
{{Note|Poznámka: V případě databázového serveru Firebird obsahuje vlastnost {{FileCont|ConnectionString}} plnou cestu k souboru databáze (např. {{FileName|C:\enTeam\Files\Data\enTeam.fdb}}). Aby byla aplikace webového API schopna vlastnost {{FileCont|ConnectionString}} přečíst, je třeba zpětná lomítka v cestě k souboru „zdvojit“. Cesta k databázi pak bude v hodnotě vlastnosti {{FileCont|ConnectionString}} např. tato:<br>
+
{{Note|Poznámka: V případě databázového serveru Firebird obsahuje vlastnost ConnectionString plnou cestu k souboru databáze (např. C:\enTeam\Files\Data\enTeam.fdb). Aby byla aplikace webového API schopna vlastnost ConnectionString přečíst, je třeba zpětná lomítka v cestě k souboru „zdvojit“. Cesta k databázi pak bude v hodnotě vlastnosti ConnectionString např. tato: &quot;ConnectionString&quot;: &quot;Database&#61;SERVER:C:\\enTeam\\Files\\Data\\enTeam.fdb;...&quot;.}}<br>
{{FileCont|1="ConnectionString":"Database=SERVER:C:\\enTeam\\Files\\Data\\enTeam.fdb;…"}}}}<br>
 
  
 
=====INI soubor webového API=====
 
=====INI soubor webového API=====
Webové API pro svůj běh potřebuje pozměněné INI oproti desktopu. Vytvořte kopii souboru serie_m.ini, ke které bude přistupovat pouze webové API (např. {{FileName|<enTeamAdresar>\Ini\serie_m.WebApi.ini}}) a přidejte do něj následující obsah<br>
+
Webové API pro svůj běh potřebuje pozměněné INI oproti Workflow Manageru a ostatním stávajícím aplikacím enTeam. Vytvořte kopii souboru serie_m.ini, ke které bude přistupovat pouze webové API (např. {{FileName|<enTeamAdresar>\Ini\serie_m.WebApi.ini}}) a přidejte do něj následující obsah<br>
 
{{FileCont|1=[M/TeamBridge]<br>
 
{{FileCont|1=[M/TeamBridge]<br>
 
ServerEngine=True}}
 
ServerEngine=True}}
Řádek 100: Řádek 108:
  
 
=== Ověření funkčnosti ===
 
=== Ověření funkčnosti ===
Pro ověření dostupnosti webového rozhraní vložte do internetového prohlížeče adresu, na které má být rozhraní dostupné, tedy např.<br>
+
Pro ověření dostupnosti webového rozhraní vložte do internetového prohlížeče adresu, na které má být rozhraní dostupné, tedy např. <nowiki>https://enteam.<doména>.cz</nowiki>.<br>
<nowiki>https://enteam.<doména>.cz</nowiki><br>
 
 
Pokud se v prohlížeči zobrazí přihlašovací stránka webového rozhraní informačního systému enTeam a do aplikace je možné se přihlásit, je webové rozhraní nainstalováno správně.<br><br>
 
Pokud se v prohlížeči zobrazí přihlašovací stránka webového rozhraní informačního systému enTeam a do aplikace je možné se přihlásit, je webové rozhraní nainstalováno správně.<br><br>
 
[[Soubor:LoginToWebEnteam.png|Login to enTeam]]<br>
 
[[Soubor:LoginToWebEnteam.png|Login to enTeam]]<br>

Aktuální verze z 2. 9. 2025, 09:56

O aplikaci

Informační systém enTeam zajišťuje řízení a správu firemních dokumentů, komunikaci uvnitř pracovního týmu a flexibilní automatizaci firemních procesů.

Tento postup obsahuje odkazy na aplikace enTeam, které nazýváme:

  • Workflow Manager - stávající klient, aplikace mtbGUI.exe
  • enTeamUI - nový klient, aplikace enTeamUI.exe
  • webové API - aplikační rozhraní enTeam, součást webového rozhraní enTeam
  • webové GUI - webové grafické uživatelské rozhraní, součást webového rozhraní enTeam

Webové rozhraní informačního systému enTeam je možné provozovat jako (popis zprovoznění každé z možností je uveden v samostatné kapitole tohoto postupu):

  • službu operačního systému Windows, nebo
  • aplikaci v rámci webového serveru Internet Information Services (IIS)

Instalační soubory webového rozhraní jsou součástí ZIP archivu CD (verze aplikace enTeam).
Pro přehlednost jsou názvy souborů a adresářů v celém postupu instalace označeny technickým písmem.
Dále jsou v tomto postupu uvedeny příklady částí souborů. Takové texty jsou označeny modrou barvou.

Instalace webového rozhraní

Předpoklady

Webové aplikační rozhraní (webové API) informačního systému enTeam může být provozováno na serveru splňujícím předpoklady uvedené na stránce Předpoklady instalace webového API.

Zabezpečení

Z důvodu zabezpečení aplikace důrazně doporučujeme, aby webové rozhraní aplikace enTeam bylo provozováno výhradně na protokolu HTTPS (viz Přesměrování nešifrované komunikace na protokol HTTPS) a zvolený port byl dostupný pouze v rámci firemní sítě, příp. po připojení do VPN.

Služba OS Windows

Instalace webového rozhraní enTeam jako služby OS Windows je zajištěna v rámci instalace nové verze enTeam. Nedaří-li se po instalaci nové verze enTeam službu webového API nastartovat, kontaktujte prosím technickou podporu společnosti Leviom.

Aplikace v rámci webového serveru Internet Information Services (IIS)

Instalaci webového rozhraní enTeam jako aplikace v rámci webového serveru Internet Information Services (IIS) je třeba provést manuálně podle následujícího postupu.

Postup instalace

Instalace sestává z následujících kroků:

  1. Vytvořit adresář enTeam.WebApi v kořenovém adresáři webového serveru (např. c:\inetpub\wwwroot)
  2. Zkopírovat obsah adresáře Application\WEB\bin do adresáře enTeam.WebApi, vytvořeného v předchozím kroku
  3. V IIS Manageru přidat nový aplikační pool pro webové API (IIS Manager > Server > Application Pools > Add Application Pool…)
    Add Application Pool
  4. V rozšířených nastaveních aplikačního poolu musí být nastaveno
    • .NET CLR Version = No Managed Code
    • Enable 32-Bit Applications = true
    • Identity = Local System
    Advanced Settings
  5. V IIS Manageru vytvořit novou webovou stránku pro webové API (pojmenovanou např. enTeam.WebApi) a přiřadit jí vlastní port (např. 8088).
    Add Website

    Poznámka: Pokud je uvedený port na serveru již obsazen jinou aplikací, použijte libovolný jiný. Zvolený port je ale nutné reflektovat ve všech krocích tohoto postupu.
    Poznámka: Zvolený port musí být dostupný ze všech zařízení, kde má být provozováno webové rozhraní aplikace enTeam nebo aplikace enTeamUI.

Nastavení webového API

Pro zajištění správné funkčnosti webového rozhraní enTeam je třeba upravit konfiguraci následujících souborů.

Soubor appsettings.json

V aplikaci webového API nastavte soubor appsettings.json dle následujícího postupu.

  1. Pokud v adresáři aplikace webového API dosud takový soubor nemáte, pak jej vytvořte zkopírováním souboru appsettings.Template.json
    Poznámka: Klíče (ve struktuře JSON souboru), které začínají znakem (nebo více znaky) #, jsou považovány za zakomentované a slouží pouze jako ilustrace možného nastavení. Po nastavení hodnot v souboru appsettings.json, je možné zakomentované řádky zcela odstranit (pozor ale na případné porušení syntaxe JSON, např. čárky mezi vlastnostmi)
  2. Pokud chcete použít nastavení připojení k databázi ve standardním INI aplikace enTeam (doporučená varianta), zkontrolujte, že soubor appsettings.json neobsahuje klíč ConnectionStrings
  3. Pokud nelze použít hodnoty načtené z INI, nastavte přístup k databázím aplikace enTeam uvnitř klíče ConnectionStrings > Default a pomocí vlastností Provider a ConnectionString
    Poznámka: Pokud jsou jednotlivé (nebo všechny) evidence rozděleny do samostatných databází, je třeba klíč Default nahradit za klíče WebApiDb, DataDictionaryDb, ScriptExDb, UserDb a WorkflowManagerDb a každému klíči korektně nastavit vlastnosti Provider a ConnectionString.


Poznámka: V případě databázového serveru Firebird obsahuje vlastnost ConnectionString plnou cestu k souboru databáze (např. C:\enTeam\Files\Data\enTeam.fdb). Aby byla aplikace webového API schopna vlastnost ConnectionString přečíst, je třeba zpětná lomítka v cestě k souboru „zdvojit“. Cesta k databázi pak bude v hodnotě vlastnosti ConnectionString např. tato: "ConnectionString": "Database=SERVER:C:\\enTeam\\Files\\Data\\enTeam.fdb;...".

INI soubor webového API

Webové API pro svůj běh potřebuje pozměněné INI oproti Workflow Manageru a ostatním stávajícím aplikacím enTeam. Vytvořte kopii souboru serie_m.ini, ke které bude přistupovat pouze webové API (např. <enTeamAdresar>\Ini\serie_m.WebApi.ini) a přidejte do něj následující obsah
[M/TeamBridge]
ServerEngine=True

Soubor web.config

Pro běh webového API je třeba nastavit proměnnou prostředí SERIEM tak, aby odkazovala na soubor serie_m.WebApi.ini (viz #INI soubor webového API). Toho lze docílit úpravou souboru web.config (uvnitř elementu aspNetCore) dle následujícího postupu:

  1. Pokud v adresáři aplikace webového API dosud takový soubor nemáte, pak jej vytvořte zkopírováním souboru web.Template.config
  2. Správně nastavte proměnnou SERIEM v souboru web.config Příklad nastavení proměnné SERIEM:
    <aspNetCore
      processPath="c:\Program Files (x86)\dotnet\dotnet.exe"
      arguments=".\Leviom.enTeam.WebApi.dll"
      stdoutLogEnabled="false"
      stdoutLogFile=".\logs\stdout">
        <environmentVariables>
            <environmentVariable
              name="SERIEM"
              value="<enTeamAdresar>\Ini\serie_m.WebApi.ini" />
        </environmentVariables>
    </aspNetCore>

    Používáte-li 64bitový OS, zajistěte, aby se používala x86 varianta programu dotnet.exe. Nejjednodušší je upravit soubor web.config tak, že nastavíte plnou cestu k programu v atributu processPath elementu aspNetCore (viz ukázka výše).
  3. V IIS Manageru ověřte, zda máte na serveru nainstalovaný modul WebDAV (IIS Manager > Server > Modules). Pokud se v seznamu instalovaných modulů nevyskytuje WebDAVModule, odstraňte ze souboru web.config následující sekci.
    <modules runAllManagedModulesForAllRequests="false">
        <remove name="WebDAVModule" />
    </modules>

Ověření funkčnosti

Pro ověření dostupnosti webového rozhraní vložte do internetového prohlížeče adresu, na které má být rozhraní dostupné, tedy např. https://enteam.<doména>.cz.
Pokud se v prohlížeči zobrazí přihlašovací stránka webového rozhraní informačního systému enTeam a do aplikace je možné se přihlásit, je webové rozhraní nainstalováno správně.

Login to enTeam

Pokud není ověření funkčnosti aplikace úspěšné, pokračujte zjištěním příčiny chyby dle #Ověření funkčnosti webového API končí chybou 500 nebo 502 a po vyřešení problému znovu ověřte funkčnost aplikace z internetového prohlížeče.

Často kladené otázky (FAQ)

Ověření funkčnosti webového API končí chybou 500 nebo 502

Pokud ověření funkčnosti webového API dle kapitoly #Ověření funkčnosti končí chybou 500 Internal Server Error, příp. 502 Bad Gateway, lze příčinu chyby zjistit dle následujícího postupu:

  1. Otevřete aplikaci Příkazová řádka (cmd.exe)
  2. V Příkazové řádce přejděte do adresáře aplikace, ve které dochází k chybě, příkazem: cd <AplikaceAdresar>
    V příkazu nahraďte
    <AplikaceAdresar> za plnou cestu k adresáři s instalací aplikace, která vykazuje uvedenou chybu (např. c:\inetpub\wwwroot\enTeam.WebApi)
  3. V Příkazové řádce spusťte požadovanou aplikaci
    <DotnetAdresar>\dotnet.exe Leviom.enTeam.WebApi.dll
    V příkazu nahraďte
    <DotnetAdresar> za plnou cestu k adresáři s instalací x86 varianty programu dotnet.exe (např. c:\Program Files (x86)\dotnet)

V příkazové řádce se zobrazí výpis, z něhož by mělo být možné důvod nefunkčnosti aplikace zjistit. Pokud výpisu aplikace nerozumíte, kontaktujte, prosím, technickou podporu společnosti Leviom.

Pokud aplikace vypíše do příkazové řádky tento text:

Hosting environment: Production
Content root path: c:\inetpub\wwwroot\enTeam.WebApi (může se lišit)
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
,

byly odstraněny všechny chyby a aplikace je plně funkční. V takovém případě ji lze v Příkazové řádce ukončit stiskem Ctrl+C a znovu ověřit její funkčnost z webového prohlížeče dle kapitoly #Ověření funkčnosti.