Instalace webového rozhraní
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 této stránce.
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.
Aplikace v rámci webového serveru Internet Information Services (IIS)
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ů:
- Vytvořit adresář enTeam.WebApi v kořenovém adresáři webového serveru (např. c:\inetpub\wwwroot)
- Zkopírovat obsah adresáře enTeam.WebApi\bin do adresáře enTeam.WebApi, vytvořeného v předchozím kroku
- V IIS Manageru přidat nový aplikační pool pro webové API (IIS Manager > Server > Application Pools > Add Application Pool…)
- 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
- 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).
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 a zvolený port byl dostupný pouze v rámci firemní sítě, příp. po připojení do VPN.
Nastavení webového API
Soubor appsettings.json
V aplikaci webového API nastavte soubor appsettings.json dle následujícího postupu.
- 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) - 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
- 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:
- 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
-
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). -
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ě.
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:
- Otevřete aplikaci Příkazová řádka (cmd.exe)
- 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) - 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.