Purpose

Single VM installation is usually used for small to average loads when a single VM can handle all incoming requests and when the system redundancy to increase the system reliability is not necessary.

Such installations usually comprise of a single VM which has all necessary components installed on it. For security purpose it is best to use SSL for the AppBase web-site.

Most AppBase developer environments also use Single VM AppBase installation usually with AppBase web-site not protected by SSL because such VMs are usually only are exposed to internal networks and are not available to the Internet.

Checklist

Download and fill out the Single VM Installation Checklist: AppBase Single VM Installation Checklist GA SP1 Update 2.xlsx

For AppBase 6.5 GA SP1 and AppBase 6.5 GA SP1 Update 1 please download this checklist instead: AppBase Single VM Installation Checklist GA SP1.xlsx

For AppBase 6.5 GA release please download this checklist instead: AppBase Single VM Installation Checklist GA.xlsx

Loading

 

Substitution Files Configuration

Download and mount AppBase "ISO image":

Scripts.2.zip archive can be found inside AppBase Installation files directory on the ISO image:

For previous AppBase 6.5 GA release please use this instruction instead:

Download and extract Scripts.2.zip archive with the installation scripts from the Download page: Downloads. The Scripts.2.zip archive is downloaded via "6.5. GA Installation Scripts"  url:

If you use AppBase Installation ISO instead then the Scripts.2.zip archive can be found inside AppBase Installation files directory on the ISO image:

Unblocking the downloaded files

You need to unblock the downloaded files no matter which download format you have chosen. This step is necessary for both "Loose files" and "ISO image" formats.

For "ISO image" you need unblock the ISO file and Scripts.2.zip archive you copied from the "ISO image".

Unblock the downloaded files recursively with Powershell command:

Get-ChildItem "PATH_TO_DOWNLOADED_PACKAGES_DIRECTORY" -recurse | Unblock-File

You need to be sure you have unblocked the installation scripts otherwise you may encounter problems the installation scripts failing to load some of the dlls which come with the installation scripts package.

To start PowerShell you need to press "Win+R" keys on your keyboard and type "powershell" in the popup window:

Copy the files from "Templates\Single VM" directory to the directory of your choice.

Please make sure none of the directories you use for the substitution files or the installation scripts has spaces (" ") in its path.

These files will be your new substitution configuration files after you update few values in  the  _all_substitutions_common.liquid configuration file

Open _all_substitutions_common.liquid file and modify the settings from the table below. You need to refer to your Checklist to configure the substitution values

Placeholder NameDescriptionValid Values
SSLMode
Refer to your Checklist
  • If you have specified "http" for "Protocol" then use None.
  • If you have specified "https" for "Protocol" then IIS. 
None, IIS
SSLCertificatePath

This is only required when placeholder SSLMode = IIS. In this case you need to uncomment both SSLCertificatePath and SSLCertificatePassword and provide them with a full path to the SSL certificate path in pfx format and the certificate password.

 Only pfx certificates can be installed automatically. If you use DigeCert or other unsupported certificate please use empty values for both SSLCertificatePath and SSLCertificatePassword placeholders and install the certificates manually into IIS after the AppBase installation finishes.

Full path to the certificate file or empty value
SSLCertificatePasswordPassword or empty value
DatabaseBrandRefer to the value "Database Brand and Version". Please use Oracle for Oracle or SqlServer for MS Sql ServerOracle, SqlServer
AppBaseRootDirectoryRefer to the value "AppBase Root Directory" from the Checklist. The root directory for all AppBase installation files, for example: D:\AppBase - this is the directory where the installation files will reside and where the AppBase will be installed to Valid directory
SharedDirectoriesRootOptional. Refer to the value "BaseRuntimeDirectory" from the Checklist. If you do not want to override this value remove or comment out it. Base directory for solution configuration and runtime data on local drive or provided by customer NAS, etc, (e.g. \\server1\AppBaseDev). This can be file share anywhere on network with rights granted to the account configured in AppBaseServicesUsername placeholder. You can use local drive if you never plan to convert this installation to the Clustered VM configuration. You can remove this from your file or comment it out so that we would use the value you specified for "AppBaseRootDirectory" placeholderValid directory
EffectiveUrlPortRefer to the value "Effective Port" from the ChecklistValid port
EffectiveUrlHostRefer to the value "Effective HostName" from the ChecklistValid hostname
NoReplyEmailRefer to the value "Noreply Email" from the Checklist. AppBase will use it as a sender when sending notifications to usersValid email
AdminEmailRefer to the value "Admin Email" from the Checklist. AppBase will be sending system related emails to this addressValid email
SmtpHostRefer to the value "Smtp Host" from the Checklist.Valid smtp host
SmtpPortRefer to the value "Smtp Port" from the Checklist.Valid smtp port
CryptoProtocolRefer to the value "Use SSL / TLS" from the Checklist. If you specified "none" then use 0. If you specified "ssl" then use 1. If you specified "tls" then use 20,1,2
SmtpUsernameRefer to the value "Smtp Username" from the Checklist.Valid smtp user or empty value
SmtpPasswordRefer to the value "Smtp Password" from the Checklist.Valid smtp password or empty value
AppBaseServicesUsernameRefer to the value "Service Username" from the Checklist.Valid windows user
AppBaseServicesPassword

