How To Guide Store Server Installation Instructions for Windows
Description
This How-to guide explains the installation of the Store Server (Back Office) on Windows 10.
Notes
This guide will require information from your Estate Manager environment.
Overview
This guide will cover installing the Enactor Store Server on Windows.
The Estate Manager must be installed and configured before you install the Store Server.
Additionally, the following entities should be configured prior to installation: Device, Location.
Use the worksheet in this document to record the values you will need for the installation.
Prerequisites
In addition to the prerequisites required by each database server, you will need the following:
-
Database server with user and database created.
-
Minimum 10GB of free disk space.
-
Network connectivity to the Estate Manager.
Deployment Models
The Store Server configuration is typically installed at a store location but could be installed anywhere in the estate with connectivity to the Estate Manager.
Pre-Installation
There are 3 files that are used to install the Store Server application:
-
EnactorStoreServer-x.x.x-example.ini - this file should be populated the necessary configuration data for the Store Server installation; this file will be copied to installer.ini and modified with the location and device specific values prior to running the installer script.
-
EnactorStoreServer-x.x.x.bat - a script file that can execute the Windows installer with options
-
EnactorStoreServer-x.x.x.msi - the Windows installer for the Store Server with version x.x.x
Create the installer.ini file
The installer requires a configuration file named installer.ini in the same directory.
To create the installer.ini file, copy the EnactorStoreServer-x.x.x-example.ini to installer.ini.
Edit the installer.ini file
The enactor.xml and server.xml configuration files for the Store Server are created by the installer using the data in the installer.ini file. It is essential to set the values correctly prior to install so that future updates of the application using the Application Updater will have the correct values if the Store Server is updated.
The installer.ini file is a Windows INI file with key and value pairs identified by key=value. The file contains the necessary parameters for configuring the Store Server during installation. This document provides instructions for populating installer.ini with the required configuration.
Server Base Url
A base url can be used for subsequent service invocations to the Store Server to make connections to the estate manager and other devices. Where it contains the hostname/Ip address along with the default ports.
Eg: SERVER_EMAPP_URL_BASE=http://<EMIP/Host>:39831/
When the store server is not deployed for a location, substitute the hostname for the estate manager for the store server hostname on the worksheet.
Device and Location Details
The device type and device id must match the configuration from the estate manager for this device. The standard model for device id is BO@<locationid>.<company>. For example, BO@0001.enactor would be the Store Server (Back Office) at location 0001 for company enactor. Device IDs are case sensitive so use the exact string that was used in the configuration.
The device type for the Store Server is BACK_OFFICE.
Location IDs will be set when configuring the Locations. The Location ID should be set for the Location where the Store Server is being installed.
Database Server
The Store Server requires a database. This will contain all the required configuration, plus other data such as transactions and other messages.
The database information will vary depending on the database server that is used, for example MariaDB or MS SQL Server. This document describes configuring the Store Server to use a MariaDB database.
The database server has an identifier that is used by the Store Server application to make the connection to the database. Database identifiers will look like the following:
MYSQL
A database driver needs to connect to the JDBC database server. The driver will vary depending on the database server that is used. When MariaDB is used database drivers will look like the following:
com.mysql.jdbc.Driver
Store Server connects to the database using a URL or connection string that includes the database server name, the database server port, and the database name. Connections strings are specific to the database server type and will look like the following:
jdbc:mysql://HOST:PORT/DATABASE
Creation steps for a MariaDB user and database
Configuring MariaDB is described in a separate How-to Guide. (How To Guide MariaDB Server - Install Instructions for Windows)
After installation open the HeidiSQL client application and run the following commands to create a User and a Database:
CREATE USER 'enactorbo'@'localhost' IDENTIFIED BY 'En4ct0rSt0re';
CREATE DATABASE IF NOT EXISTS enactorbo;
GRANT ALL PRIVILEGES ON enactorbo.* TO 'enactorStore'@'localhost';
This script will create a user with ID enactorbo and password En4ct0rSt0re and a database named enactorbo.
Installation Worksheet
The following information will be needed to create the installer.ini for the installation.
Note:
The Value Column below contains example values in this document. These values will vary according to the configured environments.
Estate Manager
Property.ini file | Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_EMAPP_URL_BASE | http://xxx.xxx.xxx.xxx:39830 | Server.EMApp.URL.Base | Estate Manager application. Where xxx is the IP address or hostname of the Estate Manager. |
SERVER_EMPROC_URL_BASE | http:// xxx.xxx.xxx.xxx:39832 | Server.EMProc.URL.Base | Estate Manager Processing. Where xxx is the IP address or hostname of the Estate Manager. |
SERVER_EMWS_URL_BASE | http:// xxx.xxx.xxx.xxx:39833 | Server.EMWS.URL.Base | Estate Manager Web Services. Where xxx is the IP address or hostname of the Estate Manager. |
SERVER_BP_URL_BASE | http:// xxx.xxx.xxx.xxx:39831 | Server.BP.URL.Base | Estate Manager Business Process. Where xxx is the IP address or hostname of the Estate Manager. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Store Server
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_BOAPP_URL_BASE | http://xxx.xxx.xxx.xxx:39848 | Server.BOApp.URL.Base | Back Office Application. Where xxx is the IP address or hostname of the machine where the store server is being installed. |
SERVER_BOPROC_URL_BASE | http://xxx.xxx.xxx.xxx:39848 | Server.BOProc.URL.Base | Back Office Processing. Where xxx is the IP address or hostname of the machine where the store server is being installed. |
SERVER_BOREPORTS_URL_BASE | http://xxx.xxx.xxx.xxx:39848 | Server.BOReports.URL.Base | Back Office Reports. Where xxx is the IP address or hostname of the machine where the store server is being installed. |
SERVER_BOWS_URL_BASE | http://xxx.xxx.xxx.xxx:39848 | Server.BOWS.URL.Base | Back Office Web Services. Where xxx is the IP address or hostname of the machine where the store server is being installed. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Card Authorisation
It is possible to configure multiple card authorisation servers.
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_CARD_AUTH1_URL_BASE | http://xxx.xxx.xxx.xxx:39856 | Server.CardAuth1.URL.Base | Where xxx is the IP address or hostname of the machine where the card auth server is installed. (Usually, but not always, the Estate Manager) |
SERVER_CARD_AUTH2_URL_BASE | http://xxx.xxx.xxx.xxx:39856 | Server.CardAuth2.URL.Base | Where xxx is the IP address or hostname of the machine where the card auth server is installed. (Usually, but not always, the Estate Manager) |
SERVER_CARD_AUTH3_URL_BASE | http://40.85.134.4:39856 | Server.CardAuth3.URL.Base | Where xxx is the IP address or hostname of the machine where the card auth server is installed. (Usually, but not always, the Estate Manager) |
SERVER_CARD_AUTH4_URL_BASE | http://40.85.134.4:39856 | Server.CardAuth4.URL.Base | Where xxx is the IP address or hostname of the machine where the card auth server is installed. (Usually, but not always, the Estate Manager). |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Database Server
installer.ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
DATABASE_DRIVER | com.mysql.jdbc.Driver | N/A - on a Store Server this value is defined in the Apache Tomcat server.xml | The driver will vary depending on the database server that is used. When a MariaDB is used Database drivers com.mysql.jdbc.Driver is used. |
DATABASE_IDENTIFIER | MYSQL | QueryTranslator.DatabaseIdentifier | The database server also has an identifier that is used by the application to make the connection to the database. When a MariaDB is used, MYSQL is used as the identifier. |
DATABASE_PASSWORD | En4ct0rSt0re | N/A - on a Store Server this value is defined in the Apache Tomcat server.xml | Database Password that the Store Server will use. |
DATABASE_SCHEMA | enactorbo | Common.DatabaseSchema | Database Schema name that the Store Server will connect to. |
DATABASE_URL | jdbc:mysql://localhost:3306/enactorbo?serverTimezone=UTC&defaultFetchSize=1000&useCursorFetch=true&useLegacyDatetimeCode=false&serverTimezone=Europe%2FLondon&useUnicode=true&characterEncoding=UTF-8 | N/A - on a Store Server this value is defined in the Apache Tomcat server.xml | Database Server URL that the Store Server will connect to. |
DATABASE_USERNAME | enactorbo | N/A - on a Store Server this value is defined in the Apache Tomcat server.xml | Database Username that the Store Server will use. |
Process Connections
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
PROCESS_CONNECTION_DEFINITION | StandardPosBackOfficeEstateManager | ProcessConnections.DefinitionId | This is the default process connection for environments that contain store servers - it should only be replaced if a customer-specific process connection is being used. |
Process Set
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
PROCESS_SET | NextGen | Common.ProcessSet | This should be defined as NextGen unless an Enactor representative advises otherwise. |
PARENT_PROCESS_SET | NextGen | Common.ParentProcessSet | This should be defined as NextGen unless an Enactor representative advises otherwise. |
Device and Location
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
DEVICE_ID | BO@0001.enactor | Container.DeviceId JMX.ApplicationId Service.DeviceID | Must match the Device ID that is configured on the Estate Manager. |
Device Type | BACK_OFFICE | Service.DeviceType | Must be specified as BACK_OFFICE for a Store Server installation. |
LOCATION_ID | 0001 | Service.LocationID | Must match the Location ID that is configured on the Estate Manager. |
SOLR
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_SOLR_URL_BASE | http://xxx.xxx.xxx.xxx:39846/solr/ | Server.Solr.URL.Base | Where xxx is the IP address or hostname of the Solr Index server. (Usually, but not always, the Estate Manager) |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Reports
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_EMREPORTS_URL_BASE | http://xxx.xxx.xxx.xxx:39848 | Server.EMREPORT.HostServer.Reports.Host | Where xxx is the hostame or IP address of the store server being installed. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Order Parameters
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_OMBP_URL_BASE | http://xxx.xxx.xxx.xxx:39834/ | Server.OMBP.URL.Base | Where xxx is the IP address or hostname of the Order Manager. |
SERVER_OMPROC_URL_BASE | http://xxx.xxx.xxx.xxx:39836/ | Server.OMProc.URL.Base | Where xxx is the IP address or hostname of the Order Manager. |
SERVER_OMWS_URL_BASE | http://xxx.xxx.xxx.xxx:39837/ | Server.OMWS.URL.Base | Where xxx is the IP address or hostname of the Order Manager. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Inventory Module
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
MODULE_INVENTORY | true or false | Modules.InventoryModule | Determines whether the Inventory module is enabled on the store server. |
SERVER_IMBP_URL_BASE | http://xxx.xxx.xxx.xxx:39842/ | Server.IMBP.URL.Base | Where xxx is the IP address or hostname of the Inventory Manager. |
SERVER_IMPROC_URL_BASE | http://xxx.xxx.xxx.xxx:39844/ | Server.IMProc.URL.Base | Where xxx is the IP address or hostname of the Inventory Manager. |
SERVER_IMWS_URL_BASE | http://xxx.xxx.xxx.xxx:39845/ | Server.IMWS.URL.Base | Where xxx is the IP address or hostname of the Inventory Manager. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Time Attendance Module
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
MODULE_TIME_ATTENDANCE | true / false | Modules.TimeAttendanceModule | Determines whether the Time & Attendance module is enabled on the store server. |
Message Service Authentication
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
AUTHENTICATION_DEFAULT_PASSWORD | p@55w0rd | Authentication.DefaultPassword encrypt="true" | Should match the Authentication password defined on the Estate Manager. |
AUTHENTICATION_DEFAULT_USERID | userid | Authentication.DefaultUserId | Should match the Authentication user defined on the Estate Manager. |
MESSAGE_SERVICES_DEFAULT_AUTH_TYPE | HTTP_BASIC | MessageServices.DefaultAuthenticationType | Defines the security setting for service access. Available values are NONE, HTTP_BASIC, HTTP_TOKEN. Default value is HTTP_BASIC. |
Using values from the worksheet
The following text should be amended so the values match those in the worksheet above, then saved to an installer.ini file in the same directory as the Enactor Store Server MSI.
; --- EXAMPLE ENACTOR INSTALLER CONFIGURATION FILE ---
; This file includes the ini file values used for configuring the
Enactor ; installer
; It is provided as a starting point for new installers, and should be
copied, edited to add settings
; appropriate for the customer and device and then managed with other
project configuration
;------General Configuration for the Store Server
;EM related configuration
SERVER_EMAPP_URL_BASE=${installer.serverEMAppUrlBase}
SERVER_EMPROC_URL_BASE=${installer.serverEMProcUrlBase}
SERVER_EMWS_URL_BASE=${installer.serverEMWSUrlBase}
SERVER_BP_URL_BASE=${installer.serverBPUrlBase}
;Back office related configuration
SERVER_BOAPP_URL_BASE=${installer.serverBOAppUrlBase}
SERVER_BOPROCRMI_URL_BASE=${installer.serverBOProcRMIUrlBase}
SERVER_BOPROC_URL_BASE=${installer.serverBOProcUrlBase}
SERVER_BOREPORTS_URL_BASE=${installer.serverBOReportsUrlBase}
SERVER_BOWS_URL_BASE=${installer.serverBOWSUrlBase}
;Card_Auth related configuration
SERVER_CARD_AUTH1_URL_BASE=${installer.serverCardAuth1UrlBase}
SERVER_CARD_AUTH2_URL_BASE=${installer.serverCardAuth2UrlBase}
SERVER_CARD_AUTH3_URL_BASE=${installer.serverCardAuth3UrlBase}
SERVER_CARD_AUTH4_URL_BASE=${installer.serverCardAuth4UrlBase}
;DB related configuration
DATABASE_DRIVER=com.mysql.jdbc.Driver
DATABASE_IDENTIFIER=MYSQL
DATABASE_PASSWORD=${installer.databasePassword}
DATABASE_SCHEMA=enactorbo
DATABASE_URL=jdbc:mysql://localhost:3306/enactorpos?serverTimezone=UTC&defaultFetchSize=1000&useCursorFetch=true&useLegacyDatetimeCode=false&serverTimezone=Europe%2FLondon&useUnicode=true&characterEncoding=UTF-8
DATABASE_USERNAME=${installer.databaseUsername}
;Process connection configuration
PROCESS_CONNECTION_DEFINITION=PosBackOfficeEstateManager
;Process set configuration
PROCESS_SET=NextGen
PARENT_PROCESS_SET=NextGen
;Device and location configuration
DEVICE_ID=${installer.deviceId}
DEVICE_TYPE=BACK_OFFICE
LOCATION_ID=${installer.locationId}
;SOLR configuration
SERVER_SOLR_URL_BASE=${installer.serverSolrUrlBase}
;Report related configuration
SERVER_EMREPORTS_URL_BASE=${installer.ReportsUrlBase}
;Order Module configuration
MODULE_ORDER=${installer.modulesOrder}
SERVER_OMBP_URL_BASE=${installer.serverOMBPUrlBase}
SERVER_OMPROC_URL_BASE=${installer.serverOMProcUrlBase}
SERVER_OMWS_URL_BASE=${installer.serverOMWSUrlBase}
;Inventory Module configuration
MODULE_INVENTORY=${installer.modulesInventory}
SERVER_IMBP_URL_BASE=${installer.serverIMBPUrlBase}
SERVER_IMPROC_URL_BASE=${installer.serverIMProcUrlBase}
SERVER_IMWS_URL_BASE=${installer.serverIMWSUrlBase}
;Time & Attendance Module Configuration
MODULE_TIME_ATTENDANCE=${installer.modulesTimeAttendance}
;Message Service Authentication Configuration
AUTHENTICATION_DEFAULT_PASSWORD=${installer.AUTHENTICATIONDEFAULTPASSWORD}
AUTHENTICATION_DEFAULT_USERID=${installer.AUTHENTICATIONDEFAULTUSERID}
MESSAGE_SERVICES_DEFAULT_AUTH_TYPE=${installer.MESSAGESERVICESDEFAULTAUTHTYPE}
Installing the Store Server
Once the installer.ini file has been defined, the installation can proceed.
Manual Installation
Ensure the provided MSI and the installer.ini file are in the same folder. Double click on the MSI file.
Choose Next.
The installation location can be amended here.
Choose Next.
Choose Install.
If User Account Control is enabled, the following prompt will be displayed:
Choose Yes.
Installation will proceed.
Choose Finish.
The Store Server is installed. Following this, the Enactor services will start and begin creating the necessary database tables.
Scripted Installation
The Store Server can be installed without using the UI from the command line.
The Store Server MSI can be installed using the msiexec command - further information about using msiexec can be found at the following link:
https://learn.microsoft.com/en-us/windows/win32/msi/command-line-options
Broadcasting Data
Once the Store Server installation completes, the application will connect to the Estate Manager and subscribe to various message queues.
Once the subscriptions have completed, configuration and other data should be broadcast from the Estate Manager to the Store Server. (Enactor reference configuration contains two broadcasts that can be used for this purpose - New Build All Static Data and New Build All Product Data).
Once these broadcasts have completed, the Enactor Store Server Windows service should be restarted.
Logging in to the Store Server
Once the broadcast to the Store Server has been completed successfully and the Windows service restarted, it should be possible to log into the Store Server at the URL below:
http://<STORE_SERVER_HOST>:39848/WebStoreManagementUninstalling the Store Server
The simplest way to uninstall the Store Server is via Windows Control Panel.
Alternatively it can be uninstalled via the command line using the msiexec application.