Installation de ThingWorx (Ubuntu/RHEL)
1. Créez des répertoires /ThingworxStorage et /ThingworxBackupStorage. Si ce n'est déjà fait, créez également un répertoire /ThingworxPlatform :
$ sudo mkdir /ThingworxStorage /ThingworxBackupStorage /ThingworxPlatform
2. Modifiez le propriétaire de /ThingworxPlatform, /ThingworxStorage et /ThingworxBackupStorage ainsi que les autorisations d'accès associées. Sans ces autorisations, le serveur ne pourra pas démarrer.
$ sudo chown tomcat8.5:tomcat8.5 /ThingworxStorage /ThingworxBackupStorage /ThingworxPlatform
$ sudo chmod 775 /ThingworxStorage /ThingworxBackupStorage /ThingworxPlatform
3. Si vous ne l'avez pas encore fait, récupérez le fichier Thingworx.war depuis la page des téléchargements de logiciels de PTC.
4. Déplacez le fichier Thingworx.war dans $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. Placez le fichier platform-settings.json dans le dossier ThingworxPlatform.
6. Effectuez cette étape si vous utilisez H2 comme base de données. Si vous n'utilisez pas H2 comme base de données, passez à l'étape suivante. Ajoutez un nom d'utilisateur et un mot de passe pour H2 dans le fichier platform-settings.json. Pour plus d'informations; consultez la rubrique Détails de la configuration du fichier platform-settings.json
* 
Les connexions de ThingWorx à la base de données H2 nécessitent un nom d'utilisateur et un mot de passe définis par l'utilisateur, faute de quoi le serveur ne démarrera pas. Cette conception atténue toute vulnérabilité potentielle représentée par CVE-2018-10054.
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<addsecurepassword>",
"username": "twadmin"
}
},
7. Effectuez cette étape si vous utilisez Azure SQL comme base de données. Si vous n'utilisez pas Azure SQL comme base de données, passez à l'étape suivante. Ouvrez le fichier platform-settings.json, puis ajoutez les paramètres du fournisseur de persistance Azure SQL :
"PersistenceProviderPackageConfigs": {
"AzuresqlPersistenceProviderPackage": {
"ConnectionInformation": {
"driverClass": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"jdbcUrl": "jdbc:sqlserver://<server name>:<port>;databaseName=thingworx;applicationName=Thingworx;",
"password": "<database password>",
"username": "twadmin"
}
}
}
8. Configurez le mot de passe administrateur.
Ajoutez la section AdministratorUserSettings suivante (dans PlatformSettingsConfig) à votre fichier platform-settings.json ainsi qu'un mot de passe d'au moins 14 caractères. Consultez la rubrique Détails de la configuration du fichier platform-settings.json pour plus d'informations sur l'endroit exact. Consultez la rubrique Mots de passe pour plus d'informations sur la définition des mots de passe. Evitez d'effectuer un copier-coller de l'échantillon ci-dessous car cela pourrait entraîner des problèmes de formatage dans votre fichier platform-settings.json. A la place, cliquez ici et copiez à partir du fichier.