Refer to the value "Service Password" from the Checklist. For AppBase 6.5 GA SP1 Update 2 release and above you can use non-alphanumeric characters, for example <, > or & but you need to encode them for substitution files. Below is a table with example for encoding characters.

 

CharacterEncoded character
&
&#38;amp;
<
&#38;lt;
>
&#38;gt;
Valid windows user password
AppBaseDatabaseConnectionIdentifier

Use the value provided for "Oracle TNS Alias" in the checklist.
This is a required placeholder but its value can be empty if you do not want to use "Oracle TNS Alias" and provided empty value in the checklist.
If this placeholder is not empty then placeholder "OracleTnsAdminPath" becomes required and must have valid path to a valid tnsadmin directory (the directory must contain valid tnsnames.ora file that have the "Oracle TNS Alias" registered)
If not empty then placeholders "DatabaseServer","DatabasePort","DatabaseSID" are not used

AppBase versions preceding "AppBase 6.5 GA SP1 Update 2" does not have this feature and this placeholder.

Empty string or valid "Oracle TNS Alias" known to all AppBase VMs
OracleTnsAdminPath

Empty string when "Oracle TNS Alias" is not used (when "AppBaseDatabaseConnectionIdentifier" is empty).


When "AppBaseDatabaseConnectionIdentifier" is not empty then this placeholder can not be empty and must be a valid path to the valid tnsadmin directory (the directory must contain valid tnsnames.ora file that have the "Oracle TNS Alias" registered)

AppBase versions preceding "AppBase 6.5 GA SP1 Update 2" does not have this feature and this placeholder.

Empty string when "Oracle TNS Alias" is empty, otherwise valid path to the TNS admin directory (the directory must contain valid tnsnames.ora file that have the "Oracle TNS Alias" registered)

DatabaseServer

Refer to the value "Database Server Host" from the Checklist. The placeholder can be left empty when placeholder "AppBaseDatabaseConnectionIdentifier" is not empty 

When using AppBase versions preceding "AppBase 6.5 GA SP1 Update 2" release use this instruction instead (this field is required for all version before SP1 Update 2): 

Refer to the value "Database Server Host" from the Checklist.


Valid server host/ip
DatabasePort

Refer to the value "Database Server Port" from the Checklist. The placeholder can be left empty when placeholder "AppBaseDatabaseConnectionIdentifier" is not empty

When using AppBase versions preceding "AppBase 6.5 GA SP1 Update 2" release use this instruction instead (this field is required for all version before SP1 Update 2): 

Refer to the value "Database Server Host" from the Checklist.


Valid server port
DatabaseSID

Refer to the value "Database SID / Service Name" from the Checklist. The placeholder can be left empty when placeholder "AppBaseDatabaseConnectionIdentifier" is not empty

When using AppBase versions preceding "AppBase 6.5 GA SP1 Update 2" release use this instruction instead (this field is required for all version before SP1 Update 2): 

Refer to the value "Database Server Host" from the Checklist.


Valid SID
DatabaseTablespaceRefer to the value "Database Tablespace" from the Checklist.Valid tablespace
DBAUser

Optional. DBA user name. Usually this is empty for most installation. In such case some DBA level features are not available. For example AppBase will not be able to create a database schema via its installation scripts or Create Environment user interface. Most of the AppBase installation have this placeholder empty and requires DBA personal intervention to facilitate the schemas for AppBase. Some development environment with dedicated test database servers use provide DBA user for AppBase to speed up development process. Cloud AppBase installations that require automatic tenant registrations requires the DBA user too.

When using previous AppBase 6.5 GA release use this instruction instead (this field is required for 6.5 GA without service pack): 

If no user with sysdba role is available please use value "AppBase Tenant 1" from the Checklist

Valid database user
DBAPassword

Optional. This is only required if you use DBAUser (if the DBAUser placeholder is not empty)

