설치 및 업그레이드 > ThingWorx 설치 > 수동 설치 > Ubuntu 설치 > Java, Apache Tomcat 및 ThingWorx 설치
Java, Apache Tomcat 및 ThingWorx 설치
아래 단계에서 xx 또는 xxx를 사용하는 빌드 번호로 대체하십시오.
* 
이러한 절차에 나오는 명령을 복사하여 붙여넣을 경우 서식 적용 문제가 발생할 수 있습니다. 필요한 경우 텍스트 편집기에 복사하여 붙여넣는 방식을 사용하여 서식 적용 문제를 최소화하십시오.
Java 및 Apache Tomcat 설치
1. Ubuntu 패키지를 업데이트합니다.
$ sudo apt-get update
2. 시간 동기화를 위해 NTP(Network Time Protocol) 설정을 설치하고 구성합니다. NTP의 기본 구성이면 충분합니다. NTP에 대한 추가 구성 정보(이 설명서의 범위를 벗어남)는 다음 리소스를 참조하십시오.
$ sudo apt-get install ntp
3. Tomcat이 1024 이하의 포트에 바인딩할 수 있도록 AUTHBIND 속성을 편집합니다.
$ sudo apt-get install authbind
4. 버전 요구 사항은 ThingWorx 시스템 요구 사항을 참조하십시오.
5. 필수 버전의 Java를 다운로드하고 설치합니다.
9.0: Java
9.1 이상: OpenJDK 또는 Java 11.
6. tar 파일을 추출합니다.
* 
아래의 예에서는 jdk-11.x.x를 사용하지만 필요하면 사용 중인 버전으로 대체하십시오.
tar -xf jdk-11.x.x_linux-x64_bin.tar.gz
7. JDK를 /usr/lib/jvm으로 이동하여 디렉터리를 만듭니다. 디렉터리가 비어 있지 않으면 경고 메시지가 표시됩니다.
$ sudo mkdir -p /usr/lib/jvm
$ sudo mv jdk-11.x.x/ /usr/lib/jvm/
8. 시스템에 대체를 추가합니다.
$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk-11.x.x/bin/java" 1
$ sudo update-alternatives --install "/usr/bin/keytool" "keytool" "/usr/lib/jvm/jdk-11.x.x/bin/keytool" 1
9. 액세스 권한을 변경합니다.
$ sudo chmod a+x /usr/bin/java
$ sudo chmod a+x /usr/bin/keytool
10. 소유자를 변경합니다.
$ sudo chown -R root:root /usr/lib/jvm/jdk-11.x.x/
11. 마스터 링크를 구성합니다.
$ sudo update-alternatives --config java
$ sudo update-alternatives --config keytool
Nothing to configure는 이 명령에 대한 정상 응답이며 오류가 아닙니다. 이전의 단계들을 사용하여 /usr/lib/jvm/jdk-11.x.x/bin/에 있는 추가 실행 파일을 설치할 수 있습니다.
12. Java 버전을 확인합니다.
$ java -version
이렇게 하면 다음과 유사한 결과가 반환되어야 합니다(빌드 세부 사항은 다를 수 있음).
java version "11.0.9" 2020-10-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.9+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.9+7-LTS, mixed mode)
13. Apache Tomcat을 다운로드합니다. 이 프로세스의 단계에서는 Tomcat 9.0.xx를 사용합니다. 여기서 xx는 사용하는 버전으로 대체됩니다.
$ wget http://archive.apache.org/dist/tomcat/tomcat-9/v9.0.xx/bin/apache-tomcat-9.0.xx.tar.gz
* 
가장 좋은 방법은 각 릴리즈에 대한 서명 또는 체크섬을 사용하여 Tomcat 파일의 무결성을 확인하는 작업을 포함하는 것입니다. 자세한 내용은 Apache 설명서를 참조하십시오.
14. TAR 파일을 추출합니다.
$ tar -xf apache-tomcat-9.0.xx.tar.gz
15. /usr/share/tomcat9.0에 대한 소유자를 생성 및 변경하고 Tomcat을 다음 위치로 이동합니다. 시스템에 사용자와 그룹을 추가합니다.
$ sudo mkdir -p /usr/share/tomcat9.0
$ sudo mv apache-tomcat-9.0.xx /usr/share/tomcat9.0/9.0.xx
$ sudo addgroup --system tomcat9.0 --quiet -force-badname
$ sudo adduser --system --home /usr/share/tomcat9.0/ --no-create-home --ingroup tomcat9.0 --disabled-password --force-badname --shell /bin/false tomcat9.0
$ sudo chown -R tomcat9.0:tomcat9.0 /usr/share/tomcat9.0
16. usr/share/tomcat9.0/ignite에 대한 액세스 권한을 만들고 변경합니다.
* 
ThingWorx HA 서버를 배포하는 경우 이 단계를 수행합니다.
cd /usr/share/tomcat9.0
mkdir ignite
chown -Rh tomcat9.0:tomcat9.0 ignite
17. /etc/environment에서 루트로 환경 변수를 정의합니다.
export JAVA_HOME=/usr/lib/jvm/jdk-11.x.x_xxx
export CATALINA_HOME=/usr/share/tomcat9.0/9.0.xx
18. 환경 변수를 반영합니다.
source /etc/environment
19. 디렉터리를 $CATALINA_HOME으로 변경합니다.
$ cd $CATALINA_HOME
20. bin/, lib/webapps/의 소유자와 액세스 권한을 변경합니다.
$ sudo chown -Rh tomcat9.0:tomcat9.0 bin/ lib/ webapps/
$ sudo chmod 775 bin/ lib/ webapps/
21. usr/share/tomcat9.0/9.0.xx의 소유자 및 액세스 권한을 변경합니다.
$ sudo chown -R tomcat9.0:tomcat9.0 /usr/share/tomcat9.0/9.0.xx
$ sudo chmod -R 775 /usr/share/tomcat9.0/9.0.xx
22. conf/의 소유자와 액세스 권한을 변경합니다.
$ sudo chown -Rh root:tomcat9.0 conf/
$ sudo chmod -R 650 conf/
23. logs/, temp/work/의 액세스 권한을 변경합니다.
$ sudo chown -R tomcat9.0:adm logs/ temp/ work/
$ sudo chmod 760 logs/ temp/ work/
24. 자체 서명된 인증서를 만듭니다.
$ sudo $JAVA_HOME/bin/keytool -genkey -alias tomcat9.0 -keyalg RSA -keystore $CATALINA_HOME/conf/.keystore
25. 지침에 따라 인증서 생성 프로세스를 완료합니다.
키 저장소 암호를 설정합니다.
프롬프트에 따라 보안 인증서를 설정합니다.
tomcat9.0 사용자 암호를 키 저장소 암호와 동일하게 설정합니다.
$ sudo chown root:tomcat9.0 $CATALINA_HOME/conf/.keystore
$ sudo chmod 640 $CATALINA_HOME/conf/.keystore
26. 재시작 시 세션이 지속되지 않도록 $CATALINA_HOME/conf/context.xmlManager 요소에서 의견을 삭제합니다.
<Manager pathname="" />
* 
기본적으로 비활성화되지 않은 경우 보안을 위해 다음 단계를 수행하여 AJP 커넥터를 비활성화하는 것이 중요합니다.
27. Tomcat 설치 위치에서 $CATALINA_HOME/conf/server.xml을 열고 다음 줄을 검색합니다. 줄을 찾으면 주석으로 처리하고 파일을 저장합니다.