{
"PlatformSettingsConfig": {
"AdministratorUserSettings": {
"InitialPassword": "changeme"
}
}
}
* 
Si Tomcat ne démarre pas et signale le message d'erreur Check the InitialPassword setting in the AdministratorUserPassword section in platform-settings.json..., vérifiez les informations suivantes :
Le paramètre de mot de passe existe dans platform-settings.json
Le mot de passe est valide (au moins 14 caractères, par défaut)
Le format du fichier platform-settings.json est correct (un problème de formatage peut entraîner des erreurs)
:
9. Autorisez l'importation d'extensions. Par défaut, l'importation d'extensions est désactivée pour tous les utilisateurs.
Ajoutez les informations suivantes dans le fichier platform-settings.json. Mettez à jour les paramètres ExtensionPackageImportPolicy suivants en les définissant sur true pour autoriser l'importation d'extensions. Consultez la rubrique Importation d'extensions pour connaître les bonnes pratiques en matière de 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>
},
10. Configurez la gestion des licences :
Ouvrez le fichier platform-settings.json, puis ajoutez les informations suivantes dans la section PlatformSettingsConfig (consultez la rubrique Détails de la configuration du fichier platform-settings.json pour en savoir plus sur l'endroit exact).
* 
Si vous effectuez une installation déconnectée (pas d'accès à Internet), vous n'avez pas besoin d'ajouter d'informations de licence dans le fichier platform-settings.json. Reportez-vous au manuel anglais Licensing Guide for disconnected sites (Guide relatif à l'obtention de licences pour les sites déconnectés) et ignorez cette étape.
"LicensingConnectionSettings":{
"username":"PTC Support site user name",
"password":"PTC Support site password"
}
* 
Si les paramètres ne sont pas renseignés correctement ou si le serveur ne peut pas se connecter, un fichier texte de demande de licence (licenseRequestFile.txt) est créé dans le dossier ThingworxPlatform. Dans ce scénario, une licence doit être créée manuellement. (A défaut, ThingWorx démarrera en mode limité. Le mode limité ne vous permet pas de rendre les entités sous licence persistances dans la base de données. Les entités sous licence sont les objets, les applications composites, les modèles de base, les gadgets, les utilisateurs et les fournisseurs de persistance.)
Pour plus d'informations sur l'obtention d'une licence ThingWorx pour site déconnecté via notre site de gestion des licences, consultez le manuel anglais Licensing Guide for disconnected sites (no connection to PTC Support portal) [Guide relatif à l'obtention de licences pour les sites déconnectés (pas de connexion au portail de support PTC)].
11. Chiffrez le mot de passe du serveur de licences en suivant la procédure de la rubrique Chiffrement de mots de passe.
12. Si vous utilisez Azure SQL pour votre base de données, procédez comme suit pour télécharger le pilote JDBC. Ignorez cette étape si vous n'utilisez pas Azure SQL.
a. Rendez-vous sur le portail Azure et accédez à votre base de données ThingWorx.
b. Sélectionnez Chaînes de connexion.
c. Sélectionnez l'onglet JDBC.
d. Sélectionnez Télécharger le pilote JDBC pour SQL Server.
e. Sélectionnez Microsoft JDBC Driver 6.0 pour SQL Server.
f. Extrayez et copiez le binaire téléchargé sur votre VM ThingWorx vers votre répertoire Tomcat lib.
13. Démarrez Tomcat.
(UBUNTU) sudo service tomcat8.5 start
(RHEL) $ sudo systemctl start tomcat
Vérifiez qu'un fichier de licence (successful_license_capability_response.bin) est créé dans le dossier ThingworxPlatform.
14. Pour lancer ThingWorx, accédez à http://<nom_de_serveur>:<port>/Thingworx dans un navigateur Web.
15. Changez le mot de passe administrateur initial :
a. Dans Composer, sélectionnez Administrateur > Changer le mot de passe.
b. Dans la fenêtre Changer le mot de passe, entrez votre Mot de passe actuel, votre Nouveau mot de passe et confirmez votre nouveau mot de passe dans le champ Confirmer le mot de passe.
* 
Veillez à ce que ce mot de passe soit difficile à deviner et comprenne au moins 14 caractères, avec une combinaison de caractères majuscules et minuscules, de chiffres et de caractères spéciaux.
c. Supprimez le mot de passe initial du fichier platform-settings.json.
16. Cliquez sur Terminé.
17. (ETAPE FACULTATIVE) Pour déterminer le statut de votre licence, choisissez Surveillance > Sous-système > Paramètres du sous-système de licence dans Composer pour confirmer la liste des fonctionnalités (entités sous licence) incluses avec la licence. Si aucune entité sous licence n'est affichée, vous êtes en mode limité.