When using previous AppBase 6.5 GA release use this instruction instead (this placeholder is required for 6.5 GA without service pack):

If no user with sysdba role is available please use password for the user specified in "AppBase Tenant 1" from the Checklist

Valid database user password
DBAPrivilege

No longer necessary.

When using previous AppBase 6.5 GA release use this instruction instead.

If the user used for DBAUser placeholder does not have sys dba role then you need to make AppBase remove DBAPrivilege from connection string it builds for some operations using DBAUser placeholder or else the AppBase will fail to connect to the database due to requesting DBA privilege during making a connection to the database when the user it uses to connect in fact does not have such privilege. To clear the privilege you need to uncomment DBAPrivilege placeholder and make sure it has an empty value:

<DBAPrivilege></DBAPrivilege>

If the user specified in DBAUser placeholder has the DBA privilege then you need to remove or comment out DBAPrivilege making the AppBase use the default value for this placeholder which is

DBA Privilege=SYSDBA;

 

 

No longer necessary.

 

When using previous AppBase 6.5 GA release use this instruction instead.

Removed from the substitution or commented out to use the default value or empty value when the user used instead of DBA user in fact does not have DBA privilege


 

DatabaseServerVersionMust be actual database version of your Oracle or MS Sql Server database. Solutions use this value to provide version optimized experienceValid Values: database server version in format "12.2.0.1.0".
RegistryDatabaseUserRefer to the value "AppBase Tenant Registry" from the Checklist.Valid database user
RegistryDatabasePasswordUse password for the user specified in "AppBase Tenant Registry" from the ChecklistValid database user password
ConnectionStringSIDName

Use value specified in "Database Connection Service Type" from the Checklist

The checklist for previous 6.5 GA release does not have this value. In this case please use this instruction - you need to specify one of two valid values: SID, SERVICE_NAME. This value controls how AppBase connects to the schemas via SID identifier or SERVICE_NAME identifier.

SID or SERVICE_NAME

 

Advanced Configuration

 The above configuration allows easy deployment of the most common AppBase configuration. The default AppBase configuration may not always fit all situations that is why AppBase can be customized to suit most of the situations.

External Redis Installation

By default the installation scripts install local Redis during installation and configure AppBase to use it. Under some configurations it is more beneficial to use external Redis installation. In this case few configuration placeholders must be added to _all_substitutions_common.liquid configuration file:

<RedisMode>External</RedisMode>
<RedisServerHost>@RedisServerHost@</RedisServerHost>
<RedisServerPort>@RedisServerPort@</RedisServerPort>

Either uncomment the above placeholders in _all_substitutions_common.liquid file or copy-paste it from here.

Then you need to provide values for the required placeholders.

Refer to the table below:

Placeholder NameDescriptionValid Values
RedisServerHostRefer to the value "Redis Host" from the ChecklistValid Redis host
RedisServerPortRefer to the value "Redis Port" from the ChecklistValid Redis port

External ActiveMQ Installation

By default the installation scripts install local ActiveMQ during installation and configure AppBase to use it. Under some configurations it is more beneficial to use external ActiveMQ installation. In this case few configuration placeholders must be added to _all_substitutions_common.liquid configuration file: 

<ActiveMQMode>External</ActiveMQMode>
<QueueServerHost>@QueueServerHost@</QueueServerHost>
<QueueServerPort>@QueueServerPort@</QueueServerPort>

Either uncomment the above placeholders in _all_substitutions_common.liquid file or copy-paste it from here. 

Then you need to provide values for the required placeholders.  

Refer to the table below: 

Placeholder NameDescriptionValid Values
QueueServerHostRefer to the value "ActiveMQ Host" from the ChecklistValid ActiveMQ host
QueueServerPortRefer to the value "ActiveMQ Port" from the ChecklistValid ActiveMQ port

 

Initialize Substitution Files

The last step to finalize the substitution files configuration is to run special installation scripts command to add some special placeholders to the substitution files. Examples of such automatically generated placeholders are machine keys and installation id.

You need to initialize the substitution files only once. Do not run this command again after the AppBase is installed unless you are required to do so by the support

The Scripts.2 archive which you have downloaded has AppBase installation scripts for you AppBase version. You will use the scripts to initialize the substitution files.

You need to run the initialization command in the directory where your substitution files are located. You will need also to start cmd.exe under Administrative user account

To initialize the installation substitution files run the command below:

PATH_TO_EXTRACTED_SCRIPTS2\InstallerMain.bat -Command Installation-InitializeSubstitutions -ServerFile server.appbase.xml