Installation and Configuration > ThingWorx Foundation Installer
ThingWorx Foundation Installer
The latest ThingWorx Foundation installer files for on-premise installations are posted at support.ptc.com under Download Software > Order or Download Software Updates > ThingWorx Foundation > Release 8.5 > ThingWorx PostgreSQL and ThingWorx Mssql.
This installer will do the following:
Install ThingWorx Foundation
Install Tomcat
Help you configure your ThingWorx Foundation license
The ThingWorx Foundation installer is supported on the following operating systems with these database combinations:
Windows with PostgreSQL
Windows with Microsoft SQL Server
Red Hat Enterprise Linux with PostgreSQL
Red Hat Enterprise Linux with Microsoft SQL Server
For version information, see System Requirements.
* 
If you want to install ThingWorx Flow, see Installing ThingWorx Flow.
Hardware Sizing
The following are the minimum requirements; actual sizing depends on the application and your usage scenarios.
Aspect
Value
Notes
Memory
16 GB RAM (Minimum)
Dedicated memory must be allocated to the Java VM.
CPU(s)
4
Virtualized environments may have their own terminology for specifying how many CPUs and cores are being provided. This must be considered when determining if the environment meets the minimum requirements.
Disk Space
100 GB available disk space
This size can accommodate the default application and some initial configuration data.
* 
This does not include the space required for the OS or other prerequisite software.
The total disk space required for any given application depends on the amount of configuration and runtime data that will be maintained. Customers should work with Sales and Field Enablement to estimate space needs according to their application requirements.
Disk Speed
10K RPM or faster
Speed is important if you are storing data on the ThingWorx Platform.
Depending on your operating system and database, you must ensure the following before running the ThingWorx Foundation installer:
Prerequisites for Windows with PostgreSQL
* 
It is not recommended to use spaces in file names for the ThingWorx Installer. The ThingWorx Installer will encounter issues if you attempt to install ThingWorx using a file path that includes space characters. If you must use spaces, Administrators should enable Windows support for 8dot3.
You must have the following:
Windows with Administrator access
ThingWorx database configured with connections allowed and encoding set to UTF-8
The database property Connection_LIMIT must be set to -1, which is the default value and allows unlimited connections to the database for all authenticated users.
A database user configured as the owner of the ThingWorx database with the following:
All privileges granted to this user on the ThingWorx database.
The can login property set to yes.
This database user will be entered as the ThingWorx database username in the installer.
If you want to use local database connections, you must have the following:
PostgreSQL installed, and the path to PostgreSQL/bin should be in the PATH environment variable.
Java JDK 1.8.0_141 or above installed
Ensure that java/bin is in the PATH environment variable.
Allowed connections to PostgreSQL from the ThingWorx Foundation host by updating the pg_hba.conf file.
For example, if ThingWorx Foundation is installed on the same host as PostgreSQL, you can update the pg_hba.conf file to set the password authentication method to md5, password, or trust. However, we do not recommend setting it to trust. For more information about the pg_hba.conf file and password authentication methods, see the PostgreSQL.org Website.
The following is an example of the pg_hba.conf file with password authentication set to md5:
$ Edit pg_hba.conf for following:
...
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
If you want to use remote database connections, you must do the following:
Install the psql client that is compatible with your PostgreSQL version.
Add the installed psql to the PATH environment variable. You can follow these steps:
2. Install the pgadmin client.
3. Update the PATH environment variable to append to the path where pgadmin client is installed.
Prerequisites for Windows with Microsoft SQL Server
* 
It is not recommended to use spaces in file names for the ThingWorx Installer. The ThingWorx Installer will encounter issues if you attempt to install ThingWorx using a file path that includes space characters. If you must use spaces, Administrators should enable Windows support for 8dot3.
You must have the following:
Windows with Administrator access
A ThingWorx database configured with the following settings:
Set the Collate property to Latin1_General_100_CS_AS_SC.
Set the following properties to ON:
READ_COMMITTED_SNAPSHOT
ALLOW_SNAPSHOT_ISOLATION
A login for Microsoft SQL Server with SQL Server Authentication
The password for this login is the ThingWorx Database Login Password.
A database user for this login configured as the owner and within the public role.
This user should have a default schema of dbo, an owned schema of db_owner, and be a member of db_owner.
If you want to use local database connections, you must have the following:
The host on which ThingWorx Foundation is to be installed must have access to Microsoft SQL Server.
A valid Microsoft SQL client (sqlcmd) is installed and is available in the PATH environment variable.
Java JDK 1.8.0_141 or above installed
Ensure that java/bin is in the PATH environment variable.
If you want to use remote database connections, install sqlcmd and make it available in the PATH environment variable.
Prerequisites for Red Hat Enterprise Linux with PostgreSQL
You must have the following:
Red Hat Enterprise Linux (RHEL) with Administrator access
RHEL 8.2 has enhanced security hardening. Installations of ThingWorx Foundation on RHEL 8.2 using the installer should be in the /opt directory to avoid issues with permissions. You can choose to install in a directory of your choice under the /opt directory.
Java JDK 1.8.0_141 or above installed
Append the java/bin in the PATH environment variable.
PostgreSQL database
If you want to use local database connections:
The host on which ThingWorx Foundation is to be installed must have access to a PostgreSQL server.
You must have PostgreSQL installed, and the path to PostgreSQL/bin should be in the PATH environment variable.
ThingWorx database configured with connections allowed and encoding set to UTF-8
The database property Connection_LIMIT must be set to -1, which is the default value and allows unlimited connections to the database for all authenticated users.
A database user configured as the owner of the ThingWorx database with the following:
All privileges granted to this user on the ThingWorx database.
The can login property set to yes.
This database user will be entered as the ThingWorx database username in the installer.
You allow connections to PostgreSQL from the ThingWorx Foundation host by updating the pg_hba.conf file.
For example, if ThingWorx Foundation is installed on the same host as PostgreSQL, you can update the pg_hba.conf file to set the password authentication method to md5, password, or trust. However, we do not recommend setting it to trust. For more information about the pg_hba.conf file and password authentication methods, see the PostgreSQL.org Website.
The following is an example of the pg_hba.conf file with password authentication set to md5:
$ Edit pg_hba.conf for following:
...
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
If you want to use remote database connections, install the psql client that is compatible with your PostgreSQL 9.6 or 10.8 version. You can run following command to install the psql client:
yum install rh-postgresql96-postgresql-syspaths
Prerequisites for Red Hat Enterprise Linux with Microsoft SQL Server
You must have the following:
Red Hat Enterprise Linux (RHEL) with Administrator access
RHEL 8.2 has enhanced security hardening. Installations of ThingWorx Foundation on RHEL 8.2 using the installer should be in the /opt directory to avoid issues with permissions. You can choose to install in a directory of your choice under the /opt directory.
Java JDK 1.8.0_141 or above installed
Append the java/bin in the PATH environment variable.
Microsoft SQL Server database
A ThingWorx database configured with the following settings:
Set the Collate property to Latin1_General_100_CS_AS_SC.
Set the following properties to ON:
READ_COMMITTED_SNAPSHOT
ALLOW_SNAPSHOT_ISOLATION
A login for Microsoft SQL Server with SQL Server Authentication
The password for this login is the ThingWorx Database Login Password.
A database user for this login configured as the owner and within the public role.
The host on which ThingWorx Foundation is to be installed must have access to Microsoft SQL Server.
A valid Microsoft SQL client is installed (sqlcmd) and is available in the PATH environment variable.
A Microsoft SQL user with administrator rights
Install sqlcmd.
After installation, run the following:
ln -s /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd
Prerequisites for Enabling SSL/TLS in the Installer
On the Properties for ThingWorx Foundation screen in the installer, the Use SSL/TLS for a secure connection checkbox is selected by default. You can disable the use of SSL/TLS in the installer by clearing this checkbox. If you choose to keep the default setting and use SSL/TLS, you must generate a Java keystore (.jks) file before running the installer.
There are a number of ways you can generate a keystore; one way is as follows:
1. Go to Java/bin.
2. To create the Tomcat Keystore File (.jks file), execute the following command: keytool -genkey -alias selfsigned -keyalg RSA -keystore keyStore.jks -keysize 2048.
3. Enter a password for the keystore. You will need this password later to configure the server.
4. When prompted, enter the domain name for the server. For example, myserver.mycompany.com.
5. Enter the other values, such as organizational unit and organization.
6. When prompted, enter the keystore password.
Installing ThingWorx Foundation on Windows
1. Ensure that the prerequisites described in the above sections are met.
2. Log in to the ThingWorx host as Administrator.
3. For PostgreSQL, from support.ptc.com under Download Software > Order or Download Software Updates > ThingWorx Foundation > Release 8.5 > ThingWorx PostgreSQL > Most Recent Datecode, download ThingWorx-Platform-Foundation-Installer-8-5-0-Windows-postgres.
OR
For Microsoft SQL Server, from support.ptc.com under Download Software > Order or Download Software Updates > ThingWorx Foundation > Release 8.5 > ThingWorx Mssql > Most Recent Datecode, download ThingWorx-Platform-Foundation-Installer-8–5-0-Windows-mssql.
4. Extract the build.
5. For PostgreSQL, execute ThingWorxFoundationPostgres-8.5.0-x64.exe.
OR
For Microsoft SQL Server, execute ThingWorxFoundationMSSQL-8.5.0-x64.exe.
6. Step through the installer screens.
* 
On the Properties for ThingWorx Foundation screen, the Use SSL/TLS for a secure connection checkbox is selected by default. You can disable the use of SSL/TLS in the installer by clearing this checkbox. If you choose to use SSL/TLS, enter the keystore values as generated in the prerequisites noted above.
7. After ThingWorx Foundation is installed, you will be prompted with the License Configurator.
a. Click Next on the Setup : Configure licensing for ThingworxFoundation for Postgres or Setup : Configure licensing for ThingworxFoundation for Mssql screen.
b. Use License Configurator to connect to the PTC license server or configure ThingWorx Foundation to use the pre-downloaded license.
c. Step through the license screens.
8. Your ThingWorx Foundation installation is complete.
* 
For information about increasing memory for Tomcat after installation, see PTC Support Article CS306401.
Starting/Stopping ThingWorx Foundation Services on Windows
1. Navigate to Services.msc.
2. Find the ThingWorx-Foundation service.
3. Start or stop it.
Installing ThingWorx Foundation on Linux
1. Ensure that the prerequisites described in the above sections are met.
2. Log in to the ThingWorx host as Administrator.
3. For PostgreSQL, from support.ptc.com under Download Software > Order or Download Software Updates > ThingWorx Foundation > Release 8.5 > ThingWorx PostgreSQL > Most Recent Datecode, download ThingWorx-Platform-Foundation-Installer-8–5-0-Linux-postgres.
OR
For Microsoft SQL Server, from support.ptc.com under Download Software > Order or Download Software Updates > ThingWorx Foundation > Release 8.5 > ThingWorx Mssql > Most Recent Datecode, download ThingWorx-Platform-Foundation-Installer-8–5-0-Linux-mssql.
4. Extract the build.
5. For PostgreSQL, execute ThingWorxFoundationPostgres-8.5.0-x86_64.run.
OR
For Microsoft SQL Server, execute ThingWorxFoundationMSSQL-8.5.0-x86_64.run.
6. Step through the installer screens.
* 
On the Properties for ThingWorx Foundation screen, the Use SSL/TLS for a secure connection checkbox is selected by default. You can disable the use of SSL/TLS in the installer by clearing this checkbox. If you choose to use SSL/TLS, enter the keystore values as generated in the prerequisites noted above.
7. After ThingWorx Foundation is installed, you will be prompted with the License Configurator.
a. Click Next on the Setup : Configure licensing for ThingworxFoundation for Postgres screen or Setup : Configure licensing for ThingworxFoundation for Mssql screen.
b. Use License Configurator to connect to the PTC license server or configure ThingWorx Foundation to use the pre-downloaded license.
c. Step through the license screens.
8. Your ThingWorx Foundation installation is complete and you can now use ThingWorx Foundation.
Starting/Stopping ThingWorx Foundation Services on Linux
1. Log in to the ThingWorx host as a user with administrative rights (execute sudo).
2. To start the services, enter sudo systemctl start ThingWorx-Foundation.
3. To stop the services, enter sudo systemctl stop ThingWorx-Foundation.
Connecting to the ThingWorx Foundation Server
1. Access the ThingWorx Foundation URL.
For example: https://<hostname>:<port>/Thingworx/Composer.
The ThingWorx Foundation URL will be different depending on your configuration of SSL/non-SSL and the ports used during setup. SSL is enabled by default; however, you can disable the use of SSL/TLS. See the Prerequisites for Enabling SSL/TLS in the Installer section above.
2. Provide user credentials.
The username is Administrator and the password is what was entered during setup.
Installer Log Files
Installation
Linux
Windows
ThingWorx Foundation
Installation logs:
${installdir}/installer/logs/ThingWorxFoundation_install.log
For example: /opt/ThingWorxFoundation-8.5.0/installer/logs/ThingWorxFoundation_install.log
Running logs:
${installdir}/ThingworxStorage/logs/
For example: /opt/ThingWorxFoundation-8.5.0/ThingworxStorage/logs/
Installation logs:
${installdir}\installer\logs\ThingWorxFoundation_install.log
For example: C:\Program Files (x86)\ThingWorxFoundation-8.5.0\installer\logs\ThingWorxFoundation_install.log
Running logs:
${installdir}\ThingworxStorage\logs\
For example: C:\Program Files (x86)\ThingWorxFoundation-8.5.0\ThingworxStorage\logs\
Uninstalling a ThingWorx Foundation Installer-based Installation
1. Navigate to the ThingWorx Foundation installation location.
2. On Windows, execute ThingWorxFoundation_uninstall.exe,
or
on Linux, execute ThingWorxFoundation_uninstall.dat.
3. When prompted, click OK to confirm that you want to continue with the uninstallation.
4. When the uninstallation is complete, the setup is deleted. Uninstall logs are saved to the installation location.
Deleting the ThingWorx Database from PostgreSQL
1. From the command line in either Windows or Linux, open a connection to the PostgreSQL database.
For example, enter psql -U admin -h dbhost.
2. If you are using the default database name, execute the DROP DATABASE thingworx; command.
Or, if you customized the database name, execute the DROP DATABASE <your database name>; command.
Deleting the ThingWorx Database from Microsoft SQL
1. From the command line in either Windows or Linux, open a connection to the Microsoft SQL database.
For example, enter sqlcmd -U admin -s ‘dbhost\dbservicename,port’.
2. If you are using the default database name, execute the DROP DATABASE thingworx; GO; command.
Or, if you customized the database name, execute the DROP DATABASE <your database name>; GO; command.
Was this helpful?