From Tools, download BosWebApps_XXX.7z (XXX = Version No.)
Extract the file to C: \BOSWebApps_XXX
Rename the folder to remove the Version No. BOSWebApps_XXX > BOSWebApps
In the BosWebApps folder you will find 3 folders namely BOSAppServer, BOSDataServer and Postman
Items that are highlighted in green will be pre-installed on new Cloud Servers
Install Node.js - Node.js is an open-source, server-side JavaScript runtime environment built on Chrome's V8 JavaScript engine
Go to https://nodejs.org
Download and install the LTS version.
Accept all the defaults in the Installer
Install PM2 using Powershell - PM2 is a process manager for Node.js applications. It stands for "Process Manager 2". PM2 allows you to run and manage multiple Node.js processes simultaneously, providing features such as automatic restarts, logging, monitoring, and clustering.
Open a PowerShell by right-clicking Windows > Windows PowerShell(Admin)
Type the following: npm install pm2 -g and click Enter.
Update the firebird config file
Navigate to C:\Program Files\Firebird\Firebird_3_0\firebird.conf
Open the config file and paste the following and delete the same-name settings if they already exist in the config file.
### Required for BOSDataServer
AuthServer = Srp, Legacy_Auth
WireCrypt = Disabled
UserManager = Legacy_UserManager
Open Node port (Default 3051) in Windows Firewall and AWS:
Windows Firewall
Access the Windows Firewall by opening Windows Start Menu and searching for Firewall.
Click the Advance Settings, then click Inbound Rules.
Click New Rule..., check the Port option and click Next
Check the TCP option and set the Specific local ports (Default = 3051) and click Next.
Select the Allow the connection option and click Next.
Make sure Domain, Private and Public options are ticked and click Next.
Set the Name to BOSDataServer and click Finish.
Configure AWS (Server Host) Firewall to allow inbound traffic on port 3051 (Default for Node).
Update the Config.js file:
Open the ..\BOSWebApps\BOSDataServer\config.js file using a text editor (e.g., Notepad++).
Locate the "Database Path" setting and update it accordingly. Note (The path for Database is separated by double backslashes "\\")
Specify the port that Node will run on (Default = 3051)
Note: Ensure that you have the necessary permissions and prerequisites in place before performing the above steps.
Install IIS - You can follow the steps below or use the following command line in Powershell: Install-WindowsFeature -name Web-Server -IncludeManagementTools
Open the Server Manager by opening the Start Menu and search for Windows Features (This will open Server Manager)
Follow the on-screen instructions and select the Web Server (IIS) role when prompted to Select server roles
Click Add Features and follow the Wizard to completion.
Add the BOSWebApps Site
Open the IIS Console - open the Start Menu and search for IIS
Launch the Internet Information Services Manager.
In the IIS Manager, locate and delete the Default Website (if it exists).
Right-click on the Sites node in the left-hand panel and select Add Website.
Site Name: BOSAppServer
Physical Path: C:\BOSWebApps\BOSAppServer
Binding: Use the default settings (or configure as needed).
Update the BOSWebApps configuration file:
Locate the config.js file in the C:\BOSWebApps\BOSAppServer directory.
Open the config.js file using a text editor.
Change the serverAddress from "127.0.0.1" to the Server's IP Address . (Note: The IP address is a string and needs to be put in double quotes)
Change the Server Port that Node.js runs on if required (Default =3051)
Create an S3 Bucket and name it the same as the URL which will be used to access it - eg. company.quickeasysoftware.com.
Copy settings from shoppinglist.quickeasysoftware.com.
Settings
Enable Static Website Hosting
Index Document - Index.html
Permissions - uncheck 'Block all public access'
Add the Bucket Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::apps.quickeasysoftware.com/*"
}
]
}
Select Hosted Zone: quickeasysoftware.com
Create an A record and link to S3 bucket using Alias.
Note: The bucket can only be selected if the name matches the A Record name
AWS Certificate Manager - Create public certificate *.quickeasysoftware.com in N.Virginia region.
Cloudfront Distribution
Origin Settings
Select the S3 Bucket that contains the static site
Click 'Use Website Endpoint' when prompted
Allow HTTP Methods (All)
Web Application Firewall (WAF) - select: Do not enable...
Alternate domain name (CNAME) - This must be the URL that you will be connecting to: eg. company.quickeasysoftware.com
Custom SSL Certificate - select *.quickeasysoftware.com (Must be located in N.Virginia - ...fb1705)
Route 53
Create A record linked to Distribution using Alias
Copy the Start Server.bat file to the Startup folder:
Right-click on the Start Menu and select Run, then enter shell:startup and click Enter.
Copy a shortcut to the ..\BOSWebApps\Start Server.bat file to the Startup folder.
If the email-based approvals were running, then you need to do the following:
BOS Server > Email Import - Set the Schedule to In-Active
BOS Enterprise > Email > Inbox - Delete the Email Import for Approvals.
Update the General Setting:
Navigate to company.quickeasysoftware.com to test that the application is working.
Check if Node Port is open - Run Node and navigate to portchecker.co, enter the Server IP and Port No. (NB. Node must be running when you check the Port)
Check installed versions of NPM and PM2 by running the following commands in the Powershell:
node -v
npm -v
pm2 -v