<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->
* 
Apache Tomcat 9.0 이상에서 rejectIllegalHeader 속성의 기본값은 true입니다. conf/web.xml 파일을 수동으로 편집하여 이 속성을 false로 설정하는 것은 권장되지 않거나 PTC에서 지원되지 않습니다.
* 
디렉터리가 없다는 오류가 발생하면 다음 명령을 사용하여 포트 443이 작동하는지 확인하십시오.
$ sudo touch /etc/authbind/byport/443
$ sudo chmod 700 /etc/authbind/byport/443
$ sudo chown tomcat9.0:tomcat9.0 /etc/authbind/byport/443
28. $CATALINA_HOME/conf/tomcat-users.xml에서 사용자를 정의합니다.
$ sudo vi $CATALINA_HOME/conf/tomcat-users.xml
<user username="<Tomcat user name> " password="<Tomcat password> " roles="manager"/>
29. tomcat9.0 사용자의 UID를 결정합니다.
$ id -u tomcat9.0
30. 이 번호를 사용하려면 /etc/authbind/byuid/에 ID 파일을 만듭니다. <uid>를 이전 단계에서 반환된 번호로 변경합니다.
$ sudo touch /etc/authbind/byuid/<uid>
$ sudo vi /etc/authbind/byuid/<uid>
31. 이전 단계의 파일을 편집하고 다음 위치에 붙여넣습니다.
0.0.0.0/0:1,1023
32. /etc/authbind/byuid/<uid>의 소유자와 액세스 권한을 변경합니다.
$ sudo chown tomcat9.0:tomcat9.0 /etc/authbind/byuid/<uid>
$ sudo chmod 700 /etc/authbind/byuid/<uid>
33. 항상 authbind를 사용하도록 $CATALINA_HOME/bin/startup.sh를 수정합니다.
sudo vi $CATALINA_HOME/bin/startup.sh
파일의 다음에 의견을 작성합니다.
#exec "$PRGDIR"/"$EXECUTABLE" start "$@"
34. 파일 끝에 다음을 추가합니다.
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
35. /etc/init.d에서 tomcat9.0 파일을 생성합니다.
$ sudo touch /etc/init.d/tomcat9.0
36. 파일을 편집하고 다음 콘텐츠를 입력합니다.
$ sudo vi /etc/init.d/tomcat9.0

