💽 Vzpostavitev in vzdrževanje

Priprava strežnika

Rešitev VegeLine deluje na novejših operacijskih sistemih Windows. Za namestitev v strežniško okolje sta testirani dve različici in sicer:

  • Windows Server 2019
  • Windows Server 2022

Na strežnik je priporočena namestitev operacijskega sistema Windows Server 2022, saj ta vsebuje vse potrebne komponente za optimalno delovanje sistema VegeLine. V nasprotnem primeru je operacijski sistem (Windows Server 2019) potrebno ustrezno prilagodit na način opisan v poglavju Windows Server 2019.

Namestitev IIS 10.0

Na strežnik je potrebno namestit IIS z ARR in modulom URL Rewrite 2.1.

IIS namestite s privzetimi opcijami in pod Security ne vklapljate nič razen “Request Filtering”. Za optimalno delovanje sistema VegeLine mora bit možnost “Windows Authentication” onemogočena, saj to upravlja strežnik VegeLine. IIS služi zgolj kot reverse-proxy strežnik.

Spodaj so storitve, ki jih izberete ob namestitvi Web Server IIS v sklopu Web Server:

Common HTTP Features

  • Default Document
  • Directory Browsing
  • HTTP Errors
  • Static Content

Health and Diagnostics

  • HTTP Logging

Performance

  • Static Content Compression

Security

  • Request Filtering

Predloga za postavitev IIS

<Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
  <Obj RefId="0">
    <TN RefId="0">
      <T>System.Collections.ObjectModel.Collection`1[[System.Management.Automation.PSObject, System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]</T>
      <T>System.Object</T>
    </TN>
    <LST>
      <Obj RefId="1">
        <TN RefId="1">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Common_Http</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Common_Http</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Common_Http</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">141</I32>
          <Obj N="__ClassMetadata" RefId="2">
            <TN RefId="2">
              <T>System.Collections.ArrayList</T>
              <T>System.Object</T>
            </TN>
            <LST>
              <Obj RefId="3">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                  <S N="MiXml">&lt;CLASS NAME="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="locale" TYPE="sint32" TOSUBCLASS="false"&gt;&lt;VALUE&gt;1033&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
              <Obj RefId="4">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Common_Http</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1743287128</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Common_Http" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Common-Http&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="5">
        <TN RefId="3">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Default_Doc</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Default_Doc</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Default_Doc</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">143</I32>
          <Obj N="__ClassMetadata" RefId="6">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="7">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="8">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Default_Doc</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1743282968</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Default_Doc" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Default-Doc&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="9">
        <TN RefId="4">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Dir_Browsing</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Dir_Browsing</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Dir_Browsing</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">144</I32>
          <Obj N="__ClassMetadata" RefId="10">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="11">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="12">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Dir_Browsing</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1743256968</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Dir_Browsing" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Dir-Browsing&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="13">
        <TN RefId="5">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Filtering</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Filtering</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Filtering</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">169</I32>
          <Obj N="__ClassMetadata" RefId="14">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="15">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="16">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Filtering</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1743273608</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Filtering" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Filtering&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="17">
        <TN RefId="6">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Health</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Health</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Health</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">155</I32>
          <Obj N="__ClassMetadata" RefId="18">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="19">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="20">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Health</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1743279848</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Health" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Health&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="21">
        <TN RefId="7">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Http_Errors</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Http_Errors</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Http_Errors</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">145</I32>
          <Obj N="__ClassMetadata" RefId="22">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="23">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="24">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Http_Errors</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1743261128</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Http_Errors" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Http-Errors&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="25">
        <TN RefId="8">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Http_Logging</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Http_Logging</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Http_Logging</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">156</I32>
          <Obj N="__ClassMetadata" RefId="26">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="27">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="28">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Http_Logging</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1743263208</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Http_Logging" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Http-Logging&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="29">
        <TN RefId="9">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Mgmt_Console</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Mgmt_Console</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Mgmt_Console</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">175</I32>
          <Obj N="__ClassMetadata" RefId="30">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="31">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="32">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Mgmt_Console</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1743236168</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Mgmt_Console" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Mgmt-Console&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="33">
        <TN RefId="10">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Mgmt_Tools</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Mgmt_Tools</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Mgmt_Tools</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">174</I32>
          <Obj N="__ClassMetadata" RefId="34">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="35">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="36">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Mgmt_Tools</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1743232008</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Mgmt_Tools" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Mgmt-Tools&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="37">
        <TN RefId="11">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Performance</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Performance</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Performance</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">171</I32>
          <Obj N="__ClassMetadata" RefId="38">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="39">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="40">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Performance</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1739905848</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Performance" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Performance&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="41">
        <TN RefId="12">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Security</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Security</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Security</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">162</I32>
          <Obj N="__ClassMetadata" RefId="42">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="43">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="44">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Security</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1739891288</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Security" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Security&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="45">
        <TN RefId="13">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Server</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Server</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Server</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">2</I32>
          <Obj N="__ClassMetadata" RefId="46">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="47">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="48">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Server</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1739904808</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Server" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Server&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="49">
        <TN RefId="14">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Stat_Compression</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Stat_Compression</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Stat_Compression</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">172</I32>
          <Obj N="__ClassMetadata" RefId="50">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="51">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="52">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Stat_Compression</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1739890248</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Stat_Compression" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Stat-Compression&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="53">
        <TN RefId="15">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_Static_Content</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_Static_Content</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_Static_Content</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">142</I32>
          <Obj N="__ClassMetadata" RefId="54">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="55">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="56">
                <MS>
                  <S N="ClassName">ServerComponent_Web_Static_Content</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1739896488</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_Static_Content" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-Static-Content&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
      <Obj RefId="57">
        <TN RefId="16">
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/ServerComponent_Web_WebServer</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/ServerManager/MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#ServerComponent_Web_WebServer</T>
          <T>Microsoft.Management.Infrastructure.CimInstance#MSFT_ServerManagerServerComponentDescriptor</T>
          <T>Microsoft.Management.Infrastructure.CimInstance</T>
          <T>System.Object</T>
        </TN>
        <ToString>ServerComponent_Web_WebServer</ToString>
        <Props>
          <S N="PSComputerName">SRV-VEGETACIJA</S>
        </Props>
        <MS>
          <I32 N="NumericId">140</I32>
          <Obj N="__ClassMetadata" RefId="58">
            <TNRef RefId="2" />
            <LST>
              <Obj RefId="59">
                <MS>
                  <S N="ClassName">MSFT_ServerManagerServerComponentDescriptor</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1741117896</I32>
                </MS>
              </Obj>
              <Obj RefId="60">
                <MS>
                  <S N="ClassName">ServerComponent_Web_WebServer</S>
                  <S N="Namespace">ROOT/Microsoft/Windows/ServerManager</S>
                  <S N="ServerName">SRV-VEGETACIJA</S>
                  <I32 N="Hash">-1739887128</I32>
                  <S N="MiXml">&lt;CLASS NAME="ServerComponent_Web_WebServer" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"&gt;&lt;QUALIFIER NAME="dynamic" TYPE="boolean"&gt;&lt;VALUE&gt;true&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="provider" TYPE="string"&gt;&lt;VALUE&gt;deploymentprovider&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="ClassVersion" TYPE="string"&gt;&lt;VALUE&gt;0.0.0&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"&gt;&lt;VALUE&gt;Web-WebServer&lt;/VALUE&gt;&lt;/QUALIFIER&gt;&lt;/CLASS&gt;</S>
                </MS>
              </Obj>
            </LST>
          </Obj>
        </MS>
      </Obj>
    </LST>
  </Obj>
</Objs>

Namestitev modulov IIS

Za dostop do storitev in nadzorniške aplikacije VegeLine je potrebno v IIS 10.0 namestiti naslednje module v podanem zaporedju:

  1. URL Rewrite 2.1
  2. ARR 3.0

Po namestitvi omenjenih modulov lahko začnemo uporabljati IIS kot reverse-proxy.

Več informacij o modulih najdemo na:

  1. URL Rewrite 2.1
  2. ARR 3.0

Spodnja slika prikazuje stanje komponent IIS ob uspešni namestitvi preko orodja “Internet Information Services (IIS) Manager”:

Konfiguracija aplikacijskega strežnika IIS 10.0

Po namestitvi moramo aplikacijski strežnik še dodatno skonfigurirati. To storimo tako, da odpremo orodje “Internet Information Services (IIS) Manager”.

Prva naloga je vzpostavitev HTTPS. To storimo tako, da se navigiramo do Default Web Site in izberemo možnost “Edit bindings”, kot prikazuje slika spodaj:

Pojavi se nam novo okno, kjer preko gumba “Add” nastavimo dostop do IIS preko https:

Po vnosu bi moral strežnik bit dostopen preko https in sicer: https://srv-vegetacija.eles.si/

Naslednji korak je omogočanje delovanja kot proxy strežnik. To storimo v modulu “Application Request Routing”, kjer omogočimo možnost “Enable proxy”.

Po izvedenih korakih ponovno zaženemo aplikacijski strežnik.

Uvoz velikih datotek (LiDAR)

Za namen uvažanja podatkov LiDAR na strežnik preko HTTPS je potrebno na aplikacijskem strežniku povečati omejitev velikosti datotek. To storimo tako da v IIS odpremo Configuration Editor in se navigiramo v sekcijo system.webServer/security/requestFiltering, nato spodaj razširimo requestLimits in pod maxAllowedContentLength povečamo vrednost na 3000000000, kar je okrog 2861 MB. Po spremembi kliknemo na Apply, da uveljavimo spremembe.

Namestitev ASP.NET 6

Za delovanje storitev je Na strežnik potrebno predhodno namestiti .NET 6. Povezavi sta navedeni spodaj:

🗒️ Opcijsko se lahko namesti tudi hosting bundle, ki pa ni potreben za delovanje VegeLine, saj sistem deluje povsem neodvisno od IIS. IIS se uporablja zgolj kot Reverse Proxy.

🗒️ V primeru da se program Isuv.Services.exe ne zažene uspešno in dobite naslednji izpis:

PS C:\isuv\system\bin> ./isuv.services.exe
It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '6.0.0' was not found.
  - The following frameworks were found:
      5.0.5 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

You can resolve the problem by installing the specified framework and/or SDK.

The specified framework can be found at:
  - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&> framework_version=6.0.0&arch=x64&rid=win10-x64
PS C:\isuv\system\bin> 

Pomeni, da runtime komponenti .NET 6 in ASP.NET 6 nista pravilno nameščeni.

Namestitev SSMS

Za dostop do podatkovne baze je potrebno namestiti še odjemalca SSMS.

Odjemalec nam omogoča dostop do podatkovne baze sistema VegeLine, kot tudi konfiguracijo slednje.

Datotečna struktura namestitvenega paketa ISUV

Spodaj je prikazana struktura mape isuv, ki se nahaja na pogonu “C:\isuv” v testnem in produkcijskem okolju.

  • docs: Dokumentacija sistema VegeLine kot statična spletna vsebina
  • registration: Registracija DLL-ja isuv.dll v operacijski sistem
  • tools: Orodja, ki pomagajo pri namestitvi rešitve
  • system: Sistemske datoteke in konfiguracija rešitve VegeLine
  • desktop: Namizno orodje VegeLine, ki ga ni možno namestit na strežnik ampak ga je vseeno možno poganjati.
  • taskscheduler: Konfiguracija upravitelja opravil za samodejni zagon procesov sistema VegeLine.

V mapi system\bin se nahajajo naslednje podmape in datoteke:

  • ClientReleases: Različica namiznega orodja, ki se distribuira uporabnikom
  • ServerReleases: Različica strežnika, ki se namesti oz posodobi preko skripte
  • SQL: Skripte SQL za vzpostavitev in posodabljanje podatkovnega modela sistema VegeLine
  • VegeLine.pfx: Certifikat za SSL znotraj lokalnega omrežja
  • Import-Cert.ps1: Skripta za uvoz certifikata

Spodaj so skripte za upravljanje sistema VegeLine:

  • install.cmd: Namesti in pripravi sistem VegeLine za uporabo. Poženete samo prvič. Sistem se posodablja na drugačen način.
  • copy-docs.cmd: Posodobi dokumentacijo sistema (ta stran)
  • install-services.cmd: Namesti rešitev VegeLine kot storitev operacijskega sistema
  • start-services.cmd: Zažene storitve VegeLine
  • stop-services.cmd: Zaustavi storitve VegeLine

Pri novi postavitvi strežnika je najlažje izvesti skripto install.cmd kot administrator. V spodnjih poglavjih so pa opisani še ročni postopki namestitve sistema.

Namestitev dokumentacije

Dokumentacija sistema VegeLine in navodila za uporabo so v obliki statične spletne vsebine, katero lahko preprosto skopiramo v mapo inetput/wwwroot.

Dokumentacijo postavimo preko priložene skripte copy-docs.cmd, ki jo izvedemo z administratorskimi pravicami. Prav tako lahko na enak način posodobimo dokumentacijo ob izdaji nove različice sistema.

Dokumentacija je po kopiranju samodejno navoljo na naslednji povezavi:

Namestitev rešitve VegeLine

Odpakirajte vsebino mape “isuv-prod-system…zip” v mapo “C:\isuv\system”. Sedaj bi v raziskovalcu morali videti dve podmapi in sicer bin ter config.

V mapi bin se morajo nahajati naslednje podmape:

Podmapa Opis
bin/SQL Zbirka skript za začetno vzpostavitev podatkovne baze
bin/ServerReleases Paketi strežniških aplikacij v .zip in skripta za posodobitev sistema
bin/ClientReleases Paketi namiznih aplikacij v .msix in version.txt

Uvoz certifikata

V mapi bin se nahaja certifikat VegeLine.pfx, ki je potreben za delovanje rešitev po protokolu HTTP/2.

🗒️ Geslo pozna vaš IT.

Import-PfxCertificate -FilePath "VegeLine.pfx" -CertStoreLocation 'Cert:\LocalMachine\Root' -Password (ConvertTo-SecureString "<geslo>" -AsPlainText -Force)

Statična konfiguracija VegeLine

Pred prvim zagonom je potrebno strežniški sistem VegeLine pravilno konfigurirati. Konfiguracija se nahaja v poti “C:\isuv\system\config\” in sicer v glavni datoteki isuv.config.json. Opis konfiguracijskih parametrov najdete v Statična konfiguracija VegeLine.


Windows Server 2019

🗒️ V kolikor ste na strežnik namestili Windows Server 2022, lahko ta korak preskočite.

Če rešitev nameščate na Windows Server 2019, je za delovanje VegeLine potrebno izvesti nekaj dodatnih korakov.

Rešitev VegeLine temelji na Windows Runtime, ki je naslednjik COM in DCOM. Ker Windows Server 2019 temelji na starejši različici Windows 10, ta ne podpira uporabo Windows Runtime komponent brez predhodne registracije v Windows Registry. Več podrobnosti najdete tukaj.

Komponente sistema VegeLine se nahajajo v datoteki Isuv.dll, ki jo je potrebno registrirati v sistem. Težava se pojavi pri pravicah uporabnika, saj so za registracijo komponent potrebne pravice uporabnika TrustedInstaller.

⚠️ Registracija komponent ni možna niti za uporabnika s pravicami Administratorja, niti za uporabnika SYSTEM.

Za dostop do pravic TrustedInstaller si lahko pomagamo z orodjem ProcessHacker 2 (v mapi tools), kjer je možno po teh navodilih odpret ukazno vrstico “*cmd.exe” registrirat nove komponente.

Navigirajte se v mapo “C:\isuv\system\registration" in odprite datoteko IsuvInstance.reg v urejevalniku besedil. Spremenite DllPath, da bo kazal pot do datoteke Isuv.dll na vašem sistemu.

Vsebina IsuvInstance.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsRuntime\ActivatableClassId\Isuv.IsuvInstance]
"ActivationType"=dword:00000000
"Threading"=dword:00000000
"TrustLevel"=dword:00000000
"DllPath"="C:\\isuv\\system\\bin\\Isuv.dll"

Z orodjem ProcessHacker poženite cmd.exe kot uporabnik TrustedInstaller in zaženite IsuvInstance.reg.

V cmd oknu poženite “IsuvInstance.reg”

Zaženite Isuv.Services.exe in preverite, če se aplikacija naloži brez napak.

Primer izpisa, če se storitve vzpostavijo uspešno:

info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://127.0.0.1:5000
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://127.0.0.1:5001
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\isuv\system\bin\

Prvi zagon storitev in nadzorniške aplikacije (localhost)

Storitve: Isuv.Services.exe

Navigirajte se v mapo “C:\isuv\system\bin” in poženite program Isuv.Services.exe

V primeru da se storitve vzpostavijo uzpešno, bi morali videti naslednji izpis:

info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://127.0.0.1:5000
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://127.0.0.1:5001
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\isuv\system\bin\

V brskalniku odprite naslednji naslov: https://localhost:5001/api/instance

Nadzorniška aplikacija: Isuv.ManagementApp.exe

Navigirajte se v mapo “C:\isuv\system\bin” in poženite program Isuv.Services.exe

V primeru da se storitve vzpostavijo uzpešno, bi morali videti naslednji izpis:

info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://127.0.0.1:5002
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://127.0.0.1:5003
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\isuv\system\bin\

V brskalniku odprite naslednji naslov: https://localhost:5003/management

Nadzorniška spletna aplikacija

Konfiguracija Reverse-Proxy in ostale strežniške nastavitve

Pojdite v mapo “C:\inetpub\wwwroot" in odprite datoteko web.config (kot administrator). V primeru da datoteka ne obstaja, jo ustvarite.

Pod system.webServer nastavite možnost za default dokumente na true.

❗ Ta korak je potreben za delovanje spletne strani z navodili in dokumentacijo.

<defaultDocument enabled="true" />

Pod system.webServer še je potrebno dodati pravila za prepis naslovov in sicer:

<rewrite>
    <rules>
        <rule name="Services" stopProcessing="true">
            <match url="services/(.*)" />
            <action type="Rewrite" url="https://localhost:5001/{R:1}" />
        </rule>
        <rule name="Management" stopProcessing="true">
            <match url="management/(.*)" />
            <action type="Rewrite" url="https://localhost:5003/{R:1}" />
        </rule>
    </rules>
</rewrite>

Celotni web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument enabled="true" />
        <rewrite>
            <rules>
                <rule name="Services" stopProcessing="true">
                    <match url="services/(.*)" />
                    <action type="Rewrite" url="https://localhost:5001/{R:1}" />
                </rule>
                <rule name="Management" stopProcessing="true">
                    <match url="management/(.*)" />
                    <action type="Rewrite" url="https://localhost:5003/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Vzpostavitev podatkovne baze

Rešitev za svoje potrebuje dostop do namenske podatkovne baze. Trenutno je podprta podatkovna baza MSSQL Server 2019. Spodaj je prikazana konfiguracija:

Ime Vrednost Opomba
Ime baze Isuv Lahko se poda ime po želji
Shema dbo Shema je lahko samo dbo
Compatibility level 150 Manjše verzije niso testirane
Uporabnik SQL DA Namizna aplikacija dostopa direkt do baze v primeru urejanja prostorskih podatkov. Windows avtentikacija ne deluje, razen če ima vsak domenski uporabnik pravice branja in pisanja.
Ime uporabnika Isuv Ime uporabnika in geslo sta lahko poljubni. Vse skupaj se nastavi v povezovalnem nizu (ConnectionString)

Povezavo do podatkovne baze skonfigurirate v datoteki isuv.config.json. Več informacij najdete v Statična konfiguracija VegeLine.

Potrebni ključi za konfiguracijo povezave baze so:

Nastavitev Privzeta vrednost Tip Obvezen Zaloga vrednosti Opis
IsuvDatabase Server=srv-database.eles.si,1433;Database=Isuv;UID=isuv;PWD= url MSSQL Server Connection string do podatkovne baze, kot ga vidi strežnik VegeLine
IsuvRemoteDatabase Server=srv-database.eles.si,1433;Database=Isuv;UID=isuv;PWD= url MSSQL Server Connection string do podatkovne baze, kot ga vidi namizna aplikacija VegeLine
DatabaseDriver “Driver={ODBC Driver 17 for SQL Server}” string ODBC Driver za povezavo do baze MSSQL

Primer konfuguracijske datoteke najdete v Primer celotne konfiguracije.

🗒️ “DatabaseDriver” je potreben za namizno aplikacijo in samostojne programe na strežniku, ki dostopajo do podatkovne baze preko ODBC. Same storitve in nadzorniška spletna aplikacija dostopata do podatkovne baze preko ADO.NET. Driver mora bit predhodno nameščen na sisteme, katerih tečejo orodja VegeLine. Postopek namestitve je opisan v ODBC Driver

Ustvarjanje podatkovnega modela

Navigirajte se v mapo “system/bin/”, v kateri najdete izvršne datoteke sistema in mapo “SQL”, v kateri se nahajajo skripte za vzpostavitev podatkovne baze.

V mapi bin odprite terminal (pwsh) in vnesite naslednji ukaz za pripravo podatkovnega modela:

./isuv.module.database.exe ddl create

⚠️ Ukaz bo opustil vse obstoječe tabele, zato ga uporabite samo pri začetni postavitvi sistema. Vse nadaljne posodobitve rešujete preko ukaza ./isuv.module.database.exe execute script. Več informacij najdete v Posodobitev podatkovnih modelov

Program poišče vse skripte .sql, ki se začnejo s predpono DDL_ rekurzivno v mapi SQL, pri čemer ignorira kakršnekoli skripte iz mape Patches.

Zagon aplikacij in storitev

V tej točki bi storitve in spletna aplikacija morale delovati na naslednjih povezavah:

Storitve Nadzorniška aplikacija

Prva polnitev podatkov v bazo

./isuv.module.database.exe ddl insert

Preden lahko poženete ta ukaz, si morate v nadzorniški aplikaciji dodelit pravice administratorja. To storite na povezavi https://srv-vegetacija.eles.si/management/Users/RoleManagement

Program poišče vse skripte .sql, ki se začnejo s predpono Insert_ rekurzivno v mapi SQL, pri čemer ignorira kakršnekoli skripte iz mape Patches.

⚠️ Ukaz poženete samo prvič pri začetni vzpostavitvi. V nasprotnem primeru se vstavijo duplikati podatkov.

V skriptah bi morale bit definirane vse začetne vrednosti za nemoteno delovanje sistema VegeLine.

Preverjanje delovanja

Delovanje sistema in konfiguracijo sistema lahko preverite z naslednjim ukazom:

PS C:\isuv\system\bin> .\Isuv.Module.Database.exe status

Primer izpisa v kolikor so vsi predhodni koraki uspešno izvedeni:

PS C:\isuv\system\bin> ./isuv.module.database.exe status
INSTANCE ID: {bd7e58e2-926b-445a-9cae-6906596af54c}
Database: srv-vegetacijat.eles.si,1433
[ISUV DATABASE]
[OK]    Basemaps [Veljaven]
[OK]    Clearances [Veljaven]
[OK]    Dtm [Veljaven]
[OK]    Databases [Veljaven]
[OK]    Layers [Veljaven]
[OK]    Lidar [Veljaven]
[OK]    Restrictions [Veljaven]
[OK]    Sources [Veljaven]
[OK]    Tasks [Veljaven]
[OK]    WorkOrders [Veljaven]
[OK]    Activities [Veljaven]
[OK]    ActivityLinks [Veljaven]
[OK]    Configuration [Veljaven]

[LIDAR]
[!!]    Lidar (prazna tabela)

[RASTER]
[!!]    vegetation_dtm [C:/isuv/data/raster/vegetation\dtm\1000]
[!!]    vegetation_chm_HighVeg [C:/isuv/data/raster/vegetation\chm\HighVeg\1000]
[!!]    vegetation_chm_MidVeg [C:/isuv/data/raster/vegetation\chm\MidVeg\1000]
[!!]    vegetation_chm_LowVeg [C:/isuv/data/raster/vegetation\chm\LowVeg\1000]
[!!]    vegetation_growthmap_chm_HighVeg [C:/isuv/data/raster/vegetation\growthmap\chm\HighVeg\1000]
[!!]    vegetation_growthmap_chm_MidVeg [C:/isuv/data/raster/vegetation\growthmap\chm\MidVeg\1000]
[!!]    vegetation_growthmap_chm_LowVeg [C:/isuv/data/raster/vegetation\growthmap\chm\LowVeg\1000]
[!!]    vegetation_normals_dtm [C:/isuv/data/raster/vegetation\normals\dtm\1000]
[!!]    vegetation_datemap_dtm [C:/isuv/data/raster/vegetation\datemap\dtm\1000]
[!!]    vegetation_datemap_chm_HighVeg [C:/isuv/data/raster/vegetation\datemap\chm\HighVeg\1000]
[!!]    vegetation_datemap_chm_MidVeg [C:/isuv/data/raster/vegetation\datemap\chm\MidVeg\1000]
[!!]    vegetation_datemap_chm_LowVeg [C:/isuv/data/raster/vegetation\datemap\chm\LowVeg\1000]
[!!]    assessment_risk_HighVeg [C:/isuv/data/raster/assessment\risk\HighVeg\1000]
[!!]    assessment_risk_MidVeg [C:/isuv/data/raster/assessment\risk\MidVeg\1000]
[!!]    assessment_spatialfilter [C:/isuv/data/raster/assessment\spatialfilter\1000]
[!!]    vegetation_mask [C:/isuv/data/raster/vegetation\mask\1000]
[!!]    simulation_chm_HighVeg [C:/isuv/data/raster/simulation\chm\HighVeg\1000]
[!!]    simulation_chm_MidVeg [C:/isuv/data/raster/simulation\chm\MidVeg\1000]
[!!]    simulation_datemap_chm_HighVeg [C:/isuv/data/raster/simulation\datemap\chm\HighVeg\1000]
[!!]    simulation_datemap_chm_MidVeg [C:/isuv/data/raster/simulation\datemap\chm\MidVeg\1000]
[!!]    simulation_risk_HighVeg [C:/isuv/data/raster/simulation\risk\HighVeg\1000]
[!!]    simulation_risk_MidVeg [C:/isuv/data/raster/simulation\risk\MidVeg\1000]
[!!]    lidar [C:/isuv/data/raster/lidar/lidar/]
[!!]    vegetation [C:/isuv/data/raster/lidar/vegetation/]
[!!]    vegetation_dtm [C:/isuv/data/raster/rendered\vegetation\dtm\1000]
[!!]    vegetation_chm_HighVeg [C:/isuv/data/raster/rendered\vegetation\chm\HighVeg\1000]
[!!]    vegetation_chm_MidVeg [C:/isuv/data/raster/rendered\vegetation\chm\MidVeg\1000]
[!!]    vegetation_chm_LowVeg [C:/isuv/data/raster/rendered\vegetation\chm\LowVeg\1000]
[!!]    vegetation_growthmap_chm_HighVeg [C:/isuv/data/raster/rendered\vegetation\growthmap\HighVeg\1000]
[!!]    vegetation_growthmap_chm_MidVeg [C:/isuv/data/raster/rendered\vegetation\growthmap\MidVeg\1000]
[!!]    vegetation_growthmap_chm_LowVeg [C:/isuv/data/raster/rendered\vegetation\growthmap\LowVeg\1000]
[!!]    vegetation_normals_dtm [C:/isuv/data/raster/vegetation\normals\dtm\1000]
[!!]    vegetation_datemap_dtm [C:/isuv/data/raster/rendered\vegetation\datemap\dtm\1000]
[!!]    vegetation_datemap_chm_HighVeg [C:/isuv/data/raster/rendered\vegetation\datemap\HighVeg\1000]
[!!]    vegetation_datemap_chm_MidVeg [C:/isuv/data/raster/rendered\vegetation\datemap\MidVeg\1000]
[!!]    vegetation_datemap_chm_LowVeg [C:/isuv/data/raster/rendered\vegetation\datemap\LowVeg\1000]
[!!]    assessment_risk_HighVeg [C:/isuv/data/raster/rendered\assessment\risk\HighVeg\1000]
[!!]    assessment_risk_MidVeg [C:/isuv/data/raster/rendered\assessment\risk\MidVeg\1000]
[!!]    assessment_spatialfilter [C:/isuv/data/raster/rendered\assessment\spatialfilter\1000]
[!!]    vegetation_mask [C:/isuv/data/raster/vegetation\mask\1000]
[!!]    simulation_chm_HighVeg [C:/isuv/data/raster/rendered\simulation\chm\HighVeg\1000]
[!!]    simulation_chm_MidVeg [C:/isuv/data/raster/rendered\simulation\chm\MidVeg\1000]
[!!]    simulation_datemap_chm_HighVeg [C:/isuv/data/raster/rendered\simulation\datemap\HighVeg\1000]
[!!]    simulation_datemap_chm_MidVeg [C:/isuv/data/raster/rendered\simulation\datemap\MidVeg\1000]
[!!]    simulation_risk_HighVeg [C:/isuv/data/raster/rendered\simulation\risk\HighVeg\1000]
[!!]    simulation_risk_MidVeg [C:/isuv/data/raster/rendered\simulation\risk\MidVeg\1000]
[!!]    lidar [C:/isuv/data/raster/lidar/lidar/]
[!!]    vegetation [C:/isuv/data/raster/lidar/vegetation/]

[DATASOURCES]
proj_create: Cannot find proj.db
proj_create: Cannot find proj.db
proj_create_operation_factory_context: Cannot find proj.db
pj_obj_create: Cannot find proj.db
proj_create: Cannot find proj.db
proj_create: Cannot find proj.db
proj_create_operation_factory_context: Cannot find proj.db
pj_obj_create: Cannot find proj.db
============== Clearances ==================
[!!]    Clearances [Registriran ni noben podatkovni vir!]

============== Conductor ==================
[OK]    Conductor []
[OK]    Vodniki 3D [Veljaven]

Aliases: Vodniki 3D
[OK]    Id [Id = fid]

Attributes: Vodniki 3D
[OK]    Id [Id = fid::Int64]


============== ConductorSpan ==================
[OK]    ConductorSpan []
[OK]    Vodniki razpetin 3D [Veljaven]

Aliases: Vodniki razpetin 3D
[OK]    ConductorId [ConductorId = IDvodnik]
[OK]    SpanId [SpanId = IDrazpetin]

Attributes: Vodniki razpetin 3D
[OK]    ConductorId [ConductorId = IDvodnik::Int64]
[OK]    SpanId [SpanId = IDrazpetin::Int64]


============== ElectricalSubstation ==================
[OK]    ElectricalSubstation []
[OK]    TlorisiRTP [Veljaven]

Aliases: TlorisiRTP
[OK]    Id [Id = OBJECTID]
[OK]    Name [Name = NAZIV]

Attributes: TlorisiRTP
[OK]    Id [Id = ID::Int64]
[OK]    Name [Name = NAZIV::String]


============== ExclusionZone ==================
[OK]    ExclusionZone []
[OK]    Varovalni pas [Veljaven]

Aliases: Varovalni pas
[OK]    Id [Id = ID]
[OK]    Width [Width = SIRINA]
[OK]    Voltage [Voltage = NAPNIVO]

Attributes: Varovalni pas
[OK]    Id [Id = ID::Double]
[OK]    Voltage [Voltage = NAPNIVO::Int64]
[OK]    Width [Width = SIRINA::Double]


============== InfrastructureCenter ==================
[OK]    InfrastructureCenter []
[OK]    CIPO [Veljaven]

Aliases: CIPO
[OK]    Id [Id = CIPOID]
[OK]    Name [Name = CIPO]

Attributes: CIPO
[OK]    Id [Id = CIPOID::String]
[OK]    Name [Name = CIPO::String]


============== LandCadastre ==================
[OK]    LandCadastre []
[OK]    ZKN [Veljaven]

Aliases: ZKN
[OK]    SourceId [SourceId = OBJECTID]

Attributes: ZKN
[OK]    SourceId [SourceId = OBJECTID::Int64]


============== LidarFishnet2014 ==================
[OK]    LidarFishnet2014 []
[OK]    ArsoLidar [Veljaven]

Aliases: ArsoLidar
[OK]    Id [Id = OBJECTID]

Attributes: ArsoLidar
[OK]    Id [Id = OBJECTID::Double]


============== PowerlineSystemAxis ==================
[OK]    PowerlineSystemAxis []
[OK]    Daljnovodi [Veljaven]

Aliases: Daljnovodi
[OK]    Id [Id = ID_DALJNOVOD]
[OK]    Name [Name = NAZIV]
[OK]    Voltage [Voltage = NAPETOST]
[OK]    MxAssetNumber [MxAssetNumber = MXASSETNUM]
[OK]    MxLocation [MxLocation = MXLOCATION]
[OK]    MxSiteId [MxSiteId = MXSITEID]

Attributes: Daljnovodi
[OK]    Id [Id = ID_DALJNOVOD::Int64]
[OK]    MxSiteId [MxSiteId = MXSITEID::String]
[OK]    DateModified [DateModified = DATUM_SPREMEMBE::DateTime]
[OK]    Name [Name = NAZIV::String]
[OK]    Voltage [Voltage = NAPETOST::Int64]
[OK]    MxAssetNumber [MxAssetNumber = MXASSETNUM::String]
[OK]    MxLocation [MxLocation = MXLOCATION::String]


============== Restriction ==================
[OK]    Restriction []
[OK]    Natura2000 [Veljaven]

Aliases: Natura2000
[OK]    SourceId [SourceId = SDF_ID]

Attributes: Natura2000
[OK]    SourceId [SourceId = SDF_ID::String]

[OK]    VarovalniGozdovi [Veljaven]

Aliases: VarovalniGozdovi
[OK]    SourceId [SourceId = OBJECTID]

Attributes: VarovalniGozdovi
[OK]    SourceId [SourceId = OBJECTID::Int64]

[OK]    NaravneVrednotePolygon [Veljaven]

Aliases: NaravneVrednotePolygon
[OK]    SourceId [SourceId = IDENTSTEV]

Attributes: NaravneVrednotePolygon
[OK]    SourceId [SourceId = IDENTSTEV::String]

[OK]    VodovarstvenaVRS [Veljaven]

Aliases: VodovarstvenaVRS
[OK]    SourceId [SourceId = VVO_ID]

Attributes: VodovarstvenaVRS
[OK]    SourceId [SourceId = VVO_ID::String]


============== Span ==================
[OK]    Span []
[OK]    Razpetine [Veljaven]

Aliases: Razpetine
[OK]    Id [Id = ID_RAZPETI]
[OK]    Name [Name = OZNAKA]
[OK]    Voltage [Voltage = NAPETOST]
[OK]    Width [Width = TRASASIRIN]
[OK]    MxAssetNumber [MxAssetNumber = MXASSETNUM]

Attributes: Razpetine
[OK]    Id [Id = ID_RAZPETI::Double]
[OK]    MxAssetNumber [MxAssetNumber = MXASSETNUM::String]
[OK]    Name [Name = OZNAKA::String]
[OK]    Voltage [Voltage = NAPETOST::Int64]
[OK]    Width [Width = TRASASIRIN::Int64]


============== TransmissionTower ==================
[OK]    TransmissionTower []
[OK]    Stojna mesta [Veljaven]

Aliases: Stojna mesta
[OK]    Id [Id = ID_MESTO]
[OK]    Name [Name = OZNAKA_DOLGA]

Attributes: Stojna mesta
[OK]    Id [Id = ID_MESTO::Int64]
[OK]    Name [Name = OZNAKA_DOLGA::String]


============== AirTemperature ==================
[OK]    AirTemperature []
[OK]    TemperaturaZraka [Veljaven]

Aliases: TemperaturaZraka
[OK]    Id [Id = fid]
[OK]    Value [Value = ZG_MEJA]

Attributes: TemperaturaZraka
[OK]    Id [Id = fid::Int64]
[OK]    Value [Value = ZG_MEJA::Int64]


============== ForestComposition ==================
[OK]    ForestComposition []
[OK]    GozdniSestoji [Veljaven]

Aliases: GozdniSestoji
[OK]    Id [Id = fid]
[OK]    Composite [Composite = SESTOJ]

Attributes: GozdniSestoji
[OK]    Id [Id = fid::Int64]
[OK]    Composite [Composite = SESTOJ::String]


============== MeanAnnualPrecipitation ==================
[OK]    MeanAnnualPrecipitation []
[OK]    PovprecnePadavine [Veljaven]

Aliases: PovprecnePadavine
[OK]    Id [Id = fid]
[OK]    Value [Value = ZG_MEJA]

Attributes: PovprecnePadavine
[OK]    Id [Id = fid::Int64]
[OK]    Value [Value = ZG_MEJA::Int64]


============== MeanBrightSunshineDuration ==================
[OK]    MeanBrightSunshineDuration []
[OK]    PovprecnoObsevanje [Veljaven]

Aliases: PovprecnoObsevanje
[OK]    Id [Id = fid]
[OK]    Value [Value = ZG_MEJA]

Attributes: PovprecnoObsevanje
[OK]    Id [Id = fid::Int64]
[OK]    Value [Value = ZG_MEJA::Int64]


============== SoilMap ==================
[OK]    SoilMap []
[OK]    PedoloskaKarta [Veljaven]

Aliases: PedoloskaKarta
[OK]    Id [Id = fid]
[OK]    Ph [Ph = PH2]
[OK]    SoilNumber [SoilNumber = TS_DO]

Attributes: PedoloskaKarta
[OK]    Id [Id = fid::Int64]
[OK]    Ph [Ph = PH2::Int64]
[OK]    SoilNumber [SoilNumber = TS_DO::Int64]


============== Cost ==================
[OK]    Cost []
[OK]    CenikV2 [Veljaven]

Aliases: CenikV2
[OK]    Id [Id = ID_CENIK]
[OK]    Name [Name = OPIS]
[OK]    ClearingHighVegForestEdge [ClearingHighVegForestEdge = GOZDNIROB]
[OK]    ClearingMidVegMachine [ClearingMidVegMachine = PODRAST_STROJNO]
[OK]    ClearingMidVegManual [ClearingMidVegManual = PODRAST_ROCNO]
[OK]    Trimming [Trimming = POSEK]
[OK]    WoodPulpExtraction [WoodPulpExtraction = IZVLEK]
[OK]    WoodPulpGrinding [WoodPulpGrinding = MLETJE]

Attributes: CenikV2
[OK]    ClearingMidVegMachine [ClearingMidVegMachine = PODRAST_STROJNO::Double]
[OK]    Trimming [Trimming = POSEK::Double]
[OK]    ClearingMidVegManual [ClearingMidVegManual = PODRAST_ROCNO::Double]
[OK]    Id [Id = ID_CENIK::Int64]
[OK]    ClearingHighVegForestEdge [ClearingHighVegForestEdge = GOZDNIROB::Double]
[OK]    Name [Name = OPIS::String]
[OK]    WoodPulpExtraction [WoodPulpExtraction = IZVLEK::Double]
[OK]    WoodPulpGrinding [WoodPulpGrinding = MLETJE::Double]


PS C:\isuv\system\bin>

Spodaj so opisane morebitne težave in rešitve:

Json document is not valid! V primeru izpisa “Task failed with exception: Json document is not valid!”, gre verjetno za napako v datoteki isuv.config.json ali pa je shranjena z napačnim kodiranjem. Primer napačnega kodiranja je lahko UTF8 BOM, pri čemer mora bit json shranjen kot UTF8 brez BOM.

Login timeout expired Task failed with exception: C:\Sources\vcpkg\buildtrees\nanodbc\src\3d2fc404eb-e944ce5342.clean\nanodbc\nanodbc.cpp:1046: 0800: [Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: No connection could be made because the target machine actively refused it. [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired [Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.

Strežnik se ne more povezati na bazo. Vzrok je lahko napačno ime strežnika, kamor se povezujem ali pa zaprt port 1433 (ali kakšen drug).

Rešitev: Rešitev je da se popravijo connection stringi v konfiguracijski datoteki.

Napačni uporabnik SQL Task failed with exception: C:\Sources\vcpkg\buildtrees\nanodbc\src\3d2fc404eb-e944ce5342.clean\nanodbc\nanodbc.cpp:1046: 4200: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user ‘isuv’. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server] Cannot open database “Isuv” requested by the login. The login failed.

Rešitev: Uporabniško ime in geslo sta napačni

Invalid object name ‘dbo.Users’

Rešitev: Poženite ukaz ./isuv.module.database.exe ddl create

Posodobitve rešitve

Strežniški sistem posodobite tako, da skopirate isuv-{OKOLJE}-system.2022.6.1376.zip v mapo system\bin\ServerReleases in iz iste mape z administratorskimi pravicami poženete naslednjo skripto:

.\UpdateProd.ps1 -SystemArchive .\isuv-prod-system.2022.6.1376.zip

Skripta predpostavi, da je celoten sistem namečen v mapi “C:\Isuv”. V nasprotnem primeru uporabite možnost -SystemRoot, kjer podate še izhodno lokacijo.

Primer uporabe z absolutnimi potmi

.\UpdateProd.ps1 -SystemArchive "C:\isuv\system\bin\ServerReleases\isuv-prod-system.2022.6.1376.zip" -SystemRoot "C:\isuv\system"

Pazite na različico, na katero posodabljate in vedno preverite, če je prava. Sistem je možno posodobit tudi na starejšo različico v primeru nedelovanja.

Posodobitev podatkovnih modelov

Posodobitev podatkovnih modelov se izvede samodejno ob nadgradnji sistema.

Skripte za posodabljanje podatkovnega modela se nahajajo v mapi “system\bin\SQL\Patches”, pri čemer se izvedejo samo skripte iz map, ki nimajo nastavljenega bita IsApplied v podatkovni bazi (tabela dbo.Patches).

Skripte ni priporočljivo izvajati ročno.

Dodajanje Isuv.Services.exe in Isuv.ManagementApp.exe kot storitev Windows

Storitve vnesete v sistem preko ukaza install-services.cmd, ki ga poženete z administratorskimi pravicami.

Storitve ustavite s pomočjo ukaza stop-services.cmd, ki ga poženete z administratorskimi pravicami.

Storitve zaženete s pomočjo ukaza start-services.cmd, ki ga poženete z administratorskimi pravicami.

Po dodanih storitvah, lahko slednje upravljate tudi preko orodja Server Manager (lokalno ali oddaljeno). Storitve najdete preko iskanja kot “vegeline”.