수동 설치
Windows 설치
Java, Apache Tomcat 및 ThingWorx 설치
Java 및 Apache Tomcat 설치
1. Java 버전 요구 사항은 ThingWorx 시스템 요구 사항을 참조하십시오.
2. 필수 버전의 Java를 다운로드하고 설치합니다.
9.0: Java
9.1 이상: OpenJDK 또는 Java 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비트/64비트 Windows 서비스 설치 관리자(pgp, sha1, sha512)를 다운로드합니다.
* 
가장 좋은 방법은 각 릴리즈에 대한 서명 또는 체크섬을 사용하여 Tomcat 파일의 무결성을 확인하는 작업을 포함하는 것입니다. 자세한 내용은 Apache 설명서를 참조하십시오.
6. Apache Tomcat Setup Wizard를 시작합니다. Next를 클릭합니다.
7. I Agree를 클릭합니다.
8. Choose Components 섹션에서 기본 설정을 사용합니다. Next를 클릭합니다.
9. HTTP/1.1 Connector Port 필드에 80(또는 다른 사용 가능한 포트)을 입력합니다.
10. Tomcat Administrator 로그인 필드에 Tomcat 관리를 위한 Tomcat 사용자 이름 및 고유하고 안전한 암호를 입력합니다. ThingWorx에서는 이 암호가 선택 사항이 아닌 필수입니다.
11. Next를 클릭합니다.
12. Next를 클릭합니다.
13. Install을 클릭합니다.
14. Finish를 클릭합니다.
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. OK를 클릭합니다.
19. Tomcat 설치 위치에서 conf/web.xml을 엽니다. 다음을 web.xml 파일에 추가하여 기본 오류 페이지(기본값: 스택 추적)를 바꿉니다. 다음을 web-app 태그(welcome-file-list 태그 뒤) 내에 배치합니다.
* 
제대로 구성된 웹 응용 프로그램은 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입니다. conf/web.xml 파일을 수동으로 편집하여 이 속성을 false로 설정하는 것은 권장되지 않거나 PTC에서 지원되지 않습니다.
22. /<tomcat의 경로>/webapps/에 있는 모든 Tomcat 예제 웹 앱(docs, examples, host-manager, manager, ROOT)을 제거합니다. 이러한 앱을 제거하면 특히 사용자가 다른 사용자 쿠키를 볼 수 있도록 허용할 컨텍스트에서 Tomcat에 대한 불필요한 액세스를 방지할 수 있습니다.
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 파일을 가져옵니다. 최신 ThingWorx 다운로드는 support.ptc.com소프트웨어 다운로드 > 소프트웨어 업데이트 주문 또는 다운로드 > ThingWorx Foundation > Release X.X > ThingWorx PostgreSQL, ThingWorx Mssql, ThingWorx H2 또는 ThingWorx AzureSql > 최근 제조코드 > ThingWorx Platform-<데이터베이스 유형>-<버전>에 게시됩니다.
3. ThingworxPlatform 폴더에 platform-settings.json을 배치합니다.
* 
H2를 사용하는 경우 platform-settings.json 파일을 만들어야 합니다. 이 파일은 다운로드에 포함되지 않습니다.
4. 관리자 암호를 구성합니다.
다음 AdministratorUserSettings 섹션(PlatformSettingsConfig에 위치)을 14자 이상의 암호가 포함된 platform-settings.json 파일에 추가합니다. 배치에 대한 자세한 내용은 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 구성 세부 정보를 참조하십시오.
* 
H2 데이터베이스에 ThingWorx를 연결하려면 사용자가 정의한 사용자 이름 및 암호가 필요합니다. 없으면 서버가 시작되지 않습니다. 이 설계로 인해 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을 시작합니다.
라이선스 파일(successful_license_capability_response.bin)이 ThingworxPlatform 폴더에서 생성되었는지 확인합니다.
* 
설정이 잘못 작성되거나 서버가 연결할 수 없는 경우 라이선스 요청 텍스트 파일(licenseRequestFile.txt)이 ThingworxPlatform 폴더에 생성됩니다. 이 시나리오에서는 라이선스를 수동으로 생성해야 합니다. (생성하지 않으면 ThingWorx가 제한된 모드에서 시작됩니다. 제한된 모드에서는 라이선스가 허여된 엔티티를 데이터베이스에 지속할 수 없습니다. 라이선스가 부여된 엔티티는 사물, 매쉬업, 마스터, 가젯, 사용자 및 지속성 공급자입니다.)
라이선스 관리 사이트를 통해 ThingWorx 연결이 끊긴 사이트 라이선스를 얻는 방법에 대한 자세한 내용은 연결이 끊긴 사이트에 대한 ThingWorx Platform용 라이선스를 참조하십시오(PTC 지원 포털에 연결되지 않음). 이 경우 라이선스 파일을 수동으로 생성하면 해당 파일의 이름을 license_capability_response.bin으로 변경하고 해당 파일을 ThingworxPlatform 폴더에 배치해야 합니다.
* 
라이선스 문제 해결에 대한 자세한 내용은 이 지원 문서를 참조하십시오.
10. 암호 암호화에서 다음 단계를 수행하여 라이선스 서버 암호를 암호화합니다.
11. Azure SQL을 데이터베이스로 사용하는 경우 다음 단계에 따라 JDBC 드라이버를 다운로드합니다. Azure SQL을 사용하지 않는 경우 이 단계를 건너뜁니다.
a. Azure 포털로 이동하여 ThingWorx 데이터베이스로 이동합니다.
b. 연결 문자열을 선택합니다.
c. JDBC 탭을 선택합니다.
d. SQL Server용 Microsoft JDBC 드라이버 다운로드를 선택합니다.
e. SQL Server용 Microsoft JDBC Driver 6.0을 선택합니다.
f. ThingWorx VM에서 다운로드한 바이너리를 추출하여 Tomcat lib 디렉터리로 복사합니다.
12. Tomcat을 다시 시작합니다.
13. ThingWorx를시작하려면 웹 브라우저에서 http://<서버 이름>:<포트>/Thingworx로 이동합니다.
14. 초기 관리자 암호를 변경합니다.
a. Composer에서 관리자 > 암호 변경을 선택합니다.
b. 암호 변경 창에서 현재 암호, 새 암호암호 확인을 입력합니다.
* 
암호는 쉽게 추측할 수 없고, 알 수 없어야 하며, 공통 암호가 아니어야 합니다. 길이는 14자 이상으로 대문자, 소문자, 숫자 및 특수 문자가 조합되어야 합니다.
c. platform-settings.json 파일에서 초기 관리자 암호를 삭제합니다.
15. 완료를 선택합니다.
16. (선택적 단계) 라이선스 상태를 확인하려면 Composer에서 모니터링>하위 시스템>라이선싱 하위 시스템 설정을 열어 라이선스가 포함된 기능(라이선스가 허여된 엔티티)의 목록을 확인합니다. 라이선스가 허여된 엔티티가 없으면 제한된 모드 상태입니다.
도움이 되셨나요?