CATALINA_HOME=/usr/share/tomcat9.0/9.0.xx
case $1 in
start)
/bin/su -p -s /bin/sh tomcat9.0 $CATALINA_HOME/bin/startup.sh
;;
stop)
/bin/su -p -s /bin/sh tomcat9.0 $CATALINA_HOME/bin/shutdown.sh
;;
restart)
/bin/su -p -s /bin/sh tomcat9.0 $CATALINA_HOME/bin/shutdown.sh
/bin/su -p -s /bin/sh tomcat9.0 $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
37. etc/init.d/tomcat9.0의 액세스 권한을 변경하고 기호 링크를 생성합니다.
$ sudo chmod 755 /etc/init.d/tomcat9.0
$ sudo ln -s /etc/init.d/tomcat9.0 /etc/rc1.d/K99tomcat
$ sudo ln -s /etc/init.d/tomcat9.0 /etc/rc2.d/S99tomcat
38. 부팅 시 시작되는 서비스로 Tomcat을 설정합니다. 먼저 JSVC를 빌드합니다. 시스템에 JSVC가 이미 설치된 경우 다음 단계로 이동합니다.
$ sudo apt-get install gcc
39. 부팅 시 Tomcat 서비스를 설정합니다.
$ cd /usr/share/tomcat9.0/9.0.xx/bin/
$ sudo tar xvfz commons-daemon-native.tar.gz
$ cd commons-daemon-*-native-src/unix
$ sudo ./configure --with-java=$JAVA_HOME
$ sudo apt-get install make
$ sudo make
$ sudo cp jsvc ../..
40. Tomcat 서비스 파일을 생성합니다.
$ sudo touch /etc/systemd/system/tomcat9.0.service
41. 텍스트 편집기에서 루트로 /etc/systemd/system/tomcat9.0.service를 엽니다.
$ sudo vi /etc/systemd/system/tomcat9.0.service
a. 다음을 Tomcat 서비스 파일에 붙여넣습니다.
* 
아래 예에서 -Xms-Xmx에 대한 값을 가용 OS 메모리의 75%로 설정합니다(예: 16GB RAM 시스템의 경우 12GB). 자세한 내용은 JVM 조정을 참조하십시오.
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking
PIDFile=/var/run/tomcat.pid
Environment=CATALINA_PID=/var/run/tomcat.pid
Environment=JAVA_HOME=/usr/lib/jvm/jdk-11.x.x_xxx
Environment=CATALINA_HOME=/usr/share/tomcat9.0/9.0.xx
Environment=CATALINA_BASE=/usr/share/tomcat9.0/9.0.xx
Environment=CATALINA_OPTS=

