CAQweb a CAQapi, instalace a aktualizace


Základní informace

Úvod

CAQweb není plná náhrada desktopové aplikace CAQdesktop. Lze jej využít na zpřístupnění a zobrazení požadovaných výstupů a výrobních dokumentací. Funkčnost bude dále rozšiřována.

Systém Webového rozhraní může být provozován pouze na IIS serveru, není podporován APACHE.

Aktuální systémové požadavky najdete na stránce podpory www.palstat.cz

Od roku 2023 pro moduly CAQapi a CAQweb ukončujeme podporu pro Internet Explorer.
 

Aktualizace

Před nasazením aktualizace CAQapi a CAQweb vždy aplikujte i aktualizaci ostatních modulů, nejprve CAQdesktop poté CAQservice.
Po obdržení instalačních souborů odstraňte ze souboru příznak blokovaného souboru (nemusí být vždy).

Zálohujte adresář s aplikací na Web serveru a celou složku s webovým rozhraním, kromě adr. UserConfig smažte a nakopírujte nové soubory ze staženého balíčku. Pokud by Vám staré soubory nešly smazat, bude třeba zastavit službu IIS serveru (nebo dokonce restartovat celé PC), protože některé soubory můžou být serverem otevřené.

 

Při přechodu ze starší verze než 2018.03.000 zavádíme podporu HTTPS, kvůli tomu jsou při aktualizaci nutné ještě tyto dvě dodatečné změny:

  • Dohrát do adr. UserConfig soubor ze zaslaného balíčku "UserConfig (TEMPLATE)/WebServerRules.config"
  • Pomocí "Microsoft Web Platform Installer" (k nalezení je v nabídce Start windows, na IIS serveru, případně se musí doinstalovat) vyhledat a doinstalovat položku "Microsoft Rewrite 2.0" (Přepisování adres URL).

Jak utilitu WebPlatformInstaller tak Microsoft Rewrite instalátor můžete najít v dodávaném balíčku v adresáři SUPPORT.

Otestujte funkčnost aplikace, spuštění může trvat několik minut. Aplikace se při změně znovu kompiluje.

Instalace

Od naší společnosti získáte *.ZIP balíček obsahují instalační soubory.

Rozbalte zaslanou složku na disk IIS serveru, název a cesta jsou volitelné a přejmenujte adresář “…WEB/UserConfig (TEMPLATE) “ jen na “…WEB/UserConfig“ (odstraňte TEMPLATE z názvu).

Příprava prostředí

  1. Instalujte IIS – Internet Information Server pomocí nástroje přidat / odebrat role
  2. Nainstalujte Microsoft .NET Framework 4.5.
  3. V nabídce Start vyhledejte a spusťte Microsoft Web Platform Installer (pokud na serveru není, je potřeba také doinstalovat) a pomocí této aplikace nainstalujte položky:
    • IIS: Basic Authentication

    • IIS: ISAPI Filters / Filtry ISAPI

    • IIS: ISAPI Extensions / Rozšíření ISAPI

    • IIS: Windows authentication

    • ASP.NET 4.5

    • Microsoft Rewrite 2.x  / Přepisování adres URL

  4. Restartujte IIS Server, nestačí pouze Site

Nastavení IIS

  • Vyhledejte na serveru a spusťte správce Internet Information Services (IIS) Manager 
  • Na požadované webové stránce přes pravé tlačítko přidejte aplikaci nebo site a směrujte ji do rozbaleného adresáře.
  • Novou site pojmenujte CAQapi nebo CAQweb dle toho jaké rozšíření instalujete.

  • V Application Pools vyberte, ten který pro aplikaci používáte a v Advanced Settings nastavte Enable 32-Bit Application na True, volitelně můžete nastavit Start Mode na Always, zajistíte si tak rychlejší první spuštění aplikace při delším nepoužívání.

  • U vytvořené aplikace CAQapi nebo CAQweb, nastavte v sekci Authentication Anonymous a Forms Authentication na Enabled, pokud se chcete přihlašovat do webového rozhraní pomocí logovacího okna a uživatele tak ověřovat vůči interní databázi Palstatu, nebo nastavte jen Windows Authentication na Enabled, pokud chcete uživatele ověřovat vůči Active Directory.

POZOR toto nastavení musí souhlasit s tím, jak máte nastaveno ověřování uživatelů v samotném Palstatu a také ho pak musíte shodně vyplnit v konfiguračním souboru “Authentication.config“ (viz níže).

Pokud použijete ověřování vůči Active Directory, tak bude zřejmě potřeba IIS server (http://url.example.cz) na stanicích přidat v “Možnostech Internetu“ v “Ovládacích panelech“ do zóny “Důvěryhodné weby“ nebo “Místní intranet“ v závislosti na nastavené úrovni zabezpečení ve Vaší síti, aby mohlo dojít ke kontaktování doménového řadiče a ověření uživatele.

  • Nastavte správná přístupová práva na nově založenou složku na disku.
    Dle verze IIS a systému by zde měl být nastaven uživatel IUSR a skupina IIS_IUSRS s právy Read&Execute.
    POZOR: bez správného nastevní práv nebude aplikace funkční.

 

Upravení konfiguračních souborů

Nakonec je potřeba upravit v adresáři “...WEB/UserConfig“ konfigurační soubory. Tyto soubory nastavíte pouze při instalaci, při provádění UPGRADE tyto soubory neupravujeme.

 

AppSettings.config

<appSettings>
  <add key="styleName" value="MetropolisBlue" />
  <add key="path" value="~" />
  <add key="fixedLang" value="" />
  <add key="logUsers" value="" />
  <add key="clearLog" value="false" />
  <add key="liveInterval" value="0"/>
  <add key="pdfConvert" value=""/>
  <add key="compress" value="true"/>
</appSettings>

Popis:

parametr důležité výchozí popis
styleName NE MetropolisBlue druh vzhledu DX komponent
path ANO ~ kde má aplikace hledat konfiguraci
      "~" - hledání konfigurace v adresáři aplikace
      "~/UserConfig" - konfigurace bude hledata v ./UserConfig/CONFIG
fixedLang NE NULL fixní jazyk grafického prostředí, nemůže být změněno uživatelem
liveInterval NE 0 po jakou dobu v minutách držet aktivní session web klienta, 0 - neomezeně
compress NE true true/false, zda mají být komprimovány požadavky
pdfConvert NE NULL rtf/doc, konfigurace pouze pro CAQapi, jaké dokumenty mají být konvertovány do PDF
logUsers NE NULL detailní logování do tabulky PALWEBREQUESTS (ALL, ALLUSERS, UNAUTHORIZED, ADMIN, [DOMENA]/jitkan)
logBuffer NE 30 počet řádků logu, jen pro DEBUG účely
logIgnoredActions NE NULL akce, které jsou logováním ignorovány, jen pro DEBUG účely
clearLog NE false false/true, zda má být log vyprázdněn po restartování aplikace

 

Authentication.config

 

<authentication mode="Forms">
  <forms loginUrl="~/User/Login" timeout="2880" />
</authentication>

 

Po úpravě konfiguračních souborů je potřeba webovou aplikaci restartovat, aby se změny konfigurace načetly. Nejjednodušší způsob je, udělat jakoukoliv změnu v hlavním konfiguračním souboru “…WEB/Web.config“, takže např. přidat volný řádek do některého ze zakomentovaných bloků. Nebo restartujete aplikaci přes IIS Manager.

První spuštění pak může být pomalejší, protože se aplikace bude nejprve kompilovat.

 

WebServerRules.config (od verze 2018.03.000), není třeba upravovat

<rules>
  <clear />
  <rule name="HTTP/S to HTTPS Redirect" enabled="false" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAny">
      <add input="{SERVER_PORT_SECURE}" pattern="^0$" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
  </rule>
</rules>

Testování funkčnosti

Nyní by se Vám již mělo zobrazovat webové rozhraní PALSTAT na adrese webové stránky, na kterou jste si přidali zaslanou aplikaci. Pro naši ukázku je to tedy:

 

CAQweb  
Produkční adresa: http://url.example.cz/CAQweb/
Testovací adresa konfigurace: http://url.example.cz/CAQweb/status/
   
CAQapi  
Produkční adresa: http://url.example.cz/CAQapi/
Testovací adresa konfigurace: http://url.example.cz/CAQapi/status/xml/
   

   

Napojení CAQweb a CAQapi na službu CAQservice

Je doporučena instalace CAQservice při používání PalstatCAQ na více jak jednom PC.

Předchozí řádky návodu pracují s konfigurací tak, že je celá uložena v adresáři ./UserConfig/CONFIG/ a může tak docházet k tomu, že zapomenete nahrát nové LICenční soubory jak pro adresář CAQdesktop tak pro CAQapi respektive CAQweb. V takovém případě se začnou aplikace chovat nestandardně s možnou chybou aktivace. Řešením je provoz CAQservice, která bude všem rozšířením systému Palstat poskytovat aktuální konfiguraci jak licenční tak databázovou.

Po nainstalování a otestování funkčnosti CAQservice (firewall, prostupnost na požadovaný port) umístíte do konfiguračního adresáře (./UserConfig/CONFIG/) pouze jediný soubor Config.xml ve stejném zápisu jak pro CAQdesktop, CAQapi a CAQweb. Forma zápisu je uvedena v návodu k instalaci CAQservice.

 

Nastavení IIS pro provoz  HTTPS protokolu

Nastavení je možné provést například pomocí bezplatné služby, pomocí které je možné podepsat IIS server. Certifikát je v pravidelných intervalech automaticky obnovován. Implementaci je možné aplikovat způsoby viz. https://letsencrypt.org/docs/client-options/

Naší společností je používán win-acme (.NET), který je publikován na GitHub - https://github.com/PKISharp/win-acme/releases

  • Stáhnete a rozbalíte ZIP do libovolného umístění na serveru kde chcete IIS aplikovat např. c:/LetsEncrypt
  • Na DNS musí být nastaven správný překlad a stroj kde chcete aplikovat musí na uvedenou adresu vidět.
  • Spustit letsencrypt.exe
  • Následně procházíte průvodcem dle vlastních potřeb. Níže popsán jeden z možných scénářů, ale není fixní.
  • Výsledkem je podepsaný IIS stroj nebo site a v schedulleru vytvořená úloha, která bude kontrolovat aktuálnost certifikátu a obnovovat jej při blížící se expiraci.

Možné nasazení SSL pomocí LetsEncrypt

Zakládáme na IIS site s názvem ssl.palstat.cz a na DNS nastavujeme směrování. (uvedená adresa je pouze fiktivní, pro vaše nasazení použijte odpovídající DNS název)

  1. Založit site jako klasický HTTP a nastavit DNS
  2. Na stroji ověříme, že DNS je funkční např. Pomocí ping ssl.palstat.cz případně otevřením v browseru
  3. Spustíme LetsEncrypt.exe a zvolíme „N“
  4. Zvolíme „Single binding of an IIS site“
  5. Zvolíme Site, kterou chceme podepsat
  6. Potvrzení o úspěšném nasazení certifikátu
  7. Adresa musí fungovat v HTTPS
  8. Scheduller obsahuje úlohu pro obnovení certifikátu

 

1)

 

2)

 

3)

 

4)