Rešitev VegeLine deluje na novejših operacijskih sistemih Windows. Za namestitev v strežniško okolje sta testirani dve različici in sicer:
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.
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
Health and Diagnostics
Performance
Security
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"><CLASS NAME="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="locale" TYPE="sint32" TOSUBCLASS="false"><VALUE>1033</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Common_Http" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Common-Http</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Default_Doc" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Default-Doc</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Dir_Browsing" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Dir-Browsing</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Filtering" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Filtering</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Health" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Health</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Http_Errors" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Http-Errors</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Http_Logging" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Http-Logging</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Mgmt_Console" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Mgmt-Console</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Mgmt_Tools" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Mgmt-Tools</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Performance" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Performance</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Security" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Security</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Server" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Server</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Stat_Compression" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Stat-Compression</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_Static_Content" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-Static-Content</VALUE></QUALIFIER></CLASS></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"><CLASS NAME="ServerComponent_Web_WebServer" SUPERCLASS="MSFT_ServerManagerServerComponentDescriptor"><QUALIFIER NAME="dynamic" TYPE="boolean"><VALUE>true</VALUE></QUALIFIER><QUALIFIER NAME="provider" TYPE="string"><VALUE>deploymentprovider</VALUE></QUALIFIER><QUALIFIER NAME="ClassVersion" TYPE="string"><VALUE>0.0.0</VALUE></QUALIFIER><QUALIFIER NAME="DisplayName" TYPE="string" TRANSLATABLE="true"><VALUE>Web-WebServer</VALUE></QUALIFIER></CLASS></S>
</MS>
</Obj>
</LST>
</Obj>
</MS>
</Obj>
</LST>
</Obj>
</Objs>
Za dostop do storitev in nadzorniške aplikacije VegeLine je potrebno v IIS 10.0 namestiti naslednje module v podanem zaporedju:
Po namestitvi omenjenih modulov lahko začnemo uporabljati IIS kot reverse-proxy.
Več informacij o modulih najdemo na:
Spodnja slika prikazuje stanje komponent IIS ob uspešni namestitvi preko orodja “Internet Information Services (IIS) Manager”:
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.
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.
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.
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.
Spodaj je prikazana struktura mape isuv, ki se nahaja na pogonu “C:\isuv” v testnem in produkcijskem okolju.
V mapi system\bin
se nahajajo naslednje podmape in datoteke:
Spodaj so skripte za upravljanje sistema 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.
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:
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 |
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)
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.
🗒️ 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\
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
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
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>
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
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.
V tej točki bi storitve in spletna aplikacija morale delovati na naslednjih povezavah:
Storitve Nadzorniška aplikacija
./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.
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
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 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.
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”.