Installare Java e Apache Tomcat (Windows)
1. Se si utilizza Azure SQL per il database, passare a Utilizzo di Azure SQL Server come provider di persistenza. Attenersi alla procedura descritta in tale sezione per impostare il database. Si verrà quindi reindirizzati alla presente sezione.
2. Se si utilizza MSSQL per il database, passare a Utilizzo di MSSQL come provider di persistenza . Attenersi alla procedura descritta in tale sezione per impostare il database. Si verrà quindi reindirizzati alla presente sezione.
3. Per i requisiti di versione per Java JDK, fare riferimento a Requisiti di sistema della versione 8.5.
4. Scaricare e installare la versione richiesta del JDK Java dal sito Web di Oracle.
5. Verificare che la variabile di ambiente Java sia configurata correttamente.
1. Individuare la directory di installazione Java e copiare il percorso. Il percorso di default è C:\Programmi\Java\jdk_<numero versione>.
2. 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.
3. Fare clic su Variabili di ambiente.
4. Nella sezione Variabili di sistema fare clic su Nuovo.
5. Nel campo Nome variabile immettere JAVA_HOME.
6. Nel campo Valore variabile immettere il percorso dell'installazione Java come definito nel passo a.
7. Fare clic su OK.
6. Per i requisiti di versione per Apache Tomcat, fare riferimento a Requisiti di sistema di ThingWorx.
7. 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.
8. Viene avviata l'installazione guidata di Apache Tomcat. Fare clic su Next.
9. Fare clic su I Agree.
10. Nella sezione Choose Components utilizzare le impostazioni di default. Fare clic su Next.
11. Nel campo HTTP/1.1 Connector Port digitare 80 (o un'altra porta disponibile).
12. 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.
13. Fare clic su Next.
14. Fare clic su Next.
15. Fare clic su Install.
16. Fare clic su Finish.
17. Avviare Tomcat. Fare clic su Configure Tomcat. Nella finestra Configure Tomcat fare clic sulla scheda Java.
18. Nel campo Java Options, aggiungere il codice riportato di seguito alla fine del campo delle opzioni:
-Dserver -Dd64
-XX:+UseG1GC
-Dfile.encoding=UTF-8
-Djava.library.path=<path to Tomcat>\webapps\Thingworx\WEB-INF\extensions
* 
Di seguito è riportato l'esempio di Djava.library.path:
-Djava.library.path=C:\Program Files\Apache Software Foundation\Tomcat8.5\webapps\
Thingworx\WEB-INF\extensions
Se si installa ThingWorx Platform per la prima volta, è necessario impostare l'opzione Java -Duser.timezone=UTC, dove UTC non riconosce l'ora legale. L'impostazione di questa opzione impedisce la sovrascrittura dei dati quando si verificano cambiamenti dell'ora legale. Al momento i clienti esistenti non devono aggiornare questa impostazione.
* 
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.
19. 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 a Ottimizzazione di JVM.
20. Fare clic su OK.
21. 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>
22. 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.
23. 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.
24. Rimuovere tutte le app Web Tomcat situate in /<parcorso_tomcat>/webapps/. La rimozione di queste app impedisce l'accesso non necessario a Tomcat, in particolare nel contesto che consentirebbe agli utenti di visualizzare i cookie di altri utenti.
25. Se l'applicazione richiede una suite di crittografia specifica, fare riferimento alla documentazione riportata di seguito per le informazioni di configurazione.
26. 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.
27. (PASSO FACOLTATIVO) Per incrementare le impostazioni di default della cache che influiscono sulla memorizzazione nella cache dei file statici, aggiungere la riga riportata di seguito nei tag <context></context> nel file $CATALINA_HOME/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
28. Per H2 e Azure SQL, passare a Installare ThingWorx.
29. Per PostgreSQL, passare a Installare e configurare PostgreSQL.