手動安裝
Windows 安裝
安裝 Java、Apache Tomcat 與 ThingWorx
安裝 Java 與 Apache Tomcat
1. 如需有關 Java 版本需求的資訊,請參閱 ThingWorx 系統需求
2. 下載並安裝所需版本的 Java。
9.0:Java
9.1 及更新版本:OpenJDKJava 11
解壓縮下載的檔案 (例如,openjdk-11 zip),並從解壓縮的資料夾中複製 jdk-<xxx> 資料夾。將 jdk 資料夾貼上到下列位置:C:\\Program Files\Java
3. 請確定已正確配置 Java 環境變數:
a. 找出 Java 安裝目錄並複製路徑。預設路徑為 C:\Program Files\Java\jdk_<版本號碼>
b. 從 Windows 開始選單中,導覽至「進階系統內容」。這些內容的路徑會根據您的 Windows 版本而有所不同。例如,針對 Windows 10,請搜尋「環境變數」,然後選取「編輯系統環境變數」
c. 按一下「環境變數」
d. 「系統變數」部份,按一下「新增」
e. 「變數名稱」欄位中,輸入 JAVA_HOME
f. 「變數值」欄位中,輸入如步驟 a 所定義的 Java 安裝路徑。
g. 編輯「路徑」變數並新增值 %JAVA_HOME%\bin
h. 按一下「確定」
4. 如需有關 Apache Tomcat 版本需求的資訊,請參閱 ThingWorx 系統需求
5. 造訪 Apache Tomcat 網站以下載 32-bit/64-bit Windows Service Installer (pgp, sha1, sha512)
* 
最佳作法包括對每個發行版本使用簽名或加總核對碼來核對 Tomcat 檔案的完整性。如需詳細資訊,請參閱 Apache 的文件
6. Apache Tomcat 安裝精靈即會啟動。按一下 Next
7. 按一下 I Agree
8. Choose Components 區段中,使用預設設定。按一下 Next
9. HTTP/1.1 Connector Port 欄位中,鍵入 80 (或其他可用連接埠)。
10. Tomcat Administrator Login 欄位中,必須輸入 Tomcat 管理的 Tomcat user name 與具唯一性安全密碼。在 ThingWorx 中,這是必要操作,而非選用。
11. 按一下 Next
12. 按一下 Next
13. 按一下「安裝」
14. 按一下「完成」
15. 啟動 Tomcat。按一下 Configure Tomcat。在 Configure Tomcat 視窗中,按一下 Java 標籤。
16. Java Options 欄位中,將下列項目新增至選項欄位的結尾:
-Dserver -Dd64
-XX:+UseG1GC
-Dfile.encoding=UTF-8
-Duser.timezone=UTC
-Djava.library.path=<path to Tomcat>\webapps\Thingworx\WEB-INF\extensions
-Dlog4j2.formatMsgNoLookups=true
* 
Djava.library.path 範例:
-Djava.library.path=C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\Thingworx\WEB-INF\extensions
* 
如需有關這些選項以及有關主控與/或公開導向環境之其他選項的詳細資訊,請參閱 Apache Tomcat Java 選項設定
17. Initial memory poolMaximum memory pool 欄位設定為可用 OS 記憶體的 75% (例如,16GB RAM 的系統為 12GB)。如需其他資訊,請參閱 JVM 調整
18. 按一下「確定」
19. 在 Tomcat 安裝位置,開啟 conf/web.xml。將以下內容新增到 web.xml 檔案來取代預設錯誤頁 (預設為堆疊追蹤)。將以下內容放到 web-app 標籤內 (在 welcome-file-list 標籤之後)。
* 
正確配置的 web 應用程式將會在 webapps/APP_NAME/WEB-INF/web.xml 中覆寫此預設,以防導致發生問題。
<error-page><exception-type>java.lang.Throwable</exception-type><location>/error.jsp</location></error-page>
20. 在 Tomcat 安裝位置,開啟 conf/server.xml。在 <Host> </Host> 標籤內新增下列項目:
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
* 
基於安全性原因,如果預設未禁用 AJP 連接器,透過執行下列步驟完成此操作很重要。
21. 在 Tomcat 安裝位置,開啟 conf/server.xml,然後搜尋以下這行程式碼。如果找到,請為其加上註解並儲存檔案:
<Connector port ="8009" protocol="AJP/1.3" redirectPort="8443"/>
* 
在 Apache Tomcat 9.0 及更新版本中,rejectIllegalHeader 屬性預設為 true。PTC 不建議或支援手動修改 conf/web.xml 檔案,以將此屬性設定為 false。
22. 移除 /<path_to_tomcat>/webapps/ 中的所有 Tomcat 範例 webapp (docsexampleshost-managermanagerROOT)。移除這些應用程式可防非必要存取 Tomcat,特別是在可允許使用者檢視其他使用者 cookie 的前後關聯中。
23. 如果您的應用程式需要特定加密套件,請參閱下列文件集以取得組態資訊:
24. PTC 強烈建議在執行 ThingWorx 時使用 TLS。如需有關設定 TLS 的詳細指示,請參閱此技術支援文章
25. (選用步驟) 欲增加影響靜態檔案快取的預設快取設定,請將以下這一行新增至 /conf/context.xml 檔案中的 <Context></Context> 標籤內:
<Resources cacheMaxSize="501200" cacheObjectMaxSize="2048" cacheTtl="60000"/>
增加此設定可提升效能,並避免 Tomcat 中的下列訊息:
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
安裝 ThingWorx
1. 在安裝 Tomcat 的磁碟機根目錄中,建立名為 ThingworxPlatformThingworxStorage 的資料夾。
* 
如果您要在不同位置建立資料夾,請參閱此處的步驟。
* 
這些資料夾必須擁有對應的擁有權與存取權限。它們應該由執行 Tomcat 服務的相同使用者擁有,且應為該使用者指派完全控制權限。此使用者通常是 NETWORK_SERVICE,但在您的環境中可能會有所不同。如果沒有這些權限,伺服器將無法啟動。
2. 針對您使用的資料庫,取得適當的 Thingworx.war 檔案。最新的 ThingWorx 下載發佈在 support.ptc.com 中的「下載軟體」>「訂購或下載軟體更新」> ThingWorx Foundation >「X.X 發行版本」> ThingWorx PostgreSQLThingWorx MssqlThingWorx H2ThingWorx AzureSql >「最新日期代碼」> ThingWorx-Platform-<資料庫類型>-<版本>
3. platform-settings.json 放置在 ThingworxPlatform 資料夾中。
* 
如果您要使用 H2,必須建立 platform-settings.json 檔案,因其並不包含在下載中。
4. 配置管理員密碼。
將下列 AdministratorUserSettings 區段 (在 PlatformSettingsConfig 中) 新增至您的 platform-settings.json 檔案,並設定長度至少為 14 個字元的密碼。如需有關放置的詳細資訊,請參閱 platform-settings.json 組態詳細資訊。如需有關設定密碼的其他資訊,請參閱密碼
* 
請勿複製並貼上下列範例,因為它可能導致 platform-settings.json 中的格式錯誤。相反,請按一下此處並從檔案進行複製。