ExecStart=/usr/share/tomcat9.0/9.0.xx/bin/jsvc \
-DIGNITE_HOME=/usr/share/tomcat9.0/ignite \”
-Dcatalina.home=${CATALINA_HOME} \
-Dcatalina.base=${CATALINA_BASE} \
-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dserver -Dd64 -XX:+UseNUMA -Dlog4j2.formatMsgNoLookups=true \
-XX:+UseG1GC -Dfile.encoding=UTF-8 \
-Xms=<75% of available OS memory> \
-Xmx=<75% of available OS memory> \
-Djava.library.path=${CATALINA_BASE}/webapps/Thingworx/WEB-INF/extensions \
-cp ${CATALINA_HOME}/bin/commons-daemon.jar:${CATALINA_HOME}/bin/bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar \
-user tomcat9.0 \
-java-home ${JAVA_HOME} \
-pidfile /var/run/tomcat.pid \
-errfile ${CATALINA_HOME}/logs/catalina.out \
-outfile ${CATALINA_HOME}/logs/catalina.out \
$CATALINA_OPTS \
org.apache.catalina.startup.Bootstrap
[Install]
WantedBy=multi-user.target
b. 시스템 시작 시 실행되도록 Tomcat을 설정합니다.
$ sudo systemctl daemon-reload
$ sudo systemctl enable tomcat9.0.service
c. 재부팅 후 Tomcat 서비스가 자동으로 시작되지 않고 sudo systemctl enable tomcat9.0.service 실행 시
update-rc.d: error: tomcatx.x Default-Start contains no runlevels, aborting.
오류가 나타나면
다음 단계를 수행해야 합니다.
/etc/init.d에 있는 tomcat9.0.service 파일을 제거하고 다음 명령을 다시 실행합니다.
$ sudo systemctl daemon-reload
$ sudo systemctl enable tomcat9.0.service
insserv: warning: script 'tomcat9.0' missing LSB tags and override
오류가 나타나면
/etc/systemd/system/tomcat9.0.service에 다음을 추가합니다.
#!/bin/sh
### BEGIN INIT INFO
# Provides: tomcat8.5
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: tomcat8.5
# Description: tomcat8 service
### END INIT INFO
sudo service tomcat9.0 start
를 실행합니다.
42. ThingWorx Platform을 처음으로 설치하는 경우 위의 ExecStart 블록에서 -Djava.library.path로 시작하는 줄 바로 다음에 Java 옵션 -Duser.timezone=UTC를 추가해야 합니다. UTC 표준 시간대는 일광 절약 시간을 인식하지 않습니다. 이 옵션을 설정하면 일광 절약 시간 변경이 발생할 때 데이터를 덮어쓰는 것이 방지됩니다.
43. Apache Ignite 2.14.0 이상 및 Ubuntu 22.04에 설치하는 경우 -Djava.net.preferIPv4Stack=true var in setEnv.sh를 설정합니다.
44. /bin 디렉터리에 setenv.sh라는 새 파일을 만듭니다.
$ cd $CATALINA_HOME/bin
$ sudo touch setenv.sh
$ sudo vi setenv.sh
CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/usr/share/tomcat9.0/9.0.xx/webapps/Thingworx/WEB-INF/extensions"
45. Tomcat 설치 위치에서 $CATALINA_HOME/conf/web.xml을 엽니다. 다음을 web.xml 파일에 추가하여 기본 오류 페이지(기본값: stacktrace)를 바꿉니다. 다음을 web-app 태그(welcome-file-list 태그 뒤) 내에 배치합니다. 제대로 구성된 웹 응용 프로그램은 $CATALINA_HOME/webapps/APP_NAME/WEB-INF/web.xml에서 이 기본값을 재정의하므로 문제가 발생하지 않습니다.
<error-page><exception-type>java.lang.Throwable</exception-type><location>/error.jsp</location></error-page>
46. Tomcat 설치 위치에서 $CATALINA_HOME/conf/server.xml을 엽니다. <Host> </Host> 태그 내부에 다음을 추가합니다.
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
47. /<tomcat의 경로>/webapps/에 있는 모든 Tomcat 예제 웹 앱(docs, examples, host-manager, manager, ROOT)을 제거합니다. 이러한 앱을 제거하면 특히 사용자가 다른 사용자 쿠키를 볼 수 있도록 허용하는 컨텍스트에서 Tomcat에 대한 불필요한 액세스를 방지할 수 있습니다.
48. PTC에서는 ThingWorx 실행 시 TLS를 사용할 것을 강력히 권장합니다. TLS 설정에 대한 자세한 내용은 이 기술 지원 문서를 참조하십시오.
49. 응용 프로그램에 특정 암호화 제품군이 필요한 경우 구성 정보는 다음 설명서를 참조하십시오.
50. (선택적 단계) 정적 파일 캐싱에 영향을 주는 기본 캐시 설정을 늘리려면 $CATALINA_HOME/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. /ThingworxStorage/ThingworxBackupStorage 디렉터리를 생성합니다. 아직 생성하지 않은 경우 /ThingworxPlatform 디렉터리도 생성합니다.
$ sudo mkdir /ThingworxStorage /ThingworxBackupStorage /ThingworxPlatform
2. /ThingworxPlatform, /ThingworxStorage /ThingworxBackupStorage의 소유자와 액세스 권한을 변경합니다. 이러한 권한이 없으면 서버가 시작하지 않습니다.
* 
이러한 폴더에는 적절한 소유권과 액세스 권한이 있어야 합니다. 이러한 폴더는 Tomcat 서비스를 실행하는 사용자와 동일한 사용자가 소유해야 하며 해당 사용자에게 전체 제어 권한이 지정되어야 합니다. 이 사용자는 일반적으로 NETWORK_SERVICE이지만 사용자 환경에서는 다를 수 있습니다. 이러한 권한이 없으면 서버가 시작하지 않습니다.
$ sudo chown tomcat9.0:tomcat9.0 /ThingworxStorage /ThingworxBackupStorage /ThingworxPlatform
$ sudo chmod 775 /ThingworxStorage /ThingworxBackupStorage /ThingworxPlatform
3. 사용하는 데이터베이스에 대한 적절한 Thingworx 파일을 가져옵니다. 최신 ThingWorx 다운로드는 support.ptc.com소프트웨어 다운로드 > 소프트웨어 업데이트 주문 또는 다운로드 > ThingWorx Foundation > Release X.X > ThingWorx PostgreSQL, ThingWorx Mssql, ThingWorx H2 또는 ThingWorx AzureSql > 최근 제조코드 > ThingWorx Platform-<데이터베이스 유형>-<버전>에 게시됩니다.
4. Thingworx.war$CATALINA_HOME/webapps로 이동합니다.
$ sudo mv Thingworx.war $CATALINA_HOME/webapps
$ sudo chown tomcat9.0:tomcat9.0 $CATALINA_HOME/webapps/Thingworx.war
$ sudo chmod 775 $CATALINA_HOME/webapps/Thingworx.war
5. ThingworxPlatform 폴더에 platform-settings.json을 배치합니다.
* 
H2를 사용하는 경우 platform-settings.json 파일을 만들어야 합니다. 이 파일은 다운로드에 포함되지 않습니다.

