설치 및 업그레이드 > ThingWorx 설치 > ThingWorx Foundation 설치 관리자 > Linux용 ThingWorx Foundation 설치 관리자
Linux용 ThingWorx Foundation 설치 관리자
A.) PostgreSQL과 함께 Linux 설치 관리자를 위한 사전 요구 사항 
* 
이 프로세스 동안 기존 설치가 발견되면 설치 관리자가 ThingWorx Foundation을 업그레이드합니다. 자세한 내용은 설치 관리자를 사용하여 ThingWorx Foundation 업그레이드를 참조하십시오.
ThingWorx Foundation 설치 관리자 도움말 항목에 요약된 정보 및 일반 사전 요구 사항을 검토했습니다.
PostgreSQL과 함께 Linux용 ThingWorx Foundation 설치 관리자를 실행하려면 다음이 있어야 합니다. 지원되는 버전에 대한 자세한 내용은 시스템 요구사항을 참조하십시오.
Java 11이 설치되어 있습니다.
* 
Java 11은 9.2.0 이상에 필요합니다.
JAVA_HOME 변수에서 Java 11 설치 디렉터리를 사용하도록 설정되어 있어야 합니다.
관리자 액세스 권한이 있는 RHEL(Red Hat Enterprise Linux)
* 
RHEL 8.2는 보안이 더 강화되었습니다. 설치 관리자를 사용하여 RHEL 8.2에 ThingWorx Foundation을 설치하는 경우 권한 문제가 발생하지 않도록 /opt 디렉터리를 사용해야 합니다. /opt 디렉터리 아래에서 선택한 디렉터리에 설치하도록 선택할 수 있습니다.
Java JDK가 설치되어 있어야 합니다.
PATH 환경 변수에 java/bin을 추가합니다.
PostgreSQL 데이터베이스
로컬 또는 원격 데이터베이스 연결. 다음 표에는 적용 가능한 사전 요구 사항이 나와 있습니다.
데이터베이스 연결
필수 조건
로컬
ThingWorx Foundation을 설치할 호스트에서 PostgreSQL 서버에 액세스할 수 있어야 합니다.
PostgreSQL이 설치되어 있으며, PostgreSQL/bin 경로가 PATH 환경 변수에 있어야 합니다.
연결 허용 및 인코딩 UTF-8 설정으로 구성된 ThingWorx 데이터베이스
데이터베이스 속성 Connection_LIMIT-1로 설정되어야 합니다. 이 값은 기본값이며 인증된 모든 사용자에게 데이터베이스에 대한 무제한 연결을 허용합니다.
다음과 같이 설정된 ThingWorx 데이터베이스의 소유자로 구성된 데이터베이스 사용자:
ThingWorx 데이터베이스에 대한 모든 권한이 이 사용자에게 부여되어야 합니다.
can login 속성이 yes로 설정되어야 합니다.
이 데이터베이스 사용자는 설치 관리자에 ThingWorx 데이터베이스 사용자 이름으로 입력됩니다.
pg_hba.conf 파일을 업데이트하여 ThingWorx Foundation 호스트에서 PostgreSQL에 대해 연결이 허용되어야 합니다.
예를 들어, 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
B.) SQL Server와 함께 Linux 설치 관리자를 위한 사전 요구 사항 
* 
이 프로세스 동안 기존 설치가 발견되면 설치 관리자가 ThingWorx Foundation을 업그레이드합니다. 자세한 내용은 설치 관리자를 사용하여 ThingWorx Foundation 업그레이드를 참조하십시오.
Microsoft SQL Server와 함께 Linux용 ThingWorx Foundation 설치 관리자를 실행하려면 다음이 있어야 합니다. 지원되는 버전에 대한 자세한 내용은 시스템 요구사항을 참조하십시오.
Java 11이 설치되어 있습니다.
* 
Java 11은 9.2.0 이상에 필요합니다.
JAVA_HOME 변수에서 Java 11 설치 디렉터리를 사용하도록 설정되어 있어야 합니다.
관리자 액세스 권한이 있는 RHEL(Red Hat Enterprise Linux)
* 
RHEL 8.2는 보안이 더 강화되었습니다. 설치 관리자를 사용하여 RHEL 8.2에 ThingWorx Foundation을 설치하는 경우 권한 문제가 발생하지 않도록 /opt 디렉터리를 사용해야 합니다. /opt 디렉터리 아래에서 선택한 디렉터리에 설치하도록 선택할 수 있습니다.
Java JDK가 설치되어 있어야 합니다.
PATH 환경 변수에 java/bin을 추가합니다.
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 키 저장소(.jks) 파일을 생성해야 합니다. Java 키 저장소(.jks) 파일에는 다음과 같은 보안 권한이 있어야 합니다.
키 저장소 파일에는 Administrator 사용자(예: root 사용자)의 소유자 및 그룹에 부여된 Read & Write & Execute 권한이 있어야 합니다.
상위 디렉터리의 권한에 따라 키 저장소 파일에도 액세스할 수 있어야 합니다. 키 저장소 파일을 포함하는 디렉터리에는 other users에 대한 Execute 권한이 있어야 합니다. 이를 통해 소유자 및 그룹 프로파일 외의 사용자가 폴더 및 해당 파일에 액세스할 수 있습니다. 디렉터리에 대한 Execute 권한을 사용하면 Tomcat에서 파일 및 폴더에 액세스할 수 있으므로 키 저장소 파일을 읽을 수 있습니다.
키 저장소를 생성할 수 있는 방법에는 여러 가지가 있습니다. 그 중 한 가지 방법은 다음과 같습니다.
1. Java/bin으로 이동합니다.
2. Tomcat 키 저장소 파일(.jks 파일)을 생성하려면 다음 명령을 실행합니다. keytool -genkey -alias selfsigned -keyalg RSA -keystore keyStore.jks -keysize 2048 -storetype jks
3. 키 저장소의 암호를 입력합니다. 이 암호는 나중에 서버를 구성하는 데 필요합니다.
* 
매개 변수는 작은따옴표('), 큰따옴표(") 또는 섹션(§)을 포함하거나 이러한 문자로 묶을 수 없습니다.
4. 메시지가 표시되면 서버의 도메인 이름을 입력합니다. 예: myserver.mycompany.com
5. 조직 단위, 조직 등의 다른 값을 입력합니다.
6. 메시지가 표시되면 키 저장소 암호를 입력합니다.
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를 사용하도록 선택한 경우 위에 언급한 사전 요구 사항에서 생성된 키 저장소 값을 입력합니다.
* 
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 화면에서 Next를 클릭합니다.
b. License Configurator를 사용하여 PTC 라이선스 서버에 연결하거나 미리 다운로드된 라이선스를 사용하여 ThingWorx Foundation를 구성합니다.
c. 라이선스 화면을 따라 단계별로 실행합니다.
7. ThingWorx Foundation 설치가 완료되었으며 이제 ThingWorx Foundation을 사용할 수 있습니다.
F.) ThingWorx Foundation Server에 연결 
1. ThingWorx Foundation URL에 액세스합니다.
예: https://<호스트 이름>:<포트>/Thingworx/Composer
ThingWorx Foundation URL은 설치 과정에서 사용한 SSL/비 SSL 및 포트의 구성에 따라 다릅니다. 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 또는 9.1을 설치하거나 업그레이드했으며 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). 여기에 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
이 오류가 나타나는 경우, 설치를 실행하기 전에 먼저 다음 명령을 실행하여 패키지 메타데이터 조회를 사용하지 않도록 설정해야 합니다.
dnf update --disablerepo=* --enablerepo='*microsoft*' rhui-azure-rhel8-eus
도움이 되셨나요?