データベース設定
デモンストレーション用のデフォルトでは、Liferay DXP/Portal は組み込みHSQLデータベースを使用するように構成されています。 デモの目的以外に、次のようなフル機能のサポートされているRDBMSを使用することをお勧めします。
- MariaDB
- MySQL
- PostgreSQL
Liferay DXP 互換性マトリックス には、サポートされているデータベースとバージョンが一覧表示されています。
データベースに接続するには、次の手順が必要です。
データベース設定
データベースを選択したら、次の手順に従って構成します。
データベースを変更する前に、必ずデータベースベンダーのドキュメントを参照してください。
UTF-8に対応している空のデータベースを作成する
多言語文字セットでは、UTF-8を使用する必要があります。 UTF-8を使用するデータベースを作成します。 MySQLコマンドの例は以下の通りです:
create database lportal default character set utf8mb4 collate utf8mb4_unicode_ci;
データベースユーザーアクセスを設定する
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 | db2jcc コネクタは 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の起動時にデータソース接続を構成できます。
