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

Z enTeam
Skočit na navigaci Skočit na vyhledávání
(Nastavení webového API)
(Není zobrazeno 11 mezilehlých verzí od stejného uživatele.)
Řádek 11: Řádek 11:
 
== Instalace webového rozhraní ==
 
== Instalace webového rozhraní ==
 
=== Předpoklady ===
 
=== Předpoklady ===
Webové aplikační rozhraní (webové API) informačního systému enTeam využívá k připojení do databáze dvou způsobů. Prvním z nich je přímé připojení do databáze pomocí databázového klienta. Druhým způsobem je připojení pomocí OLE rozhraní, které je součástí standardního desktopového klienta aplikace enTeam. <br>
+
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]].
Server, kde bude webové API provozováno, proto musí mít:
 
* Funkční enTeam nejnovější verze (6.4.0.4) – serverovou (hlavní) instalaci a
 
* Funkční ASP.NET Core Runtime 8.0 (např. 8.0.19 nebo novější)
 
** https://dotnet.microsoft.com/en-us/download/dotnet/8.0
 
** Stáhnout a nainstalovat „Hosting Bundle“
 
[[Soubor:HostingBundle8.png|žádný|Hosting Bundle]]
 
  
=== Služba OS Windows ===
+
===Služba OS Windows===
Instalace webového rozhraní informačního systému enTeam jako služby OS Windows je zajištěna v rámci instalace nové verze enTeam.
+
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) ===
+
===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====
==== Předpoklady ====
 
* Funkční webový server Internet Information Services (IIS) verze 10 nebo novější
 
* Instalované následující komponenty IIS (instalaci lze ověřit a příp. provést přes aplikaci Server Manager > Manage > Add Roles and Features)
 
** Web Server (IIS) > Web Server > Application Development > .NET Extensibility 4.X
 
** Web Server (IIS) > Web Server > Application Development > ASP.NET 4.X
 
* Existence databázového uživatele (typicky teambridge), pod kterým se bude webové API přihlašovat do databáze
 
 
 
==== Postup instalace ====
 
 
Instalace sestává z následujících kroků:
 
Instalace sestává z následujících kroků:
 
<ol>
 
<ol>
Řádek 47: Řádek 34:
 
</li>
 
</li>
 
<li> 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).<br>
 
<li> 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).<br>
[[Soubor:AddWebsite.png|Add Website]]<br>
+
[[Soubor:AddWebsite.png|522px|Add Website]]<br>
 
<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.}}<br>
{{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 a zvolený port byl dostupný pouze v rámci firemní sítě, příp. po připojení do VPN.}}  
+
{{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>
  
=== Nastavení webového API ===
+
====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 ====
+
=====Soubor appsettings.json=====
 
V aplikaci webového API nastavte soubor {{FileName|appsettings.json}} dle následujícího postupu.
 
V aplikaci webového API nastavte soubor {{FileName|appsettings.json}} dle následujícího postupu.
 
<ol>
 
<ol>
Řádek 63: Řádek 51:
 
{{Note|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 {{FileName|appsettings.json}}, je možné zakomentované řádky zcela odstranit (pozor ale na případné porušení syntaxe JSON, např. čárky mezi vlastnostmi)}}
 
{{Note|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 {{FileName|appsettings.json}}, je možné zakomentované řádky zcela odstranit (pozor ale na případné porušení syntaxe JSON, např. čárky mezi vlastnostmi)}}
 
</li>
 
</li>
<li> Pokud chcete pouzí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}}. Jde o vlastnosti {{FileCont|WebApiDb}}, {{FileCont|DataDictionaryDb}}, {{FileCont|ScriptExDb}}, {{FileCont|UserDb}} a {{FileCont|WorkflowManagerDb}} a jejich vlastnosti {{FileCont|Provider}} a {{FileCont|ConnectionString}}<br>
Řádek 72: Řádek 60:
 
{{FileCont|1="ConnectionString":"Database=SERVER:C:\\enTeam\\Files\\Data\\enTeam.fdb;…"}}}}<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 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>
 
{{FileCont|1=[M/TeamBridge]<br>
 
{{FileCont|1=[M/TeamBridge]<br>
 
ServerEngine=True}}
 
ServerEngine=True}}
  
==== Soubor web.config ====
+
=====Soubor web.config=====
 
Pro běh webového API je třeba nastavit proměnnou prostředí SERIEM tak, aby odkazovala na soubor {{FileName|serie_m.WebApi.ini}} (viz [[#INI soubor webového API]]). Toho lze docílit úpravou souboru {{FileName|web.config}} (uvnitř elementu {{FileCont|aspNetCore)}} dle následujícího postupu:
 
Pro běh webového API je třeba nastavit proměnnou prostředí SERIEM tak, aby odkazovala na soubor {{FileName|serie_m.WebApi.ini}} (viz [[#INI soubor webového API]]). Toho lze docílit úpravou souboru {{FileName|web.config}} (uvnitř elementu {{FileCont|aspNetCore)}} dle následujícího postupu:
 
<ol>
 
<ol>
Řádek 112: Řádek 100:
  
 
=== Ověření funkčnosti ===
 
=== Ověření funkčnosti ===
Pro ověření dostupnosti webového GUI vložte do webového prohlížeče adresu, na které má být GUI 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ř.<br>
 
<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é GUI nainstalováno správně.<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>
  
Řádek 139: Řádek 127:
 
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.
 
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:<br>
+
Pokud aplikace vypíše do příkazové řádky tento text:<br><br>
 
{{Command|1=Hosting environment: Production<br>
 
{{Command|1=Hosting environment: Production<br>
 
Content root path: c:\inetpub\wwwroot\enTeam.WebApi <span style="color: red">(může se lišit)</span><br>
 
Content root path: c:\inetpub\wwwroot\enTeam.WebApi <span style="color: red">(může se lišit)</span><br>
 
Now listening on: <nowiki>http://localhost:5000</nowiki><br>
 
Now listening on: <nowiki>http://localhost:5000</nowiki><br>
Application started. Press Ctrl+C to shut down.}},<br>
+
Application started. Press Ctrl+C to shut down.}},<br><br>
 
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]].
 
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]].

Verze z 29. 8. 2025, 14:01

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ů.
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). V návodu jsou uvedeny relativní cesty k souborům a adresářům (vždy začínají adresářem enTeam.WebApi, tj. adresářem umístěném na první úrovni vnoření v uvedeném archivu).
Pro přehlednost jsou názvy souborů a adresářů v celém postupu instalace označeny technickým písmem. Názvy adresářů a souborů obsažené v uvedeném ZIP archivu jsou navíc zvýrazněny červenou barvou.
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.

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 enTeam.WebApi\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.
    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) a zvolený port byl dostupný pouze v rámci firemní sítě, příp. po připojení do VPN.

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. Jde o vlastnosti WebApiDb, DataDictionaryDb, ScriptExDb, UserDb a WorkflowManagerDb a jejich vlastnosti Provider a ConnectionString
    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.


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 desktopu. 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.