{
"PlatformSettingsConfig": {
"AdministratorUserSettings": {
"InitialPassword": "changeme"
}
}
}
* 
如果 Tomcat 無法啟動,並報告錯誤訊息:Check the InitialPassword setting in the AdministratorUserPassword section in platform-settings.json...,請檢查下列內容:
密碼設定存在於 platform-settings.json 中。
密碼有效 (依預設為 14 個或更多字元)。
platform-settings.json 檔案格式是否正確。格式錯誤會導致發生錯誤。
5. 啟用延伸功能匯入。依預設,延伸功能匯入針對所有使用者皆為禁用。
將下列內容新增到 PlatformSettingsConfig 下的 platform-settings.json 檔案中。將下列 ExtensionPackageImportPolicy 參數更新為 true 以允許匯入延伸功能。有關控制延伸功能匯入的最佳作法,請參閱匯入延伸功能
"ExtensionPackageImportPolicy": {
"importEnabled": <true or false>,
"allowJarResources": <true or false>,
"allowJavascriptResources": <true or false>,
"allowCSSResources": <true or false>,
"allowJSONResources": <true or false>,
"allowWebAppResources": <true or false>,
"allowEntities": <true or false>,
"allowExtensibleEntities": <true or false>
},
6. 如果您未使用 H2 作為資料庫,請跳過此步驟。在 platform-settings.json 檔案中新增 H2 的使用者名稱與密碼。如需詳細資訊,請參閱 platform-settings.json 組態詳細資訊
* 
ThingWorx 與 H2 資料庫的連線需要使用者定義的使用者名稱與密碼,否則伺服器將不會啟動。此設計完全降低了CVE-2018-10054 所表示的任何潛在弱點。
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<addsecurepassword>",
"username": "twadmin"
}
},
7. 如果您未使用 Azure SQL 作為資料庫,請跳過此步驟。開啟 platform-settings.json 檔案並新增 Azure SQL 持續性提供者參數:
"PersistenceProviderPackageConfigs": {
"AzuresqlPersistenceProviderPackage": {
"ConnectionInformation": {
"driverClass": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"jdbcUrl": "jdbc:sqlserver://<server name>:<port>;databaseName=thingworx;applicationName=Thingworx;",
"password": "<database password>",
"username": "twadmin"
}
}
}
8. 如果您不是針對資料庫使用 H2,請轉至資料庫安裝與組態來設定您的資料庫。在配置資料庫之後返回到下一個步驟。如果您使用的是 H2,請繼續下一步。
9. 配置授權:
開啟 platform-settings.json 檔案,並將下列項目新增至 PlatformSettingsConfig 部份 (如需有關放置的詳細資訊,請參閱 platform-settings.json 組態詳細資訊)。
* 
如果您執行的是已中斷連線的安裝 (無網際網路存取),則不需要將授權資訊新增至 platform-settings.json 檔案。如需已中斷連線的網站,請參閱授權 ThingWorx Platform,並略過此步驟。
{
"PersistenceProviderPackageConfigs": {
"PostgresPersistenceProviderPackage": {
"ConnectionInformation": {
"jdbcUrl": "jdbc:postgresql://localhost:5432/thingworx",
"password": "<password>",
"username": "<username>"
}
}
},
"PlatformSettingsConfig": {
"LicensingConnectionSettings": {
"username":"<PTC_support_portal_username>",
"password":"<PTC_support_portal_password>"
}
}
}
停止 Tomcat。
複製 Thingworx.war 檔案並將其放置在 Tomcat 安裝的下列位置:
<Tomcat_Install_Location>\webapps
啟動 Tomcat。
請核對是否在 ThingworxPlatform 資料夾中建立了授權檔案 (successful_license_capability_response.bin)。
* 
如果設定填寫錯誤或伺服器無法連線,則會在 ThingworxPlatform 資料夾中建立授權請求文字檔案 (licenseRequestFile.txt)。在此情況下,必須手動建立授權。(如果未建立,ThingWorx 將在限制模式下啟動。限制模式下不允許您將授權的實體保存至資料庫。授權的實體是物件、混搭、主物件、小工具、使用者和持續性提供者)。
如需有關透過授權管理網站取得 ThingWorx 已中斷連線網站授權的詳細資訊,請參閱已中斷連線網站 (未連線至 PTC 支援入口網站) 的授權 ThingWorx Platform。在此情況下,如果手動產生授權檔案,必須將其重新命名為 license_capability_response.bin,並放在 ThingworxPlatform 資料夾中。
* 
如需授權疑難排解,請參閱此支援文章
10. 依照加密密碼中的步驟加密授權伺服器密碼。
11. 如果您使用 Azure SQL 作為資料庫,請遵循下列步驟下載 JDBC 驅動程式。如果您不使用 Azure SQL,請略過此步驟。
a. 轉至 Azure 入口網站,並導覽至您的 ThingWorx 資料庫。
b. 選取「連接字串」
c. 選取 JDBC 標籤。
d. 選取「下載 Microsoft JDBC Driver for SQL Server」
e. 選取 Microsoft JDBC Driver 6.0 for SQL Server
f. 將 ThingWorx VM 中的已下載二進位檔案解壓縮並複製到 Tomcat lib 目錄中。
12. 重新啟動 Tomcat。
13. 欲啟動 ThingWorx,請在 Web 瀏覽器中轉至 http://<伺服器名稱>:<埠>/Thingworx
14. 變更初始管理員密碼。
a. 在 Composer 中,選取「管理員」>「變更密碼」
b. 「變更密碼」視窗中,輸入「目前密碼」「新密碼」「確認密碼」
* 
密碼應不易猜測,也不應為一個已知的通用密碼,長度應至少為 14 個字元,其中應包含混合的大寫與小寫字母、數字和特殊字元。
c. platform-settings.json 檔案中刪除初始管理員密碼。
15. 選取「完成」
16. (選用步驟) 欲確定授權狀況,請在 Composer 中開啟「監視」>「子系統」>「授權子系統設定」以確認包含在授權中的功能 (授權實體) 清單。如果不存在授權實體,您將處於限制模式。
這是否有幫助?