• 要在使用 PostgreSQL 的环境中运行面向 Linux 的 ThingWorx Foundation 安装程序,就必须满足以下条件。有关受支持版本的信息,请参阅
系统要求。
◦ 已安装 Java 11
| 对于 9.2.0 及更高版本,Java 11 为必需。 • 将 JAVA_HOME 变量设置为使用 Java 11 安装目录。 |
◦ 具有管理员访问权限的 Red Hat Enterprise Linux (RHEL)
| RHEL 8.2 的安全性强化功能已增强。使用安装程序在 RHEL 8.2 上安装 ThingWorx Foundation 时,为避免出现权限问题,应安装在 /opt 目录下。您可以选择安装在 /opt 目录下的所选目录中。 |
◦ 已安装 Java JDK
将 java/bin 附加到 PATH 环境变量。
◦ PostgreSQL 数据库
◦ 已建立本地或远程数据库连接。下表列出了适用的先决条件:
数据库连接 | 先决条件 |
---|
本地 | • 用于安装 ThingWorx Foundation 的主机必须有权访问 PostgreSQL 服务器。 • 必须已安装 PostgreSQL,且 PostgreSQL/bin 的路径应包含在 PATH 环境变量中。 • 已配置 ThingWorx 数据库,允许连接,并将编码设置为 UTF-8 数据库属性 Connection_LIMIT 必须设置为 -1,作为默认值,并允许所有通过身份验证的用户对数据库进行无限制连接。 • 将数据库用户配置为 ThingWorx 数据库的所有者,配置所示: ◦ 在 ThingWorx 数据库上授予该用户的所有权限。 ◦ can login 属性设置为 yes。 此数据库用户将作为安装程序中的 ThingWorx 数据库用户名输入。 • 允许通过更新 pg_hba.conf 文件在 PostgreSQL 与 ThingWorx Foundation 主机之间创建连接。 例如,如果 ThingWorx Foundation 与 PostgreSQL 安装在同一台主机上,则可以更新 pg_hba.conf 文件,以将密码身份验证方法设置为 md5、 password 或 trust。但是,不建议将其设置为 trust。有关 pg_hba.conf 文件和密码身份验证方法的详细信息,请参阅 PostgreSQL.org 网站。 以下是将密码身份验证设置为 md5 的 pg_hba.conf 文件的示例: $ 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 |
远程 | • 安装与 PostgreSQL 版本兼容的 psql 客户端。您可以运行以下命令来安装 psql 客户端: yum install rh-postgresql96-postgresql-syspaths |
要在使用 Microsoft SQL Server 的环境中运行面向 Linux 的 ThingWorx Foundation 安装程序,就必须满足以下条件。有关受支持版本的信息,请参阅
系统要求。
• 已安装 Java 11
| 对于 9.2.0 及更高版本,Java 11 为必需。 |
◦ 将 JAVA_HOME 变量设置为使用 Java 11 安装目录。
• 具有管理员访问权限的 Red Hat Enterprise Linux (RHEL)
| RHEL 8.2 的安全性强化功能已增强。使用安装程序在 RHEL 8.2 上安装 ThingWorx Foundation 时,为避免出现权限问题,应安装在 /opt 目录下。您可以选择安装在 /opt 目录下的所选目录中。 |
• 已安装 Java JDK
将 java/bin 附加到 PATH 环境变量。
• Microsoft SQL Server 数据库
• 使用以下设置配置的 ThingWorx 数据库:
◦ 将 Collate 特性设置为 Latin1_General_100_CS_AS_SC。
◦ 将以下属性设置为 ON:
▪ READ_COMMITTED_SNAPSHOT
▪ ALLOW_SNAPSHOT_ISOLATION
• 具有 SQL Server 身份验证的 Microsoft SQL Server 登录
此登录的密码为 ThingWorx 数据库登录密码。
◦ 此登录的数据库用户已配置为所有者,并且属于公共角色。
• 用于安装 ThingWorx Foundation 的主机必须有权访问 Microsoft SQL Server。
• 有效的 Microsoft SQL 客户端已安装 (sqlcmd),并且包括在 PATH 环境变量中。
• Microsoft SQL 用户具有管理员权限。
• 安装 sqlcmd。
安装完成后,运行以下命令:
ln -s /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd
在安装程序的“ThingWorx Foundation 属性”屏幕中,默认情况下会选中“使用 SSL/TLS 以提供安全连接”复选框。通过清除此复选框,可以禁用安装程序中 SSL/TLS 的使用。如果选取保留默认设置并使用 SSL/TLS,则必须在运行安装程序之前生成 Java keystore (.jks) 文件。Java keystore (.jks) 文件必须具有以下安全权限:
• keystore 文件必须将 Read & Write & Execute 权限授予 Administrator 用户的所有者和组 (例如 root 用户)。
此外,必须可根据 keystore 文件父项目录的权限对其进行访问。包含 keystore 文件的目录必须具有 other users 的 Execute 权限,从而允许除所有者和组配置文件之外的用户访问文件夹及文件夹中所包含的文件。目录上的 Execute 权限允许 Tomcat 访问文件和文件夹,因此 Tomcat 可读取 keystore 文件。
您可以通过多种方法来生成 keystore;一种方法如下所示:
1. 转至 Java/bin。
2. 要创建 Tomcat Keystore 文件 (.jks 文件),请执行以下命令:keytool -genkey -alias selfsigned -keyalg RSA -keystore keyStore.jks -keysize 2048 -storetype jks
3. 输入 keystore 的密码。您稍后将需要此密码来配置服务器。
| 密码不能包含或括在以下符号中:单引号 (')、双引号 (") 或分节符 (§)。 |
4. 出现提示时,输入服务器的域名。例如,myserver.mycompany.com。
5. 输入其他值,例如组织单位和组织。
6. 出现提示时,输入 keystore 密码。
在 Red Hat 9.0 上以 GUI 模式执行安装程序时,必须安装依存项以支持安装程序的图形界面。执行安装程序前,请验证系统环境中是否安装了 gtk2 工具包。要验证操作系统中是否存在此工具包,请执行以下命令:
$ rpm -q gtk2
如果已安装此工具包,则输出应为所安装的工具包名称。如果未在系统环境中安装此工具包,则输出如下:
"package gtk2 is not installed"
1. 确保满足上述各部分中所述的先决条件。
| 如果在 Azure VM 上安装 ThingWorx,请参阅 G 部分 - 其他安装程序功能和故障排除。 |
2. 对于 PostgreSQL,请前往
support.ptc.com 的 > > > > > ,下载
ThingWorx-Platform-Foundation-Installer-x-x-x-Linux-postgres。
或
对于 Microsoft SQL Server,请前往
support.ptc.com 的 > > > > > ,下载
ThingWorx-Platform-Foundation-Installer-x–x-x-Linux-mssql。
3. 解压缩安装程序。
4. 对于 PostgreSQL,请执行 ThingWorxFoundationPostgres-x.x.x-x86_64.run。
或
对于 Microsoft SQL Server,请执行 ThingWorxFoundationMSSQL-x.x.x-x86_64.run。
5. 逐步通过安装程序屏幕。
| 在“ThingWorx Foundation 属性”屏幕中,默认情况下会选中“使用 SSL/TLS 以提供安全连接”复选框。通过清除此复选框,可以禁用安装程序中 SSL/TLS 的使用。如果您选择使用 SSL/TLS,请输入在上述先决条件中生成的 Keystore 值。 |
| 如果尝试在 /opt 目录之外安装 ThingWorx Foundation,则安装可能不会成功。RHEL 会对操作系统强制实施安全限制,原因在于这些操作系统不在安装程序的控制范围之内。在这种情况下,应在 /opt 目录下进行安装。 |
6. 在上一安装程序屏幕上,默认会选中 Open License Configurator 复选框。如果选中此复选框,则许可证配置器会在安装程序完成并关闭后打开。如果取消选中 Open License Configurator 复选框,则安装程序会关闭,且许可证配置器不会自动打开。
a. 在 Setup : Configure licensing for ThingworxFoundation for Postgres 或 Setup : Configure licensing for ThingworxFoundation for Mssql 屏幕上,单击 Next。
b. 使用许可证配置器连接到 PTC 许可证服务器,或配置 ThingWorx Foundation 使用预先下载的许可证。
c. 逐步通过许可证屏幕。
7. ThingWorx Foundation 安装已完成,您现在可以使用 ThingWorx Foundation。
1. 访问 ThingWorx Foundation URL。
例如:https://<主机名>:<端口>/Thingworx/Composer。
根据您在安装期间使用的 SSL/非 SSL 和端口的配置,ThingWorx Foundation URL 将有所不同。默认情况下会启用 SSL;但是,您可以禁用 SSL/TLS。请参阅上文在安装程序中启用 SSL/TLS 的先决条件部分。
2. 提供用户登录凭据。
用户名为 Administrator,密码是在安装过程中输入的密码。
启动/停止 Linux 上的 ThingWorx Foundation 服务
1. 以具有管理权限 (执行 sudo) 的用户登录 ThingWorx 主机。
2. 要启动服务,请输入 sudo systemctl start ThingWorx-Foundation。
3. 要停止服务,请输入 sudo systemctl stop ThingWorx-Foundation。
安装程序日志文件
◦ 安装日志:
▪ ${installdir}/installer/logs/ThingWorxFoundation_install.log
例如:/opt/ThingWorxFoundation/installer/logs/ThingWorxFoundation_install.log。
◦ 运行日志:
▪ ${installdir}/ThingworxStorage/logs/
例如:/opt/ThingWorxFoundation/ThingworxStorage/logs/。
◦ 对于中止或失败情况:
▪ ${system_temp_directory}/ThingWorxFoundation_Failed_installs/
例如:/tmp/ThingWorxFoundation_Failed_installs/。
◦ 卸载日志:
▪ ${system_temp_directory}/bitrock_installer_(pid).log
日志文件名称的前缀为 bitrock。例如:/tmp/bitrock_installer_3008.log。
卸载基于 ThingWorx Foundation 安装程序的安装
1. 导航至 ThingWorx Foundation 安装位置。
2. 执行 ThingWorxFoundation_uninstall.dat。
3. 出现提示时,单击“确定”以确认要继续卸载。
4. 卸载完成后,安装即会删除。
从 PostgreSQL 删除 ThingWorx 数据库
1. 在 Linux 命令行中打开 PostgreSQL 数据库的连接。
例如,输入:psql -U admin -h dbhost。
2. 如果您使用的是默认数据库名称,请执行 DROP DATABASE thingworx; 命令。
或者,如果您已自定义数据库名称,则执行 DROP DATABASE <your database name>; 命令。
从 Microsoft SQL 删除 ThingWorx 数据库
1. 在 Linux 命令行中打开 Microsoft SQL 数据库的连接。
例如,输入:sqlcmd -U admin -s ‘dbhost\dbservicename,port’。
2. 如果您使用的是默认数据库名称,请执行 DROP DATABASE thingworx; GO; 命令。
或者,如果您已自定义数据库名称,则执行 DROP DATABASE <your database name>; GO; 命令。
针对 ThingWorx 9.0 和 9.1 升级到 Java 11
如果您使用安装程序来安装或升级采用 Java 8 的 ThingWorx 9.0.x 或 9.1.x,且希望使用 Java 11.0.8,请按照以下步骤操作:
1. 安装 Java 11。
2. 在 Java 可执行文件的位置下复制 Java 11 安装目录的路径。
| 可执行 alternatives --display java | grep 'family java-11' | cut -d' ' -f1。输出应显示 Java 可执行文件的位置,例如:/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64/bin/java。您已在此位置复制了用于配置 ThingWorx-Foundation 服务的 /usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64。 |
3. 使用 systemctl stop ThingWorx-Foundation.service 停止 ThingWorx-Foundation 服务。
4. 备份 ThingWorx-Foundation 服务。例如:/etc/systemd/system/ThingWorx-Foundation.service.backup。
5. 要编辑 ThingWorx-Foundation 服务配置,请按如下方式编辑 ThingWorx-Foundation.service 环境:
a. 在 JAVA_HOME 中,指向 Java 11 安装目录。例如:Environment='JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64'。
b. 在 CATALINA_OPTS 中移除以下内容:
-XX:+UseG1GC
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-Xloggc:${CATALINA_HOME}/logs/tomcat-twx-gc.log
${CATALINA_HOME} 表示 Tomcat 目录。
c. 复制 ThingWorx Foundation 的安装目录路径。例如:/opt/ThingWorxFoundation。
d. 为 CATALINA_OPTS 添加以下内容:
-Xlog:gc:file=/opt/ThingWorxFoundation/tomcat/current/logs/gc.log:time,level,tags
请确保参数字符串中无空格,否则 Tomcat 将无法使用 Java。
6. 执行以下命令:
# systemctl daemon-reload
7. 使用 systemctl start ThingWorx-Foundation.service 启动 ThingWorx-Foundation 服务。
8. 在 Application.log 文件中,确认 Java 版本是否为 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. 移除备份 ThingWorx-Foundation.service.backup。
在 Azure VM 上安装 ThingWorx
对于准备在 Azure VM 上安装 ThingWorx 的用户,可能会遇到以下错误:
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
If you do, you must first disable the lookup of the package metadata before running the installation by executing the following command:
dnf update --disablerepo=* --enablerepo='*microsoft*' rhui-azure-rhel8-eus
。