企業の経営管理に必要な情報を、1つのシステムで管理できるウォルターズ・クルワーの提供する経営管理プラットフォーム「CCH®Tagetik」。
全世界で2000社の利用実績を有し、日本国内でも多くのお客様が採用しているシステムになります。当社メンバーもいくつかのプロジェクトに携わらせていただいています。
このブログでは、自社の技術検証用の環境を構築した際の備忘として、全4回にわたり、CCH® Tagetikの環境構築手順をご説明します。
※本記事は、株式会社KYOSOによる技術検証の経験に基づいたものであり、CCH® Tagetikの公式ドキュメントではありません。 製品のアップデートにより、本記事の内容が最新の仕様と異なる可能性があります。導入に際しては、最新の公式情報をご確認ください。
全体の手順
CCH® Tagetikアプリケーション環境構築の全体の手順は、以下の通りです。
- JDKの設定
- PostgreSQL 13の設定
- Wildflyの設定
- Data Sourceの設定
- アプリケーションデプロイ
- CCH® Tagetikの初回ログイン
- ログイン後の初期設定
- Apacheの設定
- Elastic IPアドレスの設定
- サーバー証明書の設定
今回のブログのゴール
全4回のブログを通じたゴールは、「構築したCCH® Tagetik環境にログインできる」ことですが、今回のブログは、「JDK、PostgreSQL 13の導入とデータベース設定」を行うところまでをご説明します。

手順
CCH® Tagetikを利用するためには、アプリケーションサーバーが必要ですが、今回はCCH® Tagetikと互換性のある「Wildfly」の設定を行います。WildFlyを使用するには、Java 8 以上がインストールされている必要があります。
本環境では、JDK11.0.2をインストールします。
JDKの設定
1.コマンドプロンプトより、以下コマンドを実行し、JDKがインストールされていないことを確認します。
JDKがインストールされていない場合、下図のようなメッセージが表示されます。
※後述の手順11のようにJDKのバージョンが表示された場合はインストールは不要です。

2.CCH® Tagetikのコミュニティサイトより、Installation Bundleをダウンロードします。
※CCH® Tagetikコミュニティサイトについては、ウォルターズ・クルワー(Tagetik Japan)までご確認ください。
3.ダウンロードしたInstallation Bundleのzipファイルを解凍します。
解凍したInstallation Bundleに格納されている「jdk-11.0.2」をCドライブ直下へ配置します。

4.「コントロールパネル」 > 「システム」 > 「システムの詳細設定」をクリックします。

5.詳細設定のタブより、「環境変数」をクリックします。

6.システム環境変数一覧からPathを選択し、「編集」をクリックします。

7.「新規」をクリックし、Cフォルダ配下にコピーしたJDKインストールフォルダ内の
「bin」フォルダパスを設定します。設定後、「OK」をクリックします。
※手順3で別フォルダに配置した場合は、配置したフォルダ配下の「bin」フォルダパスを指定してください。

8.システム環境変数の「新規」をクリックします。

9.以下を設定し、「OK」をクリックします。
- 変数名:JAVA_HOME
- 変数値:Cドライブにコピーしたインストールフォルダ

10.システム環境変数に「JAVA_HOME」が追加されたことを確認し「OK」ボタンをクリックします。

11.再度コマンドプロンプトを開き、以下コマンドよりバージョンが表示されれば正常に
インストールされています。

PostgreSQL 13の設定
データベースはPostgreSQL 13を採用します。本環境では「PostgreSQL13.10-2」をインストールします。
PostgreSQL 13のインストール
1.以下URLから、Version13のインストーラーをダウンロードします。https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

2.ダウンロードしたインストーラーを「管理者として実行」します。

3.「Next」をクリックします。

4.インストール先を指定し、「Next」をクリックします。

5.「Next」をクリックします。

6.データの保存先を指定し、「Next」をクリックします。

7.スーパーユーザーpostgresのパスワードを設定し、「Next」をクリックします。

8.PostgreSQLのポートを指定し、「Next」をクリックします。

