Wyn Enterprise: Installing on Linux

To install and use Wyn Enterprise on Linux, you need the following environment.

Requirements

Framework

  • AspNetCore 2.2 Runtime

Operating System

  • Ubuntu 16.04
  • CentOS 7.0, RHEL 7.5

Browser

  • Internet Explorer 11 and above, Microsoft Edge, Google Chrome, etc.

Note : Before installing, please disable the anti-virus software on your computer. Such software can interfere with the installation and functionality of Wyn Enterprise.

To Install

Default Ports

Wyn Enterprise uses the following ports by default.

  • Server: 51981
  • Portal: 51980
  • ReportingWorker: 51982
  • IdentityService: 51980

You can reassign the ports in the config (Wyn.conf) file.

Check System Status

sudo systemctl status wyn

Start Wyn Service

sudo systemctl start wyn

Stop Wyn Service

sudo systemctl stop wyn

Installed Files

File Name Locations
CotWorker /opt/Wyn/
postgres /opt/Wyn/
logs /opt/Wyn/
Monitor /opt/Wyn/
Plugins /opt/Wyn/
Account /opt/Wyn/Plugins/
Dashboard /opt/Wyn/Plugins/
DataSet /opt/Wyn/Plugins/
Reporting /opt/Wyn/Plugins/
Portal /opt/Wyn/
ReportingWorker /opt/Wyn/
sampledata /opt/Wyn/
Server /opt/Wyn/
Tools /opt/Wyn/

Publish Wyn Enterprise Portal to Internet

Wyn Enterprise uses the embedded identity in the server by default. Therefore, there is no need to change the configuration to publish Wyn to the internet. The customer just needs to use the reverse proxy to bind the domain if it's needed.

The Wyn Enterprise service listens to all IP addresses of a current server, so you can access the portal on the current server via localhost:42002 (if the server has graphical shell). Otherwise, you can access the portal on another machine via http://serverip:51980/ in intranet.

The configuration file looks like the following. On Linux, the Wyn.conf file is located here: /opt/Wyn/Monitor/Wyn.conf.

Wyn.conf

