ON-PREMISES DEPLOYMENT INSTRUCTIONS


Windows Server Prerequisites

The following are instructions for deploying EasyTerritory Enterprise on-premises. For this you’ll need a Windows Server with Windows Server 2012 R2 (or higher) with 8+ GB RAM and at least two cores and SQL Server (cluster or stand-alone).

  • – EasyTerritory requires that .NET 4.5 (or higher) and IIS are present on the Windows Server.  SQL Server can reside on the same server or a different server.

Step 1: Setup IIS and Configure .NET

The following server components and settings should be selected prior to installing EasyTerritory.

Required Server Roles:

Required Server Features:

Step 2: Run the EasyTerritory Installer

The installer (provided by your EasyTerritory Support resource) will install EasyTerritory within your “Program Files” folder and will create a web node on your server mapping “[Program Files]/EasyTerritory/www/sites” to port 8085.  The EasyTerritory installer sets up a new Site under IIS, using port 8085.

  • – http://[your server]:8085/app is the EasyTerritory application itself.
  • – http://[your server]:8085/mdnservices is are the web services used by the application.

After the installer finishes successfully, you’ll need to restore the SQL database back (Step 3) and setup the EasyTerritory Geocoder (Step 4) prior to testing the URLs above.

Step 3: Setup the SQL database

The SQL database easyterritory.bak file is located here: [Program Files]\easyterritory\sql

  1. Unzip easyterritory.bak and use SQL Server Management Studio (SSMS) to restore it to your SQL Server 2012 R2 (or higher) instance.  Note: SQL Server does not need to be located on the same server as the EasyTerritory application.
  2. Once, you have restored the EasyTerritory database, create a user and password for EasyTerritory to use to access SQL.
  3. The SQL credentials need to be set in two places.  The first is the web.config of the EasyTerritory application, located here:  [Program Files]/EasyTerritory/www/sites/app/
    • – Locate the database connection string and set the required properties.
    • – Uncomment these two sections:
    • – Uncomment the storeConfig and databaseStoreConfig sections and enter your SQL credentials
  4. Open MapDotNet UX Studio.  MapDotNet UX Studio is a tool for administering the spatial data (ZIP Codes, Counties, States, etc.) stored in SQL.  MapDotNet UX Studio is part of the EasyTerritory installer and can be launched from the desktop.
    1. Click the ‘Server Explorer’ dropdown, selct http://localhost:8085/MDNServices
      • – You’ll be prompted for credentials.  The user: admin and the password: password  Note: This username and password can be hardened in the web.config located here: [Program Files]/EasyTerritory/www/sites/app
      • – Add the data source for your SQL connection
      • – After successfully connecting to SQL, update you layer data sources.
        • – Select the SQL data source that was added and click ‘OK’
        • – Save the EasyTerritory map file.
  5. Now test the login to EasyTerritory: http://localhost:8085/app
    • – Note: You’ll be prompted for credentials.  The super user: admin and the password: password  Note: This username and password can be hardened in the web.config located here: [Program Files]/EasyTerritory/www/sites/app

Step 4: Setup the EasyTerritory Geocoder

The EasyTerritory Geocoder uses NODE.JS and runs as a Windows Service on the server.  Please follow the following steps to setup and configure NODE.JS and the geocoding service.

  1.  Install NODE.JS
    • Go to https://nodejs.org and download the latest stable version for windows and install it. Note: You can except the default install settings for NODE. 
  2. Create Level 2 SQL Cache  **OPTIONAL**
    • Run this SQL script in the database where you want to install the level 2 cache table. NOTE: This is for use in a load balanced environment and only supports SQL 2016 or SQL Azure and is optional.
  3. Set Level 2 Cache connection string **OPTIONAL – Only applies if Level 2 cache is used**
    • In the package.json update the config.level2Cache.connection section to have the correct SQL connection information based on where the above script was executed  [DRIVE]:\Program Files\EasyTerritory\Geocoder\package.json
  4. Set or Update Port for Geocoder
    • In the package.json, the config.port (e.g. 1337) must match the web.config geocoder port number in EZT. It should by default so there is usually nothing to do here but would only be the case if 1337 were restricted on the target [DRIVE]:\Program Files\EasyTerritory\Geocoder\package.json
  5. Set instance GUID **OPTIONAL – Only applies if Level 2 cache is used**
    • If you are deploying to a load balanced scenario (more than one instance of the geocoder on multiple servers), make the instance id GUID in the package.json file unique for each instance.
  6. Install Node Packages
    • From a command prompt, opened in the geocoder folder ([DRIVE]:\Program Files\EasyTerritory\Geocoder).
    • Note: If you installed EasyTerritory on a different drive (other than C:) you will need to edit the install.js file and edit the path depending on where EasyTerritory is installed. (e.g. if you install EasyTerritory on D the update with D:\\Program Files\\EasyTerritory\\Geocoder)
      • Run the following:
      • npm install
    • Install as the ServiceFrom a command prompt opened in the geocoder folder, ([DRIVE]:\Program Files\EasyTerritory\Geocoder), install the windows services wrapper for the geocoder.
      • Run the following:
      • npm install -g node-windows
      • Then run:
      • npm link node-windows
    • Install as the ServiceFrom a command prompt opened in the geocoder folder, ([DRIVE]:\Program Files\EasyTerritory\Geocoder)
      • Run the following:
      • node install
    • At this point, the geocoder will be listed in the Windows services control panel (EZT Geocoder).  Please open the Windows Services panel to validate install and start the service if it is stopped.
    • To validate, log into the application (default username: admin and password: password) and use the ‘Address Search’ feature in the upper right to search for a city or ZIP Code.  Note: Default superuser Username and Password can be hardened in the application web.config.Example:

Step 5: Configure a subdomain and setup SSL

  1. Once the application is up and running you may want to setup a fully qualified domain name and subdomain.
    1. After setting up the subdomain name in your DNS, configure the bindings  in IIS then update the web.configs.
  2. EasyTerritory supports SSL configuration.  To enable SSL, you’ll need to update the sections of the web.configs located here.
  • –  [Program Files]/EasyTerritory/www/sites/app/
  • –  [Program Files]/EasyTerritory/www/sites/mdnservices/

Step 6: Connecting to Microsoft Dynamics 365 (**Optional**)

Typically, EasyTerritory staff will assist with the installation and with setting up EasyTerritory website configuration. At that point we assess what other resources are needed based on your organization’s use of Microsoft SQL Server and Dynamics CRM/365.