Post-Installation Procedures

The following are post-installation procedures:

§  Adding Access Permission for the SGS Installation Folder

§  Managing SGS Security

§  Running TerraBuilder Fuser

§  Setting a Public URL

§  Importing Configuration Files from TerraGate and SFS

§  Creating a Token (Recommended)

Adding Access Permission for the SGS Installation Folder

If the SkylineGlobe Server installation was unable to automatically add access permission for the SGS installation folder and other folders that may be used by SGS to share data or store cache files, you must manually add the necessary Modify permission to the folder for the application pool user account for these folders and set Load User Profile to true under the SGS application pool (SGAppPool) configuration.

Note:    The Windows user account used by SGS appears in the Settings page in the General Settings section. By default, the installation folder of the SGS is C:\inetpub\wwwroot\SG.

Managing SGS Security

If your site security is changed after installation, modifications to SGS security are performed by manual editing of the Web.config file in the installation folder.

To modify SGS security:

1.     Open the Web.config file located in the application’s installation folder.

2.     In the services section, remove the comment code from the service that you want to enable, and comment out the service that you want to disable (webHttpBinding_conf / webHttpBinding_conf_secured).

              <services>

                     <service behaviorConfiguration="serviceBehavior" name="SG.UploadService.SGUpload">

                           <!--http mode start-->

                           <endpoint address="" behaviorConfiguration="webBehavior" binding="webHttpBinding" bindingConfiguration="webHttpBinding_conf" name="webHttpStream" contract="SG.UploadService.ISGUpload" />

                           <!--http mode end-->

                           <!--https mode start-->

                           <!--

                           <endpoint address="" behaviorConfiguration="webBehavior" binding="webHttpBinding" bindingConfiguration="webHttpBinding_conf_secured" name="webHttpStream" contract="SG.UploadService.ISGUpload" />

                           -->

                           <!--https mode end-->

                           <host>

                                  <baseAddresses />

                           </host>

                     </service>

              </services>

3.     In the bindings section, remove the comment code from the binding that you want to enable, and comment out the binding that you want to disable (webHttpBinding_conf / webHttpBinding_conf_secured).

              <bindings>

                     <webHttpBinding>

                           <!--http mode start-->

                           <binding name="webHttpBinding_conf" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" transferMode="Streamed" sendTimeout="00:30:00" receiveTimeout="00:30:00">

                                  <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />

                                  <security mode="None" />

                           </binding>

                           <!--http mode end-->

                           <!--https mode start-->

                           <!--

                           <binding name="webHttpBinding_conf_secured" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" transferMode="Streamed" sendTimeout="00:30:00" receiveTimeout="00:30:00">

                                  <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />

                                  <security mode="Transport" />

                           </binding>

                           -->

                           <!--https mode end-->

                     </webHttpBinding>

              </bindings>

4.     Set the required Boolean value for "httpGetEnabled" and "httpsGetEnabled":

              <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />

 

5.     On the Settings page, in the General Settings section, modify the Public URL in accordance with your security mode (i.e., http:// or https://).

For example, if enabling HTTPS, the required code changes in the Web.config file will include the following:

From:

<!--http mode--><endpoint address="mexwebhttp" binding="mexHttpBinding" contract="IMetadataExchange" />

<!--https mode--><!--<endpoint address="mexwebhttp" binding="mexHttpsBinding" contract="IMetadataExchange" />-->

To:

<!--http mode--><!--<endpoint address="mexwebhttp" binding="mexHttpBinding" contract="IMetadataExchange" />-->

<!--https mode--><endpoint address="mexwebhttp" binding="mexHttpsBinding" contract="IMetadataExchange" />

Running TerraBuilder Fuser

One TerraBuilder fuser is installed on each server computer as part of the installation process. See "Installing SkylineGlobe Server" in this chapter for information. The fuser is an application that allows SkylineGlobe Server DirectConnect to utilize the resources of the computer, on which it is running, for the on-demand generation of a virtual 3D terrain database defined by the TerraBuilder project file (TBP). While fusers are only required for serving TBP, it is always recommended to run the fuser on each server computer. See "Starting a Fuser" in the "DirectConnect" chapter for information.

Setting a Public URL

After installing SkylineGlobe Server, a public URL should be set, i.e., the URL that should be used from client computers to connect to the server. By default, the public URL is set to http://<SG Server>/SG where <SG Server> is the IP or name of the machine on which SkylineGlobe Server is installed. In some cases, this URL may not be correct, and therefore should always be verified post-installation.

Note:    If the site is secured use https instead of http.

To set your server’s public URL:

1.     From the SkylineGlobe Server menu, select Settings. The Settings page is displayed.

2.     In the General Settings section, enter the required Public URL.

3.     Click Save.

Importing Configuration Files from TerraGate and SFS

Migration from TerraGate and SFS to SkylineGlobe Server is performed by importing configuration files from TerraGate and SFS to SkylineGlobe Server Manager. See "Migrating TerraGate/SFS to SkylineGlobe Server" in the "Working with Data Sources" chapter for information.

Creating a Token (Recommended)

By default, encryption is based on the windows user account and password that is selected for the IIS Application Pool Identity during installation. See "Installing SkylineGlobe Server" in this chapter for more information. In the event that the user or password is modified, the database may be inaccessible. To avoid this problem, it is recommended to generate a token even when not working with a server cluster. See "Setting SkylineGlobe Server Settings" in the "SkylineGlobe Server Settings" chapter for more information.

Adding Headers to Web Application Files to Enable Running of WebAssembly

Browser requirements for running WebAssembly (used by TEF) require the following headers to be included in the web application files:

§  name="Cross-Origin-Embedder-Policy" value="require-corp"

§  name="Cross-Origin-Resource-Policy" value="cross-origin"

§  name="Cross-Origin-Opener-Policy" value="same-origin"

To add these headers for IIS, add the following to the web.config:

<httpProtocol>
    <customHeaders>
      <add name="X-SkylineGlobe" value="SkylineGlobe"/>
      <add name="Cross-Origin-Embedder-Policy" value="require-corp"/>
      <add name="Cross-Origin-Resource-Policy" value="cross-origin"/>
      <add name="Cross-Origin-Opener-Policy" value="same-origin"/>
    </customHeaders>
</httpProtocol>

 

For S3, see here for one recommendation on how to handle. Alternatively, you can use proxy on EC2 as discussed here in "The story until recently".