Installing multiple instances

If you wish to install multiple instances of DVI 6 on the same server, you have to make a parameters.json file with the right entries.

Example

Existing installation

Site host: dvi6test.plassdata.net

The existing installation consists of three sites:

  • api: The Application server that handles all communication to and from the database. This is the default name for the Application server.
    This uses application pool “api” (default name)
    And this binding:
    apiSiteBinding

  • ids: The Identity server that handles authorization and authentication. This is the default name for the Identity server.
    This uses application pool “ids” (default name)
    And this binding:
    idsSiteBinding

  • client: The Client site that handles all UI, sends requests and receives results from the application server.
    This uses the “DefaultAppPool”
    And this binding:
    clientSiteBinding

Three databases:

All three databases are created on the default server .\SQLEXPRESS.

Second installation

When making a new instance, you have to make sure that there is no overlap in the names of the sites, application pools, the site bindings and databases.

Let’s say we wish to have a new site with site host : dvi6prod.plassdata.net. The parameters.json file could look like this:

{
	"installOptions": {
		"siteHost": "dvi6prod.plassdata.net",
		"destinationFolder": "C:\\InetPub\\dvi6prod",
		"apiSiteName": "prod_api",
		"idsSiteName": "prod_ids",
		"clientSiteName": "prod_client",
		"apiSitePrefix": "api-",
		"idsSitePrefix": "ids-",
		"apiApplicationPoolName": "prodapi",
		"idsApplicationPoolName": "prodids",
		"clientApplicationPoolName": "prodclient",
		"installDefaultCertificates": false,
		"noHostsEntries": true
	},
	"apiOptions": {
		"sql:api2sql:catalog": "PROD_PLASS_ID_COMMON",
		"sql:job2sql:catalog": "PROD_PLASS_ID_JOBS",
		"sql:ids2sql:catalog": "PROD_PLASS_ID_IDENTITY"
	},
	"idsOptions": {
		"sql:ids2sql:catalog": "PROD_PLASS_ID_IDENTITY"
	},
	"clientOptions": {
		"apiServer": {
			"baseUrl": "https://api-dvi6prod.plassdata.net",
			"jwtWhitelistedDomains": "api-dvi6prod.plassdata.net;dvi6prod.plassdata.net"
		},
		"idsServer": {
			"baseUrl": "https://ids-dvi6prod.plassdata.net"
		},
		"auth": {
			"requireHttps": true
		},
		"showMapUrlTemplate": "https://www.google.com/maps/place/${dmslat}+${dmslon}/@${lat},${lon},14z",
		"ui": {
			"dateCenturyCutoff": "+5"
		},
		"env": {
			"name": "Prod"
		},
		"isConfig": true
	}
}

Using the above parameters.json file in the installation will create the following installation:

Site host: dvi6prod.plassdata.net

Sites:

  • prod_api:
    Application pool named “prodapi”.
    And this binding:
    apiNewSiteBinding

  • prod_ids:
    Application pool “prodids”
    And this binding:
    idsNewSiteBinding

  • prod_client:
    Application pool “prodclient”
    And this binding:
    clientNewSiteBinding

Three databases:

All three databases are created on the default server .\SQLEXPRESS.

Please read the Parameter-file page for further description of the parameter file.

Updated: