データベース設定
デモンストレーション用のデフォルトでは、Liferay DXP/Portal は組み込みHSQLデータベースを使用するように構成されています。 デモの目的以外に、次のようなフル機能のサポートされているRDBMSを使用することをお勧めします。
- MariaDB
- MySQL
- Oracle
- PostgreSQL
Liferay DXP Compatibility Matrix には、サポートされているデータベースとバージョンが一覧表示されています。
データベースに接続するには、次の手順が必要です。
データベース設定
データベースを選択したら、次の手順に従って構成します。
データベースを変更する前に、必ずデータベースベンダーのドキュメントを参照してください。
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のイベントの中には、これらの高いセキュリティのステップと互換性のないデータベースアクション(例えば、テーブルの作成と削除)を引き起こすものがあります。 これらのイベントは、Liferayデータベースのユーザーがデータベースに対するフルパーミッションを持っていることを必要とします。
Event | How to Proceed |
---|---|
Publishing Object Definitions | Liferayデータベースユーザーが完全なデータベース権限を持っていない場合はObjectsを使用しないでください。 |
テーブルを作成するプラグインをデプロイする | デプロイする前に、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の起動時にデータソース接続を構成できます。