データベース設定
デモンストレーション用のデフォルトでは、Liferay DXP/Portal は組み込みHSQLデータベースを使用するように構成されています。 デモの目的以外に、次のようなフル機能のサポートされているRDBMSを使用することをお勧めします。
- MariaDB
- MySQL
- Oracle
- PostgreSQL
Liferay DXP 互換性マトリックス には、サポートされているデータベースとバージョンがリストされています。
データベースに接続するには、次の手順が必要です。
データベース設定
データベースを選択したら、次の手順に従って構成します。
データベースを変更する前に、必ずデータベースベンダーのドキュメントを参照してください。
UTF-8に対応している空のデータベースを作成する
多言語文字セットでは、UTF-8を使用する必要があります。 UTF-8を使用するデータベースを作成します。 MySQLコマンドの例は以下の通りです:
create database lportal character set utf8;
データベースユーザーアクセスを設定する
Liferay DXPがデータを保持するには、データベースユーザーの認証情報が必要です。 最も単純で簡単な方法は、テーブルを作成および削除する権限を含む完全なデータベース権限を持つデータベースユーザーを使用することです。 このようなユーザーの場合、DXPプラグインはデータベースとシームレスに対話し、アップグレード操作は自動的に行われます。 データベースユーザーの権限をこれ以上制限することはお勧めしません。
ただし、組織によってデータベースの初期化後にLiferay DXPデータベースのユーザー権限を制限する必要がある場合は、次の高セキュリティデータベースユーザーのプラクティスを参照してください。
高セキュリティデータベースユーザーのプラクティス
組織によっては、データベースの初期化後に、Liferay DXPのデータベースユーザー権限を制限する必要がある、より厳格なセキュリティポリシーがある場合があります。 選択、挿入、更新、および削除操作の権限のみをユーザーに許可する場合は、データベースを手動で初期化および保守する必要があります。 これを実行するための推奨事項は次のとおりです。
-
Liferay DXPデータベースユーザーにデータベースに対して行うための完全な権限を付与します。
-
Liferay DXPをインストールして起動し、データベースに自動的にデータが入力されるようにします。
-
データベースにLiferay DXPテーブルが挿入されたら、選択、挿入、更新、および削除操作を実行する権限を除き、Liferay DXPデータベースユーザーからすべての権限を削除します。
一部の Liferay DXP イベントは、これらの高度なセキュリティ対策と互換性のないデータベースアクション(テーブルの作成や削除など)をトリガーすることに注意してください。 このような場合、Liferay データベース ユーザーは一時的にデータベースに対する完全な権限を持っている必要があります。
| イベント | 進め方 |
|---|---|
| オブジェクト定義の公開 | Liferay データベース ユーザーが完全なデータベース権限を持っていない限り、オブジェクトを使用しないでください。 |
| テーブルを作成するプラグインの導入 | デプロイする前に、Liferay データベース ユーザーに完全な権限を付与し、デプロイ後にデータベースを再度保護します。 |
| アップグレードの基本 | アップグレードする前に、Liferay データベース ユーザーに完全な権限を付与し、アップグレード後にデータベースを再度保護します。 |
クエリ結果の並べ替え順序を設定する(オプション)
すべてのデータベースには、結果を並べ替えるためのデフォルトの順序があります ( この記事を参照)。 この順序が気になる場合は、データベースベンダーのドキュメントを参照して並べ替え順序を確認し、必要に応じて、Liferay DXPエンティティに適したデフォルトのクエリ結果順序を使用するようにデータベースを構成してください。
データベースサーバー、データベース、およびデータベースユーザーを構成しました。 Liferay DXPがデータベースとの通信に使用するJDBCコネクターをインストールする準備が整いました。
JDBCコネクターをインストールする
Liferay DXPには、データベースと通信するためのJDBCコネクターが必要です。
オープンソースデータベース
Liferay DXPバンドルには、いくつかのオープンソースJDBCコネクターが含まれています。 コネクターファイルは通常、Tomcatの/lib/extまたはJBoss EAPおよびWildFlyの/moduleなどのアプリケーションサーバー上のグローバルフォルダに提供およびインストールされます。
OracleやDB2などの専用データベースに接続している場合は、ベンダーからコネクターをダウンロードして、アプリケーションサーバーのグローバルフォルダにインストールします。
専用データベース:
| データベース | コネクター | ベンダーサイト | メモ |
|---|---|---|---|
| DB2 | db2jcc4.jar | IBM | dbc2jccコネクターは3.72以降廃止されました。 |
| Oracle | ojdbc8.jar | Oracle | CLOB 列からデータを読み取る際に データ切り捨ての問題 が検出されたため、少なくとも Oracle 12.2.0.1.0 JDBC 4.2 バージョンの ojdbc8.jar ライブラリが必要です。 |
データソースの構成
次の表にリストされている方法のいずれかを使用して、データソース接続を組み込んだDXPを構成できます。
| メソッド | Dockerイメージで利用可能 | 本番環境に推奨 |
|---|---|---|
| Docker環境変数 | はい | はい |
| ポータルプロパティ | はい* | はい |
| セットアップウィザード | いいえ | いいえ |
Docker環境変数
DXP環境変数をDockerイメージに渡すことで、組み込みのデータソース接続を構成できます。 例については、 データベース テンプレート を参照してください。
ポータルプロパティ
ポータルプロパティファイルを使用して、Liferay Tomcatバンドル、アプリケーションサーバーのインストール、またはDockerイメージでデータソース接続を構成できます。 例については、 データベース テンプレート を参照してください。
Dockerイメージでポータルプロパティファイルを使用するには、バインドマウントまたはボリュームを使用してファイルを渡す必要があります。 詳細については、「 コンテナへのファイルの提供 」を参照してください。
セットアップウィザード
バンドルまたはアプリケーション サーバー上で非本番環境で DXP を実行している場合は、セットアップ ウィザードを使用して、 DXP の起動 中にデータ ソース接続を構成できます。
