Linux 用 ThingWorx Foundation インストーラ
A.) Linux インストーラと PostgreSQL の必要条件
• PostgreSQL で Linux 用 ThingWorx Foundation インストーラを実行するには、以下が必要です。サポートされているバージョンについては、
システム要件を参照してください。
◦ Java 11 がインストールされている
| 9.2.0 以降では Java 11 が必要です。 • Java 11 のインストールディレクトリを使用するように JAVA_HOME 変数を設定します。 |
◦ 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 環境変数に存在する。 • 接続可能でエンコーディングが 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 の Web サイトを参照してください。 次に、パスワード認証が 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.) Linux インストーラと SQL Server の必要条件
Microsoft SQL Server で Linux 用 ThingWorx Foundation インストーラを実行するには、以下が必要です。サポートされているバージョンについては、
システム要件を参照してください。
• Java 11 がインストールされている
| 9.2.0 以降では Java 11 が必要です。 |
◦ Java 11 のインストールディレクトリを使用するように JAVA_HOME 変数を設定します。
• 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 キーストア (.jks) ファイルを生成しなければなりません。Java キーストア (.jks) ファイルには、以下のセキュリティアクセス許可が必要です。
• 所有者と管理者ユーザーのグループ (ルートユーザーなど) に、キーストアファイルに対する読み取り/書き込み/実行アクセス許可が付与されている必要があります。
さらに、キーストアファイルには、その親ディレクトリのアクセス許可に基づいてアクセス可能である必要があります。キーストアファイルが格納されているディレクトリに対する実行アクセス許可がほかのユーザーに付与されている必要があります。これにより、所有者およびグループプロファイル以外のユーザーがフォルダとそのファイルにアクセスできるようになります。ディレクトリに対する実行アクセス許可により、Tomcat はファイルとフォルダにアクセスし、キーストアファイルを読み取ることが可能になります。
キーストアを生成する方法はいくつかあり、その 1 つを以下に示します。
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-Platform-Foundation-Installer-x-x-x-Linux-postgres をダウンロードします。
または
Microsoft SQL Server の場合、
support.ptc.com の > > > > > から、
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 を使用する場合、前述の必要条件の手順で生成したキーストアの値を入力します。 |
| /opt ディレクトリ以外に ThingWorx Foundation をインストールしようとすると、インストールが正常に行われないことがあります。RHEL では、オペレーティングシステムに対してセキュリティ制限が適用され、これはインストーラの制御の範囲を超えています。これが発生した場合、/opt ディレクトリにインストールする必要があります。 |
6. 最後のインストーラ画面では、「Open License Configurator」チェックボックスがデフォルトでオンになっています。このチェックボックスがオンになっている場合、インストーラが完了して閉じた後、ライセンスコンフィギュレータが開きます。「Open 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。
ThingWorx Foundation の URL は、SSL/非 SSL の設定とセットアップ中に使用されるポートによって異なります。SSL はデフォルトで有効になっていますが、SSL/TLS の使用は無効にできます。上記の「インストーラで SSL/TLS を有効にするための必要条件」セクションを参照してください。
2. ユーザーの資格証明を指定します。
ユーザー名は Administrator で、パスワードはセットアップ中に入力したものです。
G.) インストーラのその他の機能とトラブルシューティング
Linux での ThingWorx Foundation サービスの開始/停止
1. 管理者権限 (sudo を実行) を持つユーザーとして ThingWorx ホストにログインします。
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. プロンプトが表示されたら、「OK」をクリックして、アンインストールを続行することを確認します。
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 へのアップグレード
インストーラを使用して ThingWorx 9.0.x または 9.1.x と Java 8 をインストールまたはアップグレードしており、Java 11.0.8 を使用する必要がある場合、以下の手順に従います。
1. Java 11 をインストールします。
2. Java 実行ファイルの場所の下の Java 11 インストールディレクトリのパスをコピーします。
| 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