Installazione manuale
Installazione di Windows
Installare Java, Apache Tomcat e ThingWorx
Installare Java e Apache Tomcat
1. Per i requisiti di versione per Java, fare riferimento ai Requisiti di sistema di ThingWorx.
2. Scaricare e installare la versione richiesta di Java.
9.0: Java
9.1 e versioni successive: OpenJDK o Java 11.
Decomprimere il file scaricato (ad esempio, openjdk-11 zip) e copiare la cartella jdk-<xxx> dalla cartella decompressa. Incollare la cartella jdk nel seguente percorso: C:\Programmi\Java.
3. Verificare che la variabile di ambiente Java sia configurata correttamente.
a. Individuare la directory di installazione Java e copiare il percorso. Il percorso di default è C:\Programmi\Java\jdk_<numero versione>.
b. Dal menu di avvio di Windows passare alle proprietà di sistema avanzate. Il percorso di queste proprietà varia in base alla versione di Windows usata. Ad esempio, per Windows 10 cercare Variabili di ambiente, quindi selezionare Modifica le variabili di ambiente relative al sistema.
c. Fare clic su Variabili di ambiente.
d. Nella sezione Variabili di sistema fare clic su Nuovo.
e. Nel campo Nome variabile immettere JAVA_HOME.
f. Nel campo Valore variabile immettere il percorso dell'installazione Java come definito nel passo a.
g. Modificare la variabile Path e aggiungere un nuovo valore di %JAVA_HOME%\bin.
h. Fare clic su OK.
4. Per i requisiti di versione per Apache Tomcat, fare riferimento ai Requisiti di sistema di ThingWorx.
5. Visitare il sito Web di Tomcat per scaricare 32-bit/64-bit Windows Service Installer (pgp, sha1, sha512).
* 
Le best practice includono la verifica dell'integrità del file di Tomcat tramite l'utilizzo delle firme o dei checksum per ogni release. Per ulteriori informazioni, fare riferimento alla documentazione di Apache.
6. Viene avviata l'installazione guidata di Apache Tomcat. Fare clic su Next.
7. Fare clic su I Agree.
8. Nella sezione Choose Components utilizzare le impostazioni di default. Fare clic su Next.
9. Nel campo HTTP/1.1 Connector Port digitare 80 (o un'altra porta disponibile).
10. Nei campi Tomcat Administrator Login è necessario immettere un nome utente Tomcat e una password univoca e protetta per l'amministrazione di Tomcat. In ThingWorx è obbligatorio, non facoltativo.
11. Fare clic su Next.
12. Fare clic su Next.
13. Fare clic su Install.
14. Fare clic su Finish.
15. Avviare Tomcat. Fare clic su Configure Tomcat. Nella finestra Configure Tomcat fare clic sulla scheda Java.
16. Nel campo Java Options, aggiungere il codice riportato di seguito alla fine del campo delle opzioni:
-Dserver -Dd64
-XX:+UseG1GC
-Dfile.encoding=UTF-8
-Duser.timezone=UTC
-Djava.library.path=<path to Tomcat>\webapps\Thingworx\WEB-INF\extensions
-Dlog4j2.formatMsgNoLookups=true
* 
Di seguito è riportato l'esempio di Djava.library.path:
-Djava.library.path=C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\Thingworx\WEB-INF\extensions
* 
Per ulteriori informazioni su queste opzioni e su opzioni aggiuntive per gli ambienti ospitati e/o pubblici, fare riferimento a Impostazioni delle opzioni Java Apache Tomcat.
17. Impostare i campi Initial memory pool e Maximum memory pool sul 75% della memoria del sistema operativo disponibile (ad esempio, 12 GB per un sistema con 16 GB di RAM). Per ulteriori informazioni, fare riferimento all'argomento Ottimizzazione di JVM.
18. Fare clic su OK.
19. Nel percorso di installazione di Tomcat aprire conf/web.xml. Sostituire la pagina di errore di default (per default è l'analisi dello stack) aggiungendo quanto segue nel file web.xml. Inserire quanto specificato di seguito all'interno del tag web-app (dopo il tag welcome-file-list).
* 
Un'applicazione Web configurata correttamente sovrascrive questa impostazione di default in webapps/APP_NAME/WEB-INF/web.xml, pertanto non causerà problemi.
<error-page><exception-type>java.lang.Throwable</exception-type><location>/error.jsp</location></error-page>
20. Nel percorso di installazione di Tomcat aprire conf/server.xml. Aggiungere la stringa seguente all'interno dei tag <Host> </Host>:
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
* 
Per motivi di sicurezza è fondamentale disattivare il connettore AJP, se non è già stato disattivato per default, effettuando l'operazione seguente.
21. Nel percorso di installazione di Tomcat aprire conf/server.xml e cercare la riga riportata di seguito. Se la si trova, commentarla e salvare il file:
<Connector port ="8009" protocol="AJP/1.3" redirectPort="8443"/>
* 
In Apache Tomcat 9.0 e versioni successive, il valore di default dell'attributo rejectIllegalHeader è true. La modifica manuale del file conf/web.xml per impostare questo attributo su false non è consigliata o supportata da PTC.
22. Rimuovere tutte le app Web di esempio di Tomcat (docs, examples, host-manager, manager, ROOT) situate in /<percorso_tomcat>/webapps/. La rimozione di queste app impedisce l'accesso non necessario a Tomcat, in particolare nel contesto che consente agli utenti di visualizzare i cookie di altri utenti.
23. Se l'applicazione richiede una suite di crittografia specifica, fare riferimento alla documentazione riportata di seguito per le informazioni di configurazione.
24. PTC consiglia vivamente di utilizzare TLS quando si esegue ThingWorx. Per istruzioni dettagliate sull'impostazione di TLS, fare riferimento a questo articolo del supporto tecnico.
25. (PASSO FACOLTATIVO) Per incrementare le impostazioni di default della cache che influiscono sulla memorizzazione nella cache dei file statici, aggiungere la riga seguente nei tag <Context></Context> nel file /conf/context.xml:
<Resources cacheMaxSize="501200" cacheObjectMaxSize="2048" cacheTtl="60000"/>
L'incremento di questa impostazione migliora le prestazioni ed evita che in Tomcat venga visualizzato il messaggio seguente:
WARNING: Unable to add the resource at [/Common/jquery/jquery-ui.js] to the cache
because there was insufficient
free space available after evicting expired cache entries -
consider increasing the maximum size of the cache
Installazione di ThingWorx
1. Creare le cartelle ThingworxPlatform e ThingworxStorage alla radice dell'unità in cui è stato installato Tomcat.
* 
Se si desidera creare le cartelle in un'altra posizione, fare riferimento ai passi riportati qui.
* 
Le cartelle devono avere i diritti di proprietà e di accesso appropriati. Devono essere di proprietà dello stesso utente che esegue il servizio Tomcat e a cui deve essere stato assegnato il controllo completo. In genere l'utente è NETWORK_SERVICE, ma può differire nell'ambiente in uso. Senza questi permessi, il server non viene avviato.
2. Ottenere il file Thingworx.war appropriato per il database in uso. I download di ThingWorx più recenti vengono pubblicati sul sito support.ptc.com in Scarica il software > Order or Download Software Updates > ThingWorx Foundation > Release X.X > ThingWorx PostgreSQL, ThingWorx Mssql, ThingWorx H2 o ThingWorx AzureSql > Most Recent Datecode > ThingWorx-Platform-<tipo database>-<versione>.
3. Posizionare il file platform-settings.json nella cartella ThingworxPlatform.
* 
Se si utilizza H2, è necessario creare il file platform-settings.json perché non è incluso nel download.
4. Configurare la password di amministratore.
Aggiungere la sezione AdministratorUserSettings seguente (in PlatformSettingsConfig) al file platform-settings.json, nonché una password di almeno 14 caratteri. Per ulteriori informazioni sul posizionamento, fare riferimento a Dettagli di configurazione di platform-settings.json. Per ulteriori informazioni sull'impostazione delle password, fare riferimento a Password.
* 
Non copiare e incollare l'esempio riportato di seguito, poiché potrebbe causare un problema di formattazione errata nel file platform-settings.json. Fare invece clic qui e copiarlo dal file.

{
"PlatformSettingsConfig": {
"AdministratorUserSettings": {
"InitialPassword": "changeme"
}
}
}
* 
Se Tomcat non si avvia e viene visualizzato il messaggio di errore "Check the InitialPassword setting in the AdministratorUserPassword section in platform-settings.json...", controllare gli elementi seguenti.
Presenza dell'impostazione della password nel file platform-settings.json.
Validità della password (per default deve includere almeno 14 caratteri).
Il file platform-settings.json deve essere formattato correttamente. Una formattazione non valida può causare errori.
5. Attivare l'importazione delle estensioni. Per default, l'importazione di estensioni è disattivata per tutti gli utenti.
Aggiungere quanto segue al file platform-settings.json in PlatformSettingsConfig. Aggiornare i parametri ExtensionPackageImportPolicy seguenti impostandoli su true per consentire l'importazione delle estensioni. Per le best practice per il controllo dell'importazione di estensioni, fare riferimento a Importazione di estensioni.
"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>
},
6. Saltare questo passo se non si utilizza H2 come database. Aggiungere un nome utente e una password per H2 nel file platform-settings.json. Per ulteriori informazioni, vedere Dettagli di configurazione di platform-settings.json.
* 
Le connessioni di ThingWorx al database H2 richiedono un nome utente e una password definiti dall'utente. In caso contrario, il server non viene avviato. Questa progettazione riduce completamente eventuali vulnerabilità potenziali rappresentate da CVE-2018-10054.
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<addsecurepassword>",
"username": "twadmin"
}
},
7. Saltare questo passo se non si utilizza Azure SQL come database. Aprire il file platform-settings.json e aggiungere i parametri del provider di persistenza 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. Se non si utilizza H2 per il database, vedere Installazione e configurazione del database per configurare il database. Dopo avere configurato il database, andare al passo successivo. Se si utilizza H2, andare al passo successivo.
9. Configurare la licenza come descritto di seguito.
Aprire il file platform-settings.json e aggiungere quanto segue alla sezione PlatformSettingsConfig. Per ulteriori informazioni sul posizionamento, fare riferimento a Dettagli di configurazione di platform-settings.json.
* 
Se si intende eseguire un'installazione disconnessa (senza accesso a Internet), non è necessario aggiungere le informazioni sulla licenza nel file platform-settings.json. Fare riferimento a Licenze per ThingWorx Platform per i siti disconnessi e ignorare questo passo.
{
"PersistenceProviderPackageConfigs": {
"PostgresPersistenceProviderPackage": {
"ConnectionInformation": {
"jdbcUrl": "jdbc:postgresql://localhost:5432/thingworx",
"password": "<password>",
"username": "<username>"
}
}
},
"PlatformSettingsConfig": {
"LicensingConnectionSettings": {
"username":"<PTC_support_portal_username>",
"password":"<PTC_support_portal_password>"
}
}
}
Arrestare Tomcat.
Copiare il file Thingworx.war e inserirlo nella posizione seguente del percorso di installazione di Tomcat:
<Tomcat_Install_Location>\webapps
Avviare Tomcat.
Verificare che venga creato un file di licenza (successful_license_capability_response.bin) nella cartella ThingworxPlatform.
* 
Se le impostazioni non sono corrette o se il server non riesce a connettersi, viene creato un file di testo di richiesta di licenza (licenseRequestFile.txt) nella cartella ThingworxPlatform. In questo caso è necessario creare una licenza manualmente. In caso contrario ThingWorx viene avviato nella modalità limitata. In questa modalità, le entità con licenza non possono essere persistenti nel database. Le entità con licenza sono oggetti, mashup, master, gadget, utenti e provider di persistenza.
Ulteriori informazioni sull'ottenimento di una licenza per siti disconnessi di ThingWorx tramite il sito di gestione licenze sono disponibili in Licenze per ThingWorx Platform per siti disconnessi (nessuna connessione Internet al portale Supporto PTC). In questo caso, se il file di licenza viene generato manualmente, deve essere rinominato in license_capability_response.bin e posizionato nella cartella ThingworxPlatform.
* 
Per la risoluzione dei problemi relativi alle licenze, fare riferimento a questo articolo del supporto.
10. Crittografare la password del server licenze eseguendo i passi descritti in Crittografia delle password.
11. Se si utilizza Azure SQL come database, attenersi alla procedura descritta di seguito per scaricare il driver JDBC. Ignorare questo passo se non si utilizza Azure SQL.
a. Accedere al portale di Azure e passare al database ThingWorx.
b. Selezionare Stringhe di connessione.
c. Selezionare la scheda JDBC.
d. Selezionare Scarica Microsoft JDBC Driver per SQL Server.
e. Selezionare Microsoft JDBC Driver 6.0 per SQL Server.
f. Estrarre e copiare il file binario scaricato nella directory Tomcat lib della VM ThingWorx.
12. Riavviare Tomcat.
13. Per avviare ThingWorx, passare a http://<nomeserver>:<porta>/Thingworx in un browser Web.
14. Cambiare la password iniziale dell'amministratore come descritto di seguito.
a. In Composer selezionare Amministratore >Cambia password.
b. Nella finestra Cambia password compilare i campi Password corrente, Nuova password e Conferma password.
* 
È consigliabile che la password sia difficile da indovinare, segreta e non comune, sia costituita da almeno 14 caratteri di lunghezza e includa una combinazione di lettere maiuscole e minuscole, numeri e caratteri speciali.
c. Eliminare la password iniziale dell'amministratore dal file platform-settings.json.
15. Selezionare Fine.
16. (PASSO OPZIONALE) Per determinare lo stato della licenza, in Composer aprire Monitoraggio>Sottosistema>Impostazioni sottosistema Licenze per confermare l'elenco di funzionalità (entità con licenza) incluse con la licenza. Se non sono presenti entità con licenza significa che l'ambiente è nella modalità limitata.
È stato utile?