9.デフォルトのロケールを選択し「Next」をクリックします。

10.「Next」をクリックします。

11.「Next」をクリックします。

12.インストールがされます(数分かかります)。終わったら「Next」をクリックします。

13.チェックをはずし、「Finish」をクリックします。

データベースの設定
ロールの作成
PostgreSQL のロールとは一般的にユーザーと呼ばれるものとグループと呼ばれるものの二つの性質を
兼ね備えたものになります。
1.PostgreSQL 13を起動し、postgresユーザーでログインします。

2.以下コマンドで、CCH®Tagetik専用のロールおよびユーザー「tagetikcpm」を作成します。
※ロール名、パスワードは任意の文字列でも設定可能です。
コマンド実行後、「CREATE ROLE」が表示されれば正常に作成されています。

3.以下コマンドより、「tagetikcpm」がロール一覧に追加されていることを確認します。
\du
データベースの作成
アプリケーションには、最低2つのデータベースが必要になります。

1.以下コマンドより、アプリケーションの構成情報、ユーザー情報、監査ログ、アーカイブデータなどを含むデータベース(REPOSITORY)を作成します。
コマンド実行後、「CREATE DATABASE」が表示されれば正常に作成されています。

2.以下コマンドより、作成したREPOSITORYのデータベースに接続できることを確認します。
コマンド実行後、下図のメッセージが表示されていれば、正常に接続されています。

3.以下コマンドより、同様にプロジェクトのビジネスデータが格納されるデータベース(TGK_DATA_001)を作成します。コマンド実行後、「CREATE DATABASE」が表示されれば正常に作成されています。
CREATE DATABASE “TGK_DATA_001″ WITH OWNER=”tagetikcpm” ENCODING=’UTF8′ TEMPLATE=template0 LC_COLLATE=’C’ LC_CTYPE=’C’;
4.以下コマンドより、作成したTGK_DATA_001のデータベースに接続できることを確認します。
コマンド実行後、下図のメッセージが表示されていれば、正常に接続されています。

5.以下コマンドで、作成したデータベース「REPOSITORY」と「TGK_DATA_001」がデータベース
一覧に追加されていることを確認します。

拡張機能 -uuid-osspの実行-
CCH®Tagetik では、PostgreSQL のインスタンスで利用可能またはアクセスするために、PostgreSQL拡張機能であるuuid-osspを各データベースにインストールする必要があります。
1.以下コマンドより、tagetikcpmユーザーで「TGK_DATA_001」に接続します。
\c TGK_DATA_001
2.以下コマンドより、uuid-osspを実行します。
コマンド実行後、「CREATE EXTENSION」が表示されていれば正常に実行されています。

3.以下コマンドより、接続先を「REPOSITORY」に変更します。
\c REPOSITORY
4.以下コマンドより、uuid-osspを実行します。
コマンド実行後、「CREATE EXTENSION」が表示されていれば正常に実行されています。