<SystemConfig xmlns:sys="https://extendedxmlserializer.github.io/system" xmlns="clr-namespace:ConfigMigration.Configuration.V40;assembly=ConfigMigration">
  <!-- The version of current configuration file, DO NOT MODIFY IT. -->
  <Version>4.0</Version>
  <!-- The global settings for those services listed bellow. -->
  <GlobalSettings>
    <!-- The url of the identity service which in charge of user authentication. -->
    <IdentityServerUrl>http://localhost:51981</IdentityServerUrl>
    <!-- Determines which level log events are generated, available values: Debug, Information, Warning and Error -->
    <LogLevel>
      <Default>Information</Default>
      <Override>
        <sys:Item>
          <Key>System</Key>
          <Value>Warning</Value>
        </sys:Item>
        <sys:Item>
          <Key>Microsoft</Key>
          <Value>Warning</Value>
        </sys:Item>
      </Override>
    </LogLevel>
    <!-- A value indicates how many times to try to restart the crashed service, -1 means infinite. -->
    <TryRestartCount>-1</TryRestartCount>
    <RedirectOutputOfService>false</RedirectOutputOfService>
  </GlobalSettings>
  <Services>
    <!-- Server service for management all the documents in Wyn. -->
    <Server>
      <Name>Server</Name>
      <!-- The listening address of server. -->
      <Urls>http://*:51981</Urls>
      <!-- The available plugins. -->
      <Plugins>
        <sys:string>Plugins/Dashboard/Gces.Dashboards.Plugin.dll</sys:string>
        <sys:string>Plugins/Reporting/Gces.Reporting.Plugin.dll</sys:string>
        <sys:string>Plugins/Dataset/Gces.Dataset.Plugin.dll</sys:string>
        <sys:string>Plugins/Account/Gces.Account.Plugin.dll</sys:string>
      </Plugins>
      <!-- The database settings for data extractor. -->
      <DataExtraction>
        <!-- The database provider, the supported data providers include 'Postgres', 'MySql', 'SqlServer', and 'Oracle'. -->
        <StorageType>Postgres</StorageType>
        <!-- The database connection string. -->
        <ConnectionString>Host=localhost;Port=5444;UserName=wyn-enterprise;Password=Wr8TGfe2r0;Database=wyndatacache;</ConnectionString>
      </DataExtraction>
      <!-- The database settings for server. -->
      <Storage>
        <!-- The database provider, the supported data providers include 'Postgres', 'MySql', 'SqlServer', and 'Oracle'. -->
        <StorageType>Postgres</StorageType>
        <!-- The databsae connection string. -->
        <ConnectionString>Host=localhost;Port=5444;UserName=wyn-enterprise;Password=Wr8TGfe2r0;Database=wynserverdata;</ConnectionString>
      </Storage>
      <IdentityServer>
        <!-- The valid identity server providers include 'External', 'Server' and 'Portal', the default value is 'Server'. -->
        <Provider>Server</Provider>
        <!-- The database provider for identity server, the supported data providers include 'Postgres', 'MySql', 'SqlServer' and 'Oracle'. -->
        <StorageType>Postgres</StorageType>
        <!-- The database connection string for identity server. -->
        <ConnectionString>Host=localhost;Port=5444;UserName=wyn-enterprise;Password=Wr8TGfe2r0;Database=wynis;</ConnectionString>
      </IdentityServer>
      <Cookie>
        <!-- Whether to share cookie with portal, the value must be 'true' if you use 'Server' as the identity server provider. -->
        <ShareCookie>true</ShareCookie>
        <!-- The name of cookie. -->
        <CookieName>wyn.sc</CookieName>
        <!-- The data protection key for encrypting and decrypting the cookie data. -->
        <DataProtectionKey>ifioEFEF8y8Fy3fp</DataProtectionKey>
        <!-- Default value 'Lax'. -->
        <SameSite>Lax</SameSite>
        <!-- The 'secure' should be set to 'true' if your portal is deployed over HTTPS protocol. -->
        <Secure>false</Secure>
      </Cookie>
    </Server>
    <!-- The portal service for user experience. -->
    <Portal>
      <Name>Portal</Name>
      <!-- The listening address of portal. -->
      <Urls>http://*:51980</Urls>
      <!-- The 'DependsOn' indicates which services are depended on to run current service. -->
      <DependsOn>
        <sys:string>Server</sys:string>
      </DependsOn>
      <!-- Indicate that if you want to use HTTPS connection. -->
      <RequireHttps>false</RequireHttps>
      <!-- The web application URLs you want to authorize to in your identity service. -->
      <AuthorizedWebApplicationUrls>
        <sys:string>http://localhost:51980</sys:string>
      </AuthorizedWebApplicationUrls>
      <IdentityServer>
        <!-- The valid identity server providers include 'External', 'Server' and 'Portal', the default value is 'Server'. -->
        <Provider>Server</Provider>
        <!-- The database provider for identity server, the supported data providers include 'Postgres', 'MySql', 'SqlServer' and 'Oracle'. -->
        <StorageType>Postgres</StorageType>
        <!-- The database connection string for identity server. -->
        <ConnectionString>Host=localhost;Port=5444;UserName=wyn-enterprise;Password=Wr8TGfe2r0;Database=wynis;</ConnectionString>
      </IdentityServer>
      <Cookie>
        <!-- Whether to share cookie with server, the value must be 'true' if you use 'Server' as the identity server provider. -->
        <ShareCookie>true</ShareCookie>
        <!-- Default value 'Lax'. -->
        <SameSite>Lax</SameSite>
        <!-- The name of cookie. -->
        <CookieName>wyn.sc</CookieName>
        <!-- The data protection key for entrypting and decrypting the cookie data. -->
        <DataProtectionKey>ifioEFEF8y8Fy3fp</DataProtectionKey>
        <!-- The 'secure' should be set to 'true' if your portal is deployed over HTTPS protocol. -->
        <Secure>false</Secure>
      </Cookie>
      <!-- External authentication settings. -->
      <Authentication>
        <!-- The OAuth authentications allowed to login to Wyn. -->
        <OAuth>
          <sys:Item>
            <!-- The unique identifier of the OAuth authentication. -->
            <Key></Key>
            <Value>
              <!-- The disaplay name of current OAuth authentication, this name will be displayed in login page. -->
              <DisplayName></DisplayName>
              <ClientId></ClientId>
              <ClientSecret></ClientSecret>
              <AuthorizationEndpoint></AuthorizationEndpoint>
              <TokenEndpoint></TokenEndpoint>
              <UserInformationEndpoint></UserInformationEndpoint>
              <CallbackPath></CallbackPath>
              <Scopes>
                <sys:string></sys:string>
                <sys:string></sys:string>
              </Scopes>
              <ClaimMappings>
                <!-- The user id claim type of current OAuth authentication. -->
                <Id></Id>
                <!-- The user name claim type of current OAuth authentication. -->
                <Name></Name>
                <Surname></Surname>
                <GivenName></GivenName>
                <Email></Email>
                <MobilePhone></MobilePhone>
                <Avatar></Avatar>
              </ClaimMappings>
            </Value>
          </sys:Item>
        </OAuth>
      </Authentication>
      <Backend>
        <!-- The host address of server. -->
        <Host>localhost</Host>
        <!-- The listening port of server. -->
        <Port>51981</Port>
      </Backend>
      <!-- The database provider for embedded identity service, the supported data providers include 'Postgres', 'MySql', 'SqlServer', 'Oracle' and 'Firebird'. -->
      <StorageProvider>Postgres</StorageProvider>
      <!-- The database connection string for embedded identity service. -->
      <ConnectionString>Host=localhost;Port=5444;UserName=wyn-enterprise;Password=Wr8TGfe2r0;Database=wynis;</ConnectionString>
      <Cors>
        <!-- The allowed origins for CORS. -->
        <AllowOrigins></AllowOrigins>
        <!-- The allowed headers for CORS. -->
        <ExposedHeaders>Location;Content-Disposition</ExposedHeaders>
      </Cors>
    </Portal>
    <!-- Reporting worker for rendering the reports. -->
    <Worker>
      <Name>Reporting Worker</Name>
      <!-- The listening address of reporting worker. -->
      <Urls>http://localhost:51982</Urls>
      <DisplayName>reporting-worker</DisplayName>
      <DependsOn>
        <sys:string>Server</sys:string>
      </DependsOn>
      <WorkerBackend>
        <!-- The address of back-end server. -->
        <ServerUrl>http://localhost:51981</ServerUrl>
      </WorkerBackend>
    </Worker>
    <!-- COT worker for calculating the dataset result for dashboards. -->
    <CotWorker>
      <Name>Cot Worker</Name>
      <!-- The listening address of COT worker. -->
      <Urls>http://localhost:51983</Urls>
      <DisplayName>cot-worker</DisplayName>
      <DependsOn>
        <sys:string>Server</sys:string>
      </DependsOn>
      <WorkerBackend>
        <!-- The address of back-end server. -->
        <ServerUrl>http://localhost:51981</ServerUrl>
      </WorkerBackend>
    </CotWorker>
  </Services>
</SystemConfig>
  </pre>
</details>