Installation und Upgrade > ThingWorx installieren > ThingWorx Foundation Installationsprogramm > ThingWorx Foundation Installationsprogramm für Linux
ThingWorx Foundation Installationsprogramm für Linux
A.) Voraussetzungen für Linux-Installationsprogramm mit PostgreSQL 
* 
Wird während dieses Prozesses eine vorhandene Installation gefunden, führt das Installationsprogramm ein Upgrade für ThingWorx Foundation durch. Weitere Informationen finden Sie unter Installationsprogramm verwenden, um Upgrade für ThingWorx Foundation durchzuführen.
Sie haben die Informationen gelesen und sich mit den allgemeinen Voraussetzungen vertraut gemacht, die im Hilfethema ThingWorx Foundation Installationsprogramm beschrieben sind.
Sie benötigen Folgendes, um das ThingWorx Foundation Installationsprogramm für Linux mit PostgreSQL auszuführen: Informationen zu unterstützten Versionen finden Sie unter Systemanforderungen.
Java 11 installiert
* 
Java 11 ist für 9.2.0 und höher erforderlich.
Legen Sie die Variable JAVA_HOME auf das Installationsverzeichnis von Java 11 fest.
Red Hat Enterprise Linux (RHEL) mit Administratorzugriff
* 
RHEL 8.2 weist eine verbesserte Sicherheitshärtung auf. Installationen von ThingWorx Foundation unter RHEL 8.2, die das Installationsprogramm verwenden, sollten sich im Verzeichnis \opt befinden, um Probleme mit Berechtigungen zu vermeiden. Unter dem Verzeichnis \opt können Sie in einem Verzeichnis Ihrer Wahl installieren.
Java JDK muss installiert sein.
Hängen Sie java/bin an die Umgebungsvariable PATH an.
PostgreSQL-Datenbank
Eine lokale oder Remote-Datenbankverbindung. In der folgenden Tabelle sind die anwendbaren Voraussetzungen aufgeführt:
Datenbankverbindung
Voraussetzungen
Lokal
Der Host, auf dem ThingWorx Foundation installiert werden soll, muss Zugriff auf einen PostgreSQL-Server haben.
PostgreSQL muss installiert und der Pfad zu PostgreSQL/bin sollte in der Umgebungsvariablen PATH enthalten sein.
ThingWorx Datenbank, die für Verbindungen konfiguriert und deren Kodierung auf "UTF-8" festgelegt ist
Die Datenbankeigenschaft Connection_LIMIT muss auf -1 festgelegt sein. Dies ist der Standardwert, der eine unbegrenzte Anzahl von Verbindungen zur Datenbank für alle authentifizierten Benutzer erlaubt.
Datenbankbenutzer, der als Besitzer der ThingWorx Datenbank konfiguriert ist und für den gilt:
Diesem Benutzer wurden alle Rechte für die ThingWorx Datenbank gewährt.
Die Eigenschaft can login ist auf yes festgelegt.
Dieser Datenbankbenutzer wird im Installationsprogramm als Benutzername für die ThingWorx Datenbank eingetragen.
Sie lassen Verbindungen zu PostgreSQL vom ThingWorx Foundation Host zu, indem Sie die Datei pg_hba.conf aktualisieren.
Wenn ThingWorx Foundation beispielsweise auf dem gleichen Host wie PostgreSQL installiert ist, können Sie die Datei pg_hba.conf aktualisieren, um die Passwort-Authentifizierungsmethode auf md5, password oder trust festzulegen. Die Festlegung auf trust wird jedoch nicht empfohlen. Weitere Informationen zur Datei pg_hba.conf und zu Passwort-Authentifizierungsmethoden finden Sie auf der Website "PostgreSQL.org".
Im Folgenden finden Sie ein Beispiel für die Datei pg_hba.conf, bei der die Passwortauthentifizierung auf md5 festgelegt ist:
$ 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
Remote
Installieren Sie den psql-Client, der mit Ihrer PostgreSQL-Version kompatibel ist. Sie können den folgenden Befehl ausführen, um den psql-Client zu installieren:
yum install rh-postgresql96-postgresql-syspaths
B.) Voraussetzungen für Linux-Installationsprogramm mit SQL Server 
* 
Wird während dieses Prozesses eine vorhandene Installation gefunden, führt das Installationsprogramm ein Upgrade für ThingWorx Foundation durch. Weitere Informationen finden Sie unter Installationsprogramm verwenden, um Upgrade für ThingWorx Foundation durchzuführen.
Sie benötigen Folgendes, um das ThingWorx Foundation Installationsprogramm für Linux mit Microsoft SQL Server auszuführen: Informationen zu unterstützten Versionen finden Sie unter Systemanforderungen.
Java 11 installiert
* 
Java 11 ist für 9.2.0 und höher erforderlich.
Legen Sie die Variable JAVA_HOME auf das Installationsverzeichnis von Java 11 fest.
Red Hat Enterprise Linux (RHEL) mit Administratorzugriff
* 
RHEL 8.2 weist eine verbesserte Sicherheitshärtung auf. Installationen von ThingWorx Foundation unter RHEL 8.2, die das Installationsprogramm verwenden, sollten sich im Verzeichnis \opt befinden, um Probleme mit Berechtigungen zu vermeiden. Unter dem Verzeichnis \opt können Sie in einem Verzeichnis Ihrer Wahl installieren.
Java JDK muss installiert sein.
Hängen Sie java/bin an die Umgebungsvariable PATH an.
Microsoft SQL Server-Datenbank
Eine ThingWorx Datenbank, deren Einstellungen wie folgt zu konfigurieren sind:
Legen Sie die Eigenschaft Collate auf Latin1_General_100_CS_AS_SC fest.
Legen Sie die folgenden Eigenschaften auf ON fest:
READ_COMMITTED_SNAPSHOT
ALLOW_SNAPSHOT_ISOLATION
Anmeldeinformationen für Microsoft SQL Server mit SQL Server-Authentifizierung
Das Passwort dieser Anmeldeinformationen ist das Passwort für die Anmeldung bei der ThingWorx Datenbank.
Ein Datenbankbenutzer für diese Anmeldeinformationen, der als Besitzer konfiguriert ist und dem eine öffentliche Rolle zugewiesen ist
Der Host, auf dem ThingWorx Foundation installiert werden soll, muss Zugriff auf Microsoft SQL Server haben.
Es ist ein gültiger Microsoft SQL-Client installiert (sqlcmd) und unter der Umgebungsvariable PATH verfügbar.
Ein Microsoft SQL-Benutzer mit Administratorrechten
Installieren Sie sqlcmd.
Führen Sie nach der Installation den folgenden Befehl aus:
ln -s /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd
C.) Voraussetzungen für die Aktivierung von SSL/TLS im Installationsprogramm: Keystore erstellen 
Im Bildschirm Eigenschaften für ThingWorx Foundation im Installationsprogramm ist das Kontrollkästchen SSL/TLS für eine sichere Verbindung verwenden standardmäßig aktiviert. Sie können die Verwendung von SSL/TLS im Installationsprogramm deaktivieren, indem Sie dieses Kontrollkästchen deaktivieren. Wenn Sie die Standardeinstellung beibehalten und SSL/TLS verwenden, müssen Sie vor dem Ausführen des Installationsprogramms eine Java Keystore-Datei (.jks) generieren. Die Java Keystore-Datei (.jks) muss über die folgenden Sicherheitsberechtigungen verfügen:
In der Keystore-Datei müssen die Berechtigungen Lesen & Schreiben &Ausführen für den Besitzer und die Gruppe des Benutzers Administrator gewährt sein (z.B. Benutzer root).
Die Keystore-Datei muss außerdem auf Grundlage der Berechtigungen ihrer Eltern-Verzeichnisse zugänglich sein. Das Verzeichnis mit der Keystore-Datei muss über die Berechtigung Ausführen für andere Benutzer verfügen, sodass Benutzer außer den Besitzer- und Gruppenprofilen auf Ordner und deren Dateien zugreifen können. Die Berechtigung Ausführen für das Verzeichnis ermöglicht Tomcat den Zugriff auf die Dateien und Ordner, sodass Tomcat die Keystore-Datei lesen kann.
Es gibt mehrere Möglichkeiten, einen Keystore zu generieren. Eine Möglichkeit lautet wie folgt:
1. Gehen Sie zu Java/bin.
2. Führen Sie den folgenden Befehl aus, um die Tomcat-Keystore-Datei (JKS-Datei) zu erstellen: keytool -genkey -alias selfsigned -keyalg RSA -keystore keyStore.jks -keysize 2048 -storetype jks .
3. Geben Sie ein Passwort für den Keystore ein. Sie benötigen dieses Passwort später, um den Server zu konfigurieren.
* 
Das Passwort darf keine einfachen Anführungszeichen ('), doppelten Anführungszeichen ('') oder Paragrafenzeichen (§) enthalten oder in diese eingeschlossen sein.
4. Geben Sie bei Aufforderung den Domänennamen des Servers ein. Beispiel: myserver.mycompany.com.
5. Geben Sie die anderen Werte ein, beispielsweise die Organisationseinheit und die Organisation.
6. Geben Sie bei Aufforderung das Keystore-Passwort ein.
D.) Voraussetzungen für die Ausführung des Installationsprogramms über Red Hat Enterprise Linux 9.0 
Wenn das Installationsprogramm über Red Hat 9.0 im GUI-Modus ausgeführt wird, müssen Abhängigkeiten installiert sein, damit die grafische Benutzeroberfläche des Installationsprogramms unterstützt wird. Bevor Sie das Installationsprogramm ausführen, überprüfen Sie, ob das gtk2-Paket in der Umgebung installiert ist. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob das Paket im Betriebssystem vorhanden ist:
$ rpm -q gtk2
Wenn das Paket installiert ist, sollte bei der Ausgabe der installierte Paketname angegeben werden. Wenn das Paket nicht in der Umgebung installiert ist, lautet die Ausgabe wie folgt:
"package gtk2 is not installed"
E.) ThingWorx Foundation unter Linux installieren 
1. Stellen Sie sicher, dass die in den obigen Abschnitten beschriebenen Voraussetzungen erfüllt sind.
* 
Informationen zur Installation von ThingWorx auf einer Azure-VM finden Sie in Abschnitt G, "Weitere Installationsprogramm-Funktionen und Fehlerbehebung".
2. Laden Sie für PostgreSQL auf der Seite support.ptc.com unter Software herunterladen > Software-Aktualisierungen bestellen oder herunterladen > ThingWorx Foundation > Release <neueste> > ThingWorx PostgreSQL > Neuester Datumscode die Datei ThingWorx-Platform-Foundation-Installer-x-x-x-Linux-postgres herunter.
ODER
Laden Sie für Microsoft SQL Server auf der Seite support.ptc.com unter Software herunterladen > Software-Aktualisierungen bestellen oder herunterladen > ThingWorx Foundation > Release <neueste> > ThingWorx Mssql > Neuester Datumscode die Datei ThingWorx-Platform-Foundation-Installer-x–x-x-Linux-mssql herunter.
3. Extrahieren Sie den Build.
4. Führen Sie für PostgreSQL die Datei ThingWorxFoundationPostgres-x.x.x-x86_64.run aus.
ODER
Führen Sie für Microsoft SQL Server die Datei ThingWorxFoundationMSSQL-x.x.x-x86_64.run aus.
5. Gehen Sie durch die Schritte des Installationsprogramms.
* 
Im Bildschirm Eigenschaften für ThingWorx Foundation ist das Kontrollkästchen SSL/TLS für eine sichere Verbindung verwenden standardmäßig aktiviert. Sie können die Verwendung von SSL/TLS im Installationsprogramm deaktivieren, indem Sie dieses Kontrollkästchen deaktivieren. Wenn Sie SSL/TLS verwenden möchten, geben Sie die Keystore-Werte ein, die Sie entsprechend den oben aufgeführten Voraussetzungen generiert haben.
* 
Wenn Sie versuchen, ThingWorx Foundation außerhalb des Verzeichnisses /opt zu installieren, ist die Installation möglicherweise nicht erfolgreich. RHEL erzwingt Sicherheitseinschränkungen für Betriebssysteme, die außerhalb der Kontrolle des Installationsprogramms sind. Wenn dies geschieht, sollten Sie im Verzeichnis /opt installieren.
6. Im letzten Installationsfenster ist das Kontrollkästchen Open License Configurator standardmäßig aktiviert. Wenn dieses Kontrollkästchen aktiviert ist, wird der Licence Configurator geöffnet, nachdem das Installationsprogramm abgeschlossen und geschlossen wurde. Wenn Sie das Kontrollkästchen Open License Configurator deaktivieren, wird das Installationsprogramm geschlossen und der License Configurator nicht automatisch geöffnet.
a. Klicken Sie auf dem Bildschirm Setup : Configure licensing for ThingworxFoundation for Postgres oder Setup : Configure licensing for ThingworxFoundation for Mssql auf Weiter.
b. Verwenden Sie den Lizenzkonfigurator, um eine Verbindung zum PTC Lizenzserver herzustellen oder konfigurieren Sie ThingWorx Foundation so, dass es die bereits heruntergeladene Lizenz verwendet.
c. Gehen Sie durch die Schritte für die Lizenz.
7. Die ThingWorx Foundation Installation ist abgeschlossen und Sie können ThingWorx Foundation jetzt verwenden.
F.) Verbindung zum ThingWorx Foundation Server 
1. Greifen Sie auf die ThingWorx Foundation URL zu.
Beispiel: https://<Hostname>:<Port>/Thingworx/Composer.
Die ThingWorx Foundation URL ist unterschiedlich, je nachdem, ob die Konfiguration für SSL oder nicht für SSL ausgeführt wurde und welche Ports während des Setups verwendet wurden. SSL ist standardmäßig aktiviert. Sie können jedoch die Verwendung von SSL/TLS deaktivieren. Weitere Informationen finden Sie weiter oben im Abschnitt Voraussetzungen für die Aktivierung von SSL/TLS im Installationsprogramm.
2. Geben Sie Ihre Benutzeranmeldeinformationen ein.
Der Benutzername ist Administrator und das Passwort ist das Passwort, das während des Setups verwendet wurde.
G.) Weitere Installationsprogramm-Funktionen und Fehlerbehebung 
ThingWorx Foundation Dienste auf Linux starten oder anhalten
1. Melden Sie sich auf dem ThingWorx Host als Benutzer mit Administratorrechten (führen Sie sudo aus) an.
2. Geben Sie sudo systemctl start ThingWorx-Foundation ein, um die Dienste zu starten.
3. Geben Sie sudo systemctl stop ThingWorx-Foundation ein, um die Dienste anzuhalten.
Protokolldateien des Installationsprogramms
Installationsprotokolle:
${installdir}/installer/logs/ThingWorxFoundation_install.log
Beispiel: /opt/ThingWorxFoundation/installer/logs/ThingWorxFoundation_install.log.
Laufzeitprotokolle:
${installdir}/ThingworxStorage/logs/
Beispiel: /opt/ThingWorxFoundation/ThingworxStorage/logs/.
Bei Abbruch oder Fehler:
${system_temp_directory}/ThingWorxFoundation_Failed_installs/
Beispiel: /tmp/ThingWorxFoundation_Failed_installs/.
Deinstallation von Protokollen:
${system_temp_directory}/bitrock_installer_(pid).log
Der Name der Protokolldatei hat das Präfix bitrock. Beispiel: /tmp/bitrock_installer_3008.log.
Per Installationsprogramm installierte ThingWorx Foundation Installationen deinstallieren
1. Navigieren Sie zum Installationsspeicherort von ThingWorx Foundation.
2. Führen Sie ThingWorxFoundation_uninstall.dat aus.
3. Klicken Sie bei der entsprechenden Aufforderung auf OK, um zu bestätigen, dass Sie mit der Deinstallation fortfahren möchten.
4. Nach Abschluss der Deinstallation ist das Setup gelöscht.
ThingWorx Datenbank aus PostgreSQL löschen
1. Öffnen Sie über die Befehlszeilenschnittstelle in Linux eine Verbindung zur PostgreSQL-Datenbank.
Geben Sie z.B. psql -U admin -h dbhost ein.
2. Wenn Sie den standardmäßigen Datenbanknamen verwenden, führen Sie den Befehl DROP DATABASE thingworx; aus.
Wenn Sie den Datenbanknamen angepasst haben, führen Sie den Befehl DROP DATABASE <your database name>; aus.
ThingWorx Datenbank aus Microsoft SQL löschen
1. Öffnen Sie über die Befehlszeilenschnittstelle in Linux eine Verbindung zur Microsoft SQL-Datenbank.
Geben Sie z.B. sqlcmd -U admin -s ‘dbhost\dbservicename,port’ ein.
2. Wenn Sie den standardmäßigen Datenbanknamen verwenden, führen Sie den Befehl DROP DATABASE thingworx; GO; aus.
Wenn Sie den Datenbanknamen angepasst haben, führen Sie den Befehl DROP DATABASE <your database name>; GO; aus.
Upgrade auf Java 11 durchführen für ThingWorx 9.0 und 9.1
Wenn Sie das Installationsprogramm verwendet haben, um ThingWorx 9.0.x oder 9.1.x mit Java 8 zu installieren oder zu aktualisieren und Java 11.0.8 verwenden möchten, führen Sie die folgenden Schritte aus:
1. Installieren Sie Java 11.
2. Kopieren Sie den Pfad des Java 11-Installationsverzeichnisses unter dem Speicherort der ausführbaren Java-Datei.
* 
Sie können alternatives --display java | grep 'family java-11' | cut -d' ' -f1 ausführen. Die Ausgabe sollte den Speicherort der ausführbaren Java-Datei zeigen, z.B.: /usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64/bin/java. Hier haben Sie /usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64 kopiert; damit wird der Dienst ThingWorx-Foundation konfiguriert.
3. Halten Sie den Dienst ThingWorx-Foundation mit systemctl stop ThingWorx-Foundation.service an.
4. Sichern Sie den Dienst ThingWorx-Foundation. Beispiel: /etc/systemd/system/ThingWorx-Foundation.service.backup.
5. Um die Dienstkonfiguration von ThingWorx-Foundation zu bearbeiten, ändern Sie die Umgebung ThingWorx-Foundation.service wie folgt:
a. Verweisen Sie in JAVA_HOME auf das Installationsverzeichnis von Java 11. Beispiel: Environment='JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64'.
b. Entfernen Sie in CATALINA_OPTS die folgenden Elemente:
-XX:+UseG1GC
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-Xloggc:${CATALINA_HOME}/logs/tomcat-twx-gc.log
${CATALINA_HOME} verweist auf das Tomcat-Verzeichnis.
c. Kopieren Sie den Pfad des Installationsverzeichnisses für ThingWorx Foundation. Beispiel: /opt/ThingWorxFoundation.
d. Fügen Sie Folgendes zu CATALINA_OPTS hinzu:
-Xlog:gc:file=/opt/ThingWorxFoundation/tomcat/current/logs/gc.log:time,level,tags
Stellen Sie sicher, dass die Parameterzeichenfolge keine Leerzeichen enthält, da Tomcat Java sonst nicht verwenden kann.
6. Führen Sie Folgendes aus:
# systemctl daemon-reload
7. Starten Sie den Dienst ThingWorx-Foundation mit systemctl start ThingWorx-Foundation.service.
8. Überprüfen Sie in der Datei Application.log, ob Java Version 11 verwendet wird:
[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. Entfernen Sie die Sicherung ThingWorx-Foundation.service.backup.
ThingWorx auf einer Azure-VM installieren
Wenn Benutzer die Installation von ThingWorx auf einer Azure-VM vorbereiten, tritt möglicherweise folgender Fehler auf:
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
Sollte dieser Fehler auftreten, so müssen Sie zuerst das Lookup der Paketmetadaten deaktivieren, bevor Sie die Installation ausführen, indem Sie den folgenden Befehl ausführen:
dnf update --disablerepo=* --enablerepo='*microsoft*' rhui-azure-rhel8-eus
War dies hilfreich?