スクリプトの適用
CCH®Tagetikコミュニティサイトで、提供されたスキーマ/データベース オブジェクトの作成用の SQL スクリプトを適用します。
1.CCH®Tagetikコミュニティサイトにて、CCH®Tagetik SP23の新規インストール用のデータベース スクリプト – 5.3(SP23)をダウンロードし、解凍します。
※CCH®Tagetikコミュニティサイトについては、ウォルターズ・クルワー(Tagetik Japan)までご確認ください。
2.以下に格納されている「postgres」フォルダを任意の場所にコピーします。
格納場所:Database scripts for new installation – 5.3 SP23\Database scripts for new installation – 5.3 SP23\postgres
3.以下コマンドより、tagetikcpmユーザーで、「TGK_DATA_001」に接続します。
\c TGK_DATA_001
4.以下コマンドより、ビジネス データのスキーマ/データベース オブジェクトのインストールに必要なtcpm_create.sqlスクリプトをTGK_DATA_001で実行します。
psql -U tagetikcpm -W -h localhost -d TGK_DATA_001 \i ‘C:\Users\Administrator\Desktop\postgres\application\tcpm_create.sql ‘
5.以下コマンドより、リレーション一覧にテーブルが作成されたことを確認します。
\dt
6.以下コマンドより、接続先を「REPOSITORY」に変更します。
\c REPOSITORY
7.以下コマンドより、リポジトリのスキーマ/データベース オブジェクトのインストールに必要なrep_create.sqlをREPOSITORYで実行します。
psql -U tagetikcpm -W -h localhost -d REPOSITORY \i ‘C:\Users\Administrator\Desktop\postgres\repo\rep_create.sql ‘
8.以下コマンドより、リレーション一覧にテーブルが作成されたことを確認します。
\dt
9.以下に格納されているビジネスデータベース(TGK_DATA_001)用「customization.sql」を図の通り変更します。
このスクリプトは 「CONFIG_NAME_DB」 テーブルを作成し、アプリケーション サーバーがスキーマ/データベースに接続するために必要な情報と、Liquibase の使用を許可するために必要な情報を挿入します。
格納場所:C:\Users\Administrator\Desktop\postgres\application

10.以下に格納されているリポジトリ(REPOSITORY)用「customization.sql」を図の通り変更します。
手順9と同様、このスクリプトは「 CONFIG_NAME_DB」 テーブルを作成し、アプリケーション サーバーがスキーマ/データベースに接続するために必要な情報と、Liquibase の使用を許可するために必要な情報を挿入します。
格納場所:C:\Users\Administrator\Desktop\postgres\repo

11.以下コマンドより、tagetikcpmユーザーで「TGK_DATA_001」に接続します。
\c TGK_DATA_001
12.以下コマンドより、customization.sqlでTGK_DATA_001にCONFIG_NAME_DBを作成します。
コマンド実行後、「CREATE TABLE」が表示されていれば正常に実行されています。

13.以下コマンドより、リレーション一覧に「CONFIG_NAME_DB」を作成されたことを確認します。
\dt
14.以下コマンドより、手順9で設定した値がCONFIG_NAME_DBに登録されていることを確認します。
SELECT * FROM config_name_db;
15.以下コマンドより、接続先を「REPOSITORY」に変更します。
\c REPOSITORY
16.以下コマンドより、customization.sqlでREPOSITORYにCONFIG_NAME_DBを作成します。
コマンド実行後、「CREATE TABLE」が表示されていれば正常に実行されています。

17.以下コマンドより、リレーション一覧に「CONFIG_NAME_DB」を作成されたことを確認します。
\dt
18.以下コマンドより、手順10で設定した値がCONFIG_NAME_DBに登録されていることを確認します。
SELECT * FROM config_name_db;
CAST.sqlの適用
Cast.sql は、データ型間のいくつかの制限された暗黙的なキャストを有効にし、アプリケーション データベースのラウンド関数を変更します。
このスクリプトは、管理者(postgres)ユーザーで各ビジネスデータベースに適用する必要があり、
性質上、バックアップのリストア後、およびアップグレード後に、このスクリプトを再度適用する必要があります。
1.以下コマンドより、一時的にエンコードを変更します。
\encoding SJIS
2.以下コマンドより、「TGK_DATA_001」に接続します。
\c TGK_DATA_001
3.以下コマンドより、CAST.sqlを実行します。
コマンド実行後、「CREATE CAST」が表示されていれば正常に実行されています。

最後に
今回は、JDKの設定とPostgreSQLの設定についてご紹介させていただきました。
次回はWildFly、Data Sourceの設定、アプリケーションデプロイについてご紹介させていただきます。
参考
・PostgreSQLのインストール(PostgreSQL 13)手順
https://postgresweb.com/how-to-install-postgresql13
投稿者プロフィール

-
BS事業部 BSグループの吉尾です。
2019年02月からCCH® Tagetikを活用した開発案件に携わっています。
主にフロントエンドを担当しており、その過程で得た知識や経験について共有していきたいと思います。