$ sudo cp platform-settings.json /ThingworxPlatform/
6. H2를 데이터베이스로 사용하는 경우 이 단계를 수행합니다. H2를 데이터베이스로 사용하지 않는 경우 다음 단계로 이동합니다. platform-settings.json 파일에 H2에 대한 사용자 이름 및 암호를 추가합니다. 자세한 정보는 platform-settings.json 구성 세부 정보를 참조하십시오.
* 
H2 데이터베이스에 ThingWorx를 연결하려면 사용자가 정의한 사용자 이름 및 암호가 필요합니다. 없으면 서버가 시작되지 않습니다. 이 설계로 인해 CVE-2018-10054에서 나타날 수 있는 잠재적 취약점이 완전하게 완화됩니다.
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<addsecurepassword>",
"username": "twadmin"
}
},
7. Azure SQL을 데이터베이스로 사용하는 경우 이 단계를 수행합니다. 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. 관리자 암호를 구성합니다.
다음 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 파일이 올바르게 서식 적용되었는지 여부(잘못된 서식이 적용되면 오류가 발생할 수 있음)
9. 확장 가져오기를 사용합니다. 기본적으로 모든 사용자에 대해 확장 가져오기가 비활성화됩니다.
다음을 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>
},
10. 데이터베이스에 대해 H2를 사용하지 않는 경우 데이터베이스 설치 및 구성으로 이동하여 데이터베이스를 설정합니다. 데이터베이스가 구성되면 다음 단계로 돌아갑니다. H2를 사용하고 있는 경우 다음 단계로 진행합니다.
11. 라이선스를 구성합니다.
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>"
}
}
}
* 
설정이 잘못 작성되거나 서버가 연결할 수 없는 경우 라이선스 요청 텍스트 파일(licenseRequestFile.txt)이 ThingworxPlatform 폴더에 생성됩니다. 이 시나리오에서는 라이선스를 수동으로 생성해야 합니다. 라이선스를 만들지 않은 경우 ThingWorx가 제한된 모드에서 시작됩니다. 제한된 모드에서는 라이선스가 허여된 엔티티를 데이터베이스에 지속할 수 없습니다. 라이선스가 부여된 엔티티는 사물, 매쉬업, 마스터, 가젯, 사용자 및 지속성 공급자입니다.
라이선스 관리 사이트를 통해 ThingWorx 연결이 끊긴 사이트 라이선스를 얻는 방법에 대한 자세한 내용은 연결이 끊긴 사이트에 대한 ThingWorx Platform용 라이선스를 참조하십시오(PTC 지원 포털에 연결되지 않음). 이 경우 라이선스 파일을 수동으로 생성하면 해당 파일의 이름을 license_capability_response.bin으로 변경하고 해당 파일을 ThingworxPlatform 폴더에 배치해야 합니다.
* 
라이선스 문제 해결에 대한 자세한 내용은 이 지원 문서를 참조하십시오.
12. 암호 암호화에서 다음 단계를 수행하여 라이선스 서버 암호를 암호화합니다.
13. 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 디렉터리로 복사합니다.
14. Tomcat을 시작합니다.
sudo service tomcat9.0 start
라이선스 파일(successful_license_capability_response.bin)이 ThingworxPlatform 폴더에 생성되었는지 확인합니다.
15. ThingWorx를시작하려면 웹 브라우저에서 http://<서버 이름>:<포트>/Thingworx로 이동합니다.
16. 초기 관리자 암호를 변경합니다.
a. Composer에서 관리자 > 암호 변경을 선택합니다.
b. 암호 변경 창에서 현재 암호, 새 암호암호 확인을 입력합니다.
* 
암호는 쉽게 추측할 수 없고, 알 수 없어야 하며, 공통 암호가 아니어야 합니다. 길이는 14자 이상이 권장되며 대문자, 소문자, 숫자 및 특수 문자가 조합되어야 합니다.
c. platform-settings.json 파일에서 초기 암호를 삭제합니다.
17. 완료를 선택합니다.
18. (선택적 단계) 라이선스 상태를 확인하려면 Composer에서 모니터링>하위 시스템>라이선싱 하위 시스템 설정을 열어 라이선스가 포함된 기능(라이선스가 허여된 엔티티)의 목록을 확인합니다. 라이선스가 허여된 엔티티가 없으면 제한된 모드 상태입니다.
도움이 되셨나요?