Installazione e aggiornamento > Installazione di ThingWorx > Programma di installazione di ThingWorx Foundation > Programma di installazione di ThingWorx Foundation per Linux
Programma di installazione di ThingWorx Foundation per Linux
A.) Prerequisiti per il programma di installazione di Linux con PostgreSQL 
* 
Se durante questo processo viene rilevata un'installazione esistente, il programma di installazione aggiorna ThingWorx Foundation. Per ulteriori informazioni, vedere Utilizzo del programma di installazione per aggiornare ThingWorx Foundation.
Sono state esaminate le informazioni e i prerequisiti generali illustrati nell'argomento della guida Programma di installazione di ThingWorx Foundation.
Per eseguire il programma di installazione di ThingWorx Foundation per Linux con PostgreSQL, è necessario disporre di quanto elencato di seguito. Per informazioni sulle versioni supportate, vedere Requisiti di sistema.
Java 11 installato
* 
Java 11 è necessario per 9.2.0 e versioni successive.
Impostare la variabile JAVA_HOME per l'uso della directory di installazione di Java 11.
Red Hat Enterprise Linux (RHEL) con accesso come amministratore
* 
RHEL 8.2 è dotato di protezione avanzata. Per evitare problemi con i permessi, le installazioni di ThingWorx Foundation su RHEL 8.2 eseguite con il programma di installazione devono trovarsi nella directory /opt. È possibile scegliere di eseguire l'installazione in una directory a scelta nella directory /opt.
Java JDK installato
Aggiungere java/bin nella variabile di ambiente PATH.
Database PostgreSQL
Connessione a database locale o remoto. Nella tabella seguente sono elencati i prerequisiti applicabili:
Connessione database
Prerequisiti
Locale
L'host in cui deve essere installato ThingWorx Foundation deve avere accesso a un server PostgreSQL.
È necessario che sia installato PostgreSQL e che il percorso della cartella PostgreSQL/bin sia incluso nella variabile di ambiente PATH.
Database ThingWorx configurato con le connessioni consentite e la codifica impostata su UTF-8
La proprietà del database Connection_LIMIT deve essere impostata su -1, che rappresenta il valore di default e consente connessioni illimitate al database per tutti gli utenti autenticati.
Un utente del database configurato come proprietario del database ThingWorx con gli elementi riportati di seguito.
Tutti i privilegi concessi all'utente nel database ThingWorx.
La proprietà can login impostata su yes.
Questo utente del database verrà immesso come nome utente del database ThingWorx nel programma di installazione.
Sono consentite le connessioni a PostgreSQL dall'host ThingWorx Foundation mediante l'aggiornamento del file pg_hba.conf.
Ad esempio, se ThingWorx Foundation viene installato nello stesso host di PostgreSQL, è possibile aggiornare il file pg_hba.conf per impostare il metodo di autenticazione della password su md5, password oppure trust. È tuttavia sconsigliabile impostarlo su trust. Per ulteriori informazioni sul file pg_hba.conf e sui metodi di autenticazione della password, vedere il sito Web PostgreSQL.org.
Di seguito è riportato un esempio del file pg_hba.conf con il metodo di autenticazione della password impostato su 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
Remoto
Installare il client psql compatibile con la versione di PostgreSQL. Per installare il client psql, è possibile eseguire il comando seguente:
yum install rh-postgresql96-postgresql-syspaths
B.) Prerequisiti per il programma di installazione di Linux con SQL Server 
* 
Se durante questo processo viene rilevata un'installazione esistente, il programma di installazione aggiorna ThingWorx Foundation. Per ulteriori informazioni, vedere Utilizzo del programma di installazione per aggiornare ThingWorx Foundation.
Per eseguire il programma di installazione di ThingWorx Foundation per Linux con Microsoft SQL Server, è necessario disporre di quanto elencato di seguito. Per informazioni sulle versioni supportate, vedere Requisiti di sistema.
Java 11 installato
* 
Java 11 è necessario per 9.2.0 e versioni successive.
Impostare la variabile JAVA_HOME per l'uso della directory di installazione di Java 11.
Red Hat Enterprise Linux (RHEL) con accesso come amministratore
* 
RHEL 8.2 è dotato di protezione avanzata. Per evitare problemi con i permessi, le installazioni di ThingWorx Foundation su RHEL 8.2 eseguite con il programma di installazione devono trovarsi nella directory /opt. È possibile scegliere di eseguire l'installazione in una directory a scelta nella directory /opt.
Java JDK installato
Aggiungere java/bin nella variabile di ambiente PATH.
Database Microsoft SQL Server
Un database ThingWorx configurato con le impostazioni riportate di seguito.
Impostare la proprietà Collate su Latin1_General_100_CS_AS_SC.
Impostare le proprietà seguenti su ON:
READ_COMMITTED_SNAPSHOT
ALLOW_SNAPSHOT_ISOLATION
Accesso per Microsoft SQL Server con l'autenticazione SQL Server
La password per questo accesso è la password di accesso al database ThingWorx.
Un utente del database per questo accesso configurato come proprietario e all'interno del ruolo pubblico.
L'host in cui deve essere installato ThingWorx Foundation deve avere accesso a Microsoft SQL Server.
Un client Microsoft SQL valido (sqlcmd) installato e disponibile nella variabile di ambiente PATH.
Un utente Microsoft SQL con diritti di amministratore.
Installare sqlcmd.
Dopo l'installazione, eseguire il comando seguente:
ln -s /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd
C.) Prerequisiti per l'attivazione di SSL/TLS nel programma di installazione: creazione di un keystore 
Nella schermata Proprietà di ThingWorx Foundation del programma di installazione la casella di controllo Utilizza SSL/TLS per una connessione protetta è selezionata per default. È possibile disattivare l'utilizzo di SSL/TLS nel programma di installazione deselezionando questa casella di controllo. Se si sceglie di mantenere l'impostazione di default e si utilizza SSL/TLS, è necessario generare un file Java keystore (. JKS) prima di eseguire il programma di installazione. Il file Java keystore (.jks) deve essere dotato dei permessi di protezione riportati di seguito.
Per il file keystore devono essere stati concessi i permessi di Lettura, scrittura ed esecuzione al proprietario e al gruppo dell'utente Amministratore (ad esempio l'utente root).
Il file keystore deve inoltre essere accessibile in base ai permessi delle directory padre. Per la directory contenente il file keystore deve essere stato concesso il permesso di Esecuzione per altri utenti, che consente l'accesso alle cartelle e ai relativi file ad altri utenti, oltre che ai profili gruppo e proprietario. Il permesso di Esecuzione per la directory consente a Tomcat di accedere ai file e alle cartelle per leggere il file keystore.
È possibile generare un keystore in diversi modi, tra cui il metodo riportato di seguito.
1. Passare a Java/bin.
2. Per creare il file keystore Tomcat (file .jks), eseguire il comando seguente: keytool -genkey -alias selfsigned -keyalg RSA -keystore keyStore.jks -keysize 2048 -storetype jks
3. Immettere una password per il keystore. Questa password sarà necessaria in un secondo momento per configurare il server.
* 
La password non può contenere o essere racchiusa tra virgolette singole ('), virgolette doppie ('') o sezione (§).
4. Quando richiesto, immettere il nome di dominio per il server. Ad esempio, myserver.mycompany.com.
5. Immettere gli altri valori, ad esempio l'unità organizzativa e l'organizzazione.
6. Quando richiesto, immettere la password keystore.
D.) Prerequisiti per l'esecuzione del programma di installazione su Red Hat Enterprise Linux 9.0 
Quando il programma di installazione viene eseguito in modalità GUI per Red Hat 9.0, è necessario che siano installate le dipendenze per supportare l'interfaccia grafica del programma di installazione. Prima di eseguire il programma di installazione, verificare che nell'ambiente sia installato il pacchetto gtk2. Per verificare se il pacchetto esiste nel sistema operativo, eseguire il comando seguente:
$ rpm -q gtk2
Se il pacchetto è installato, l'output deve corrispondere al nome del pacchetto installato. Se il pacchetto non è installato nell'ambiente, l'output sarà il seguente:
"package gtk2 is not installed"
E.) Installazione di ThingWorx Foundation in Linux 
1. Verificare che siano soddisfatti i prerequisiti descritti nelle sezioni precedenti.
* 
Se si installa ThingWorx in una macchina virtuale Azure, vedere la sezione G, Funzioni di installazione aggiuntive e risoluzione dei problemi.
2. Per PostgreSQL, dal sito support.ptc.com, in Scarica il software > Order or Download Software Updates > ThingWorx Foundation > Release <ultima> > ThingWorx PostgreSQL > Most Recent Datecode, scaricare il file ThingWorx-Platform-Foundation-Installer-x-x-x-Linux-postgres.
OPPURE
Per Microsoft SQL Server, dal sito support.ptc.com, in Scarica il software > Order or Download Software Updates > ThingWorx Foundation > Release <ultima> > ThingWorx Mssql > Most Recent Datecode, scaricare il file ThingWorx-Platform-Foundation-Installer-x–x-x-Linux-mssql.
3. Estrarre la build.
4. Per PostgreSQL, eseguire il file ThingWorxFoundationPostgres-x.x.x-x86_64.run.
OPPURE
Per Microsoft SQL Server, eseguire il file ThingWorxFoundationMSSQL-x.x.x-x86_64.run.
5. Completare la procedura guidata del programma di installazione.
* 
Nella schermata Proprietà di ThingWorx Foundation la casella di controllo Utilizza SSL/TLS per una connessione protetta è selezionata per default. È possibile disattivare l'utilizzo di SSL/TLS nel programma di installazione deselezionando questa casella di controllo. Se si sceglie di utilizzare SSL/TLS, immettere i valori del keystore generati nei prerequisiti indicati in precedenza.
* 
Se si prova a installare ThingWorx Foundation al di fuori della directory /opt, è possibile che l'installazione non riesca. RHEL applica restrizioni di sicurezza per i sistemi operativi, che non sono controllate dal programma di installazione. In questo caso, è necessario eseguire l'installazione nella directory /opt.
6. Nell'ultima schermata del programma di installazione la casella di controllo Open License Configurator è selezionata per default. Se questa casella di controllo è selezionata, dopo il completamento e la chiusura del programma di installazione si apre il Configuratore licenza. Se si deseleziona la casella di controllo Open License Configurator, il programma di installazione viene chiuso e il Configuratore licenza non si apre automaticamente.
a. Fare clic su Next nella schermata Setup : Configure licensing for ThingworxFoundation for Postgres o Setup : Configure licensing for ThingworxFoundation for Mssql.
b. Utilizzare License Configurator per connettersi a PTC License Server o configurare ThingWorx Foundation per utilizzare la licenza prescaricata.
c. Completare la procedura guidata per la configurazione della licenza.
7. L'installazione di ThingWorx Foundation è completata e si può iniziare a utilizzarlo.
F.) Connessione al server ThingWorx Foundation 
1. Accedere all'URL di ThingWorx Foundation.
Ad esempio: https://<nomehost>:<porta>/Thingworx/Composer.
L'URL di ThingWorx Foundation sarà diverso a seconda della configurazione del protocollo SSL o non SSL e delle porte utilizzate durante l'installazione. SSL è attivato per default, tuttavia è possibile disattivare l'utilizzo di SSL/TLS. Vedere la sezione Prerequisiti per l'attivazione di SSL/TLS nel programma di installazione sopra.
2. Fornire le credenziali dell'utente.
Il nome utente è Administrator e la password è quella immessa durante l'installazione.
G.) Funzioni di installazione aggiuntive e risoluzione dei problemi 
Avvio o arresto dei servizi ThingWorx Foundation in Linux
1. Accedere all'host ThingWorx come utente con diritti di amministratore (eseguire sudo).
2. Per avviare i servizi, immettere sudo systemctl start ThingWorx-Foundation.
3. Per arrestare i servizi, immettere sudo systemctl stop ThingWorx-Foundation.
File di log del programma di installazione
Log di installazione:
${installdir}/installer/logs/ThingWorxFoundation_install.log
Ad esempio: /opt/ThingWorxFoundation/installer/logs/ThingWorxFoundation_install.log.
Log di esecuzione:
${installdir}/ThingworxStorage/logs/
Ad esempio: /opt/ThingWorxFoundation/ThingworxStorage/logs/.
Per interruzione o errore:
${system_temp_directory}/ThingWorxFoundation_Failed_installs/
Ad esempio: /tmp/ThingWorxFoundation_Failed_installs/.
Log di disinstallazione:
${system_temp_directory}/bitrock_installer_(pid).log
Il nome del file di log ha il prefisso bitrock. Ad esempio: /tmp/bitrock_installer_3008.log.
Disinstallazione di un'installazione basata sul programma di installazione di ThingWorx Foundation
1. Passare alla posizione di installazione di ThingWorx Foundation.
2. Eseguire il file ThingWorxFoundation_uninstall.dat.
3. Quando richiesto, fare clic su OK per confermare che si desidera continuare con la disinstallazione.
4. Al termine della disinstallazione, il programma di installazione viene eliminato.
Eliminazione del database ThingWorx da PostgreSQL
1. Dalla riga di comando in Linux aprire una connessione al database PostgreSQL.
Ad esempio, immettere psql -U admin -h dbhost.
2. Se si utilizza il nome del database di default, eseguire il comando DROP DATABASE thingworx;.
Se invece il nome del database è stato personalizzato, eseguire il comando DROP DATABASE <your database name>;.
Eliminazione del database ThingWorx da Microsoft SQL
1. Dalla riga di comando in Linux aprire una connessione al database Microsoft SQL.
Ad esempio, immettere sqlcmd -U admin -s ‘dbhost\dbservicename,port’.
2. Se si utilizza il nome del database di default, eseguire il comando DROP DATABASE thingworx; GO;.
Se invece il nome del database è stato personalizzato, eseguire il comando DROP DATABASE <your database name>; GO;.
Aggiornamento a Java 11 per ThingWorx 9.0 e 9.1
Se è stato utilizzato il programma di installazione per installare o aggiornare ThingWorx 9.0.x o 9.1.x con Java 8 e si desidera utilizzare Java 11.0.8, attenersi alla procedura descritta di seguito.
1. Installare Java 11.
2. Copiare il percorso della directory di installazione di Java 11 nel percorso dell'eseguibile Java.
* 
È possibile eseguire alternatives --display java | grep 'family java-11' | cut -d' ' -f1. L'output deve mostrare il percorso dell'eseguibile Java, ad esempio: /usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64/bin/java. Qui è stato copiato /usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64, che viene utilizzato per configurare il servizio ThingWorx-Foundation.
3. Arrestare il servizio ThingWorx-Foundation utilizzando systemctl stop ThingWorx-Foundation.service.
4. Eseguire il backup del servizio ThingWorx-Foundation. Ad esempio: /etc/systemd/system/ThingWorx-Foundation.service.backup.
5. Per modificare la configurazione del servizio ThingWorx-Foundation, modificare l'ambiente ThingWorx-Foundation.service come descritto di seguito.
a. In JAVA_HOME puntare alla directory di installazione di Java 11. Ad esempio: Environment='JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64'.
b. In CATALINA_OPTS rimuovere quanto segue.
-XX:+UseG1GC
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-Xloggc:${CATALINA_HOME}/logs/tomcat-twx-gc.log
${CATALINA_HOME} si riferisce alla directory Tomcat.
c. Copiare il percorso della directory di installazione per ThingWorx Foundation. Ad esempio: /opt/ThingWorxFoundation.
d. In CATALINA_OPTS aggiungere quanto segue:
-Xlog:gc:file=/opt/ThingWorxFoundation/tomcat/current/logs/gc.log:time,level,tags
Assicurarsi che non siano presenti spazi nella stringa del parametro, perché in quel caso Tomcat non utilizzerà Java.
6. Eseguire le operazioni descritte di seguito.
# systemctl daemon-reload
7. Avviare il servizio ThingWorx-Foundation utilizzando systemctl start ThingWorx-Foundation.service.
8. Nel file Application.log verificare che la versione di Java sia 11:
[L: INFO] [O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] ========================================
[L: INFO] [O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] ========================================
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] ThingWorx System Environment Settings
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] ========================================
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] OS: Linux
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] OS arch: amd64
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] OS version: 4.18.0-193.6.3.el8_2.x86_64
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] Total Processors: 2
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] Default encoding: UTF-8
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] JAVA vendor: N/A
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] JAVA version: 11.0.8
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] JAVA install location: /usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] JVM Max Memory: 2048 (MB)
[O: c.t.s.ThingWorxServer] [I: ] [U: SuperUser] [S: ] [P: ] [T: main] ========================================
9. Rimuovere il file ThingWorx-Foundation.service.backup di backup.
Installazione di ThingWorx in una macchina virtuale Azure
Per gli utenti che si stanno preparando a installare ThingWorx in una macchina virtuale Azure, potrebbe verificarsi il seguente errore:
Script stderr:
Errors during downloading metadata for repository 'rhel-8-for-x86_64-baseos-eus-rhui-rpms':
- Curl error (56): Failure when receiving data from the peer for https://rhui-3.microsoft.com/pulp/repos/content/eus/rhel8/rhui/8.2/x86_64/baseos/os/repodata/repomd.xml [OpenSSL SSL_read: error:14094415:SSL routines:ssl3_read_bytes:sslv3 alert certificate expi red, errno 0]
- Curl error (56): Failure when receiving data from the peer for https://rhui-1.microsoft.com/pulp/repos/content/eus/rhel8/rhui/8.2/x86_64/baseos/os/repodata/repomd.xml [OpenSSL SSL_read: error:14094415:SSL routines:ssl3_read_bytes:sslv3 alert certificate expi red, errno 0]
- Curl error (56): Failure when receiving data from the peer for https://rhui-2.microsoft.com/pulp/repos/content/eus/rhel8/rhui/8.2/x86_64/baseos/os/repodata/repomd.xml [OpenSSL SSL_read: error:14094415:SSL routines:ssl3_read_bytes:sslv3 alert certificate expi red, errno 0]
Error: Failed to download metadata for repo 'rhel-8-for-x86_64-baseos-eus-rhui-rpms': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
In tal caso, è necessario innanzitutto disattivare la ricerca dei metadati del pacchetto prima dell'installazione eseguendo il comando seguente:
dnf update --disablerepo=* --enablerepo='*microsoft*' rhui-azure-rhel8-eus
.
È stato utile?