安裝與升級 > 安裝 ThingWorx > ThingWorx Foundation 安裝程式 > 適用於 Linux 的 ThingWorx Foundation 安裝程式
適用於 Linux 的 ThingWorx Foundation 安裝程式
A.) 含 PostgreSQL 之 Linux 安裝程式的先決條件 
* 
如果在此程序期間找到現有安裝,安裝程式將會升級 ThingWorx Foundation。如需詳細資訊,請參閱使用安裝程式升級 ThingWorx Foundation
您已檢閱 ThingWorx Foundation 安裝程式說明主題中所述的資訊以及一般先決條件。
欲在使用 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 檔案從 ThingWorx Foundation 主機連線至 PostgreSQL。
例如,如果 ThingWorx Foundation 安裝在與 PostgreSQL 相同的主機上,您可以更新 pg_hba.conf 檔案,以將密碼驗證方法設定為 md5passwordtrust。但是,我們不建議您將其設定為 trust。如需有關 pg_hba.conf 檔案與密碼驗證方法的詳細資訊,請參閱 PostgreSQL.org 網站
以下是密碼驗證設定為 md5pg_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
B.) 含 SQL Server 之 Linux 安裝程式的先決條件 
* 
如果在此程序期間找到現有安裝,安裝程式將會升級 ThingWorx Foundation。如需詳細資訊,請參閱使用安裝程式升級 ThingWorx Foundation
欲執行含 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
C.) 在安裝程式中啟用 SSL/TLS 的先決條件:建立金鑰庫 
在安裝程式的「ThingWorx Foundation 內容」畫面中,「使用 SSL/TLS 進行安全連線」核取方塊預設為已選取。您可以清除此核取方塊來在安裝程式中禁用 SSL/TLS。如果您選擇保留預設設定並使用 SSL/TLS,必須在執行安裝程式之前產生 Java keystore (jks) 檔案。Java keystore (jks) 檔案必須具有下列安全性權限:
Keystore 檔案必須將 Read & Write & Execute 權限授與 Administrator 使用者 (例如 root 使用者) 的擁有者與群組。
您也必須根據 keystore 檔案父目錄的權限來存取該檔案。包含 keystore 檔案的目錄必須擁有針對 other usersExecute 權限,這樣才能使除擁有者與群組設定檔之外的使用者能夠存取資料夾及其檔案。對於目錄的 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 密碼。
D.) 在 Red Hat Enterprise Linux 9.0 上執行安裝程式的先決條件 
當安裝程式透過 Red Hat 9.0 以 GUI 模式執行時,必須安裝相依性才能支援安裝程式的圖形介面。在執行安裝程式前,請核對 gtk2 工具包是否已安裝在環境中。欲核對該工具包是否存在於作業系統中,請執行下列指令:
$ rpm -q gtk2
如果已安裝此工具包,則輸出應為所安裝工具包的名稱。如果環境中尚未安裝此工具包,則輸出將為以下內容:
"package gtk2 is not installed"
E.) 在 Linux 上安裝 ThingWorx Foundation 
1. 請確保能夠滿足上述各部份所述的先決條件。
* 
如果在 Azure VM 上安裝 ThingWorx,請參閱 G 部份「其他安裝程式功能與疑難排解」。
2. 針對 PostgreSQL,從 support.ptc.com「下載軟體」 > 「訂購或下載軟體更新」 > ThingWorx Foundation > 「發行版本 <最新>」 > ThingWorx PostgreSQL > 「最新日期代碼」下,下載 ThingWorx-Platform-Foundation-Installer-x-x-x-Linux-postgres
或者
針對 Microsoft SQL Server,從 support.ptc.com「下載軟體」 > 「訂購或下載軟體更新」 > ThingWorx Foundation > 「發行版本 <最新>」 > ThingWorx Mssql > 「最新日期代碼」下,下載 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 值。
* 
如果您嘗試將 ThingWorx Foundation 安裝在 /opt 目錄外,安裝可能不會成功。RHEL 會針對在安裝程式控制之外的作業系統強制執行安全性限制。如果發生這種情況,您應該安裝在 /opt 目錄中。
6. 在最後一個安裝程式畫面中,Open License Configurator 核取方塊預設為選取。如果選取此核取方塊,則在安裝程式完成並關閉後,License Configurator 會開啟。如果您取消選取 Open License Configurator 核取方塊,安裝程式會關閉,且 License Configurator 不會自動開啟。
a. Setup : Configure licensing for ThingworxFoundation for Postgres 螢幕或 Setup : Configure licensing for ThingworxFoundation for Mssql 螢幕中按一下「下一步」
b. 使用授權組態管理員連線至 PTC 授權伺服器或配置 ThingWorx Foundation 以使用預先下載的授權。
c. 逐步完成授權畫面。
7. ThingWorx Foundation 安裝已完成,您現在可以使用 ThingWorx Foundation。
F.) 連接至 ThingWorx Foundation 伺服器 
1. 存取 ThingWorx Foundation URL。
例如:https://<主機名稱>:<埠>/Thingworx/Composer
根據 SSL/非 SSL 的組態及安裝期間使用的連接埠,ThingWorx Foundation URL 將有所不同。SSL 預設為啟用;但您可以禁用 SSL/TLS。請參閱上述在安裝程式中啟用 SSL/TLS 的先決條件 部份。
2. 提供使用者認證。
使用者名稱是 Administrator,密碼是在安裝期間輸入的內容。
G.) 其他安裝程式功能與疑難排解 
在 Linux 上啟動/停止 ThingWorx Foundation 服務
1. 以擁有管理權限的使用者身份登入 ThingWorx 主機 (執行 sudo)。
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 11 安裝目錄的路徑複製到 Java 可執行檔所在位置之下。
* 
您可以執行 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。在這裡,您複製的是 /usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64,它用來配置 ThingWorx-Foundation 服務。
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
遇到此錯誤后,必須先禁用封裝中繼資料的查詢,然後透過執行下列指令來執行安裝:
dnf update --disablerepo=* --enablerepo='*microsoft*' rhui-azure-rhel8-eus
這是否有幫助?