Instalace a aktualizace webového rozhraní Palstatu 3G


Základní informace

Úvod

WebClient není plná náhrada desktopové aplikace. 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 www.palstat.cz
 

Aktualizace

Před nasazením aktualizace WebClienta vždy aplikujte i aktualizaci celého systému.
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é.

POZOR od verze 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í nejprve také 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
  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 ho také nejprve doinstalovat) a nainstalujte položky:
    • IIS: Basic Authentication

    • IIS: Recomended configuration / Doporučená konfigurace služby IIS

    • IIS: ISAPI Filters / Filtry ISAPI

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

    • IIS: Windows authentication

    • ASP.NET 4.5

    • Microsoft Rewrite 2.0  / Přepisování adres URL

  4. Restartujte IIS Server 

Nastavení IIS

  • Spusťte 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.

  • V Application Pools vyberte, ten který pro aplikaci používáte a v Advanced Settings nastavte Enable 32-Bit Application na True

  • U vytvořené aplikace, v naší ukázce je to PalstatWeb, 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ěla být nastavena skupina IUSR s právy pro čtení a zápis 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="\palstat" />
  <add key="fixedLang" value="" />
  <add key="logUsers" value="" />
  <add key="clearLog" value="false" />
  <add key="liveInterval" value="10"/>
  <add key="pdfConvert" value=""/>
</appSettings>

Popis:

styleName         - DX visual style
path              - path to palstat directory structure ... ONLY for accessing CONFIG dir ... structure {PATH}\CONFIG is REQUIRED
                  - ~ web application folder
fixedLang         - fixed language of UI - lang cannot be switched by user
liveInterval      - timespan in minutes for internal webclient to keep website live (default: 0)
optimizeDX        - request for partial modules contains only required DX styles/scripts
compress          - compressing requests
pdfConvert        - for API - rtf/doc documents are converted to pdf to display on web page

logUsers          - detailed log for specified users to table PALWEBREQUESTS (example: ALL,ALLUSERS,UNAUTHORIZED,ADMIN,PALSTAT\tomash)
logBuffer         - constant - 30 records
logIgnoredActions - actions ignored by log
clearLog          - clear db log after application restart (default: false)

 

 

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)

<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:

 

Produkční adresa: http://url.example.cz/PalstatWeb/
Testovací adresa konfigurace: http://url.example.cz/PalstatWeb/status/

  

  

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)

 

5)

 

6)