Getting Started with ThingWorx > Installing and Upgrading ThingWorx > RHEL Installation > H2/Azure SQL > Install ThingWorx (Ubuntu/RHEL)
Install ThingWorx (Ubuntu/RHEL)
1. Create /ThingworxStorage and /ThingworxBackupStorage directories. If you haven’t already done so, create the /ThingworxPlatform directory as well:
$ sudo mkdir /ThingworxStorage /ThingworxBackupStorage /ThingworxPlatform
2. Change owner and access permissions of /ThingworxPlatform, /ThingworxStorage and /ThingworxBackupStorage:
$ sudo chown tomcat8.5:tomcat8.5 /ThingworxStorage /ThingworxBackupStorage /ThingworxPlatform
$ sudo chmod 775 /ThingworxStorage /ThingworxBackupStorage /ThingworxPlatform
Without these permissions, the server will fail to start. For more information, reference this article.
3. If you have not already done so, obtain the Thingworx.war file.
ThingWorx downloads are available in PTC Software Downloads.
4. Move the Thingworx.war to $CATALINA_HOME/webapps.
$ sudo mv Thingworx.war $CATALINA_HOME/webapps
$ sudo chown tomcat8.5:tomcat8.5 $CATALINA_HOME/webapps/Thingworx.war
$ sudo chmod 775 $CATALINA_HOME/webapps/Thingworx.war
5. Place the platform-settings.json in the ThingworxPlatform folder.
6. Skip this step if you are not using H2 as a database. Add a username and password for H2 in the platform-settings.json file. See platform-settings.json Configuration Details for more information.
"password": "<addsecurepassword>",
"username": "twadmin"
7. Configure the Administrator password:
Add the following AdministratorUserSettings section (in PlatformSettingsConfig) to your platform-settings.json file along with a password that is at least 14 characters long. Reference platform-settings.json Configuration Details for more information on placement. See Passwords (click here if you are viewing the PDF) for additional information on setting passwords.
Do not copy and paste the sample below, as it may cause bad formatting in your platform-settings.json. Instead, click here and copy from the file.

"PlatformSettingsConfig": {
"AdministratorUserSettings": {
"InitialPassword": "changeme"
If Tomcat fails to start and reports the error message: Check the InitialPassword setting in the AdministratorUserPassword section in platform-settings.json. Password must be a minimum of 10 characters, check the following:
The password setting exists in platform-settings.json
The password is valid (14 or more characters by default)
The platform-settings.json file is formatted correctly - bad formatting could lead to errors
8. Enable extension import.
By default, extension import is disabled for all users in 8.4+.
Add the following to the platform-settings.json file. Update the following ExtensionPackageImportPolicy parameters to true to allow extensions to be imported. See Importing Extensions (click here if you are viewing the PDF) for best practices on configuration.
"ExtensionPackageImportPolicy": {
"importEnabled": <true or false>,
"allowJarResources": <true or false>,
"allowJavascriptResources": <true or false>,
"allowCSSResources": <true or false>,
"allowJSONResources": <true or false>,
"allowWebAppResources": <true or false>,
"allowEntities": <true or false>,
"allowExtensibleEntities": <true or false>
9. Configure licensing:
Open the platform-settings.json file and add the following to the PlatformSettingsConfig section (reference platform-settings.json Configuration Options for more information on placement.)
If you are performing a disconnected installation (no internet access), you do not need to add to the platform-settings.json file. Refer to the Licensing Guide for disconnected sites and skip this step.
"username":"PTC Support site user name",
"password":"PTC Support site password"
If the settings are filled out incorrectly or if the server can’t connect, a License Request text file (licenseRequestFile.txt) is created in the ThingworxPlatform folder. In this scenario, a license must be created manually. (If it is not created, ThingWorx will start in limited mode. Limited mode does not allow you to persist licensed entities to the database. Licensed entities are Things, Mashups, Masters, Gadgets, Users, and Persistence Providers).
More information on obtaining a ThingWorx disconnected site license through our License Management site can be found in the Licensing Guide for disconnected sites (no connection to PTC Support portal).
10. Encrypt the license server password by following the steps in Encrypting Passwords.
11. Start Tomcat.
(UBUNTU) sudo service tomcat8.5 start

(RHEL) $ sudo systemctl start tomcat
Verify that a license file (successful_license_capability_response.bin) is created in the ThingworxPlatform folder.
12. To launch ThingWorx, go to http://<servername>:<port>/Thingworx in a Web browser.
13. Change the default password:
a. In Composer, select Administrator > Change Password.
b. In the Change Password window, enter Current Password, New Password, and Confirm Password.
The password, which should not be easily guessed or a known, common password, is recommended to be at least 14 characters in length and should include a mix of uppercase and lowercase letters, numbers, and special characters.
c. Delete the initial password from the platform-settings.json file.
14. Select Done.
15. (OPTIONAL STEP) To determine the status of your license, open the Monitoring>Subsystem>Licensing Subsystem Settings in Composer to confirm the list of features (licensed entities) included with the license. If there are no licensed entities present, you are in limited mode.