本記事では、WebSphere 8にLiferay Portalを導入する方法を解説します。
解決策
WebSphere アプリケーションサーバーに変更を加える前に、まず サーバーを停止してください。 失敗するとエラーの原因になります。
Liferay Portalの最新バージョンである6.1以降では、WebSphereでのホットデプロイが可能になっています。 この機能を正しく設定するためには、auto.deploy.dest.dirがliferay.homedirectoryとは別のディレクトリであることを確認します。 つまり、 、 liferay.home を C:/home と設定せず、同様に auto.deploy.dest.dir を C:/home/deploy と設定しない。そうすると liferay.home と auto.deploy.dest.dir の両方の deploy フォルダが同一になって、プラグインデプロイの際に問題が発生します。
デプロイ前に portal-ext.properties を Liferay.war ファイル内に配置し、必要な .jar と .war ファイルを取得します。
以下の.jarファイルが必要です。
- hsql.jar
- portal-service.jar
- ポートレット.jar
また、以下の.jarファイルが必要です。
- jtds.jar
- mysql.jar
- 永続化.jar
- postgresql.jar
- サーブレットアピ.ジャー
- activation.jar (メール統合時のみ)
- mail.jar (メール統合時のみ)
WebSphere上でのLiferayのセットアップ
- この場所に、以下の.jarファイルを配置します:C:¥Program FilesIBM¥WebSphere¥AppServer¥lib¥ext
- hsql.jar
- jtds.jar
- mysql.jar
- 永続化.jar
- portal-service.jar
- postgresql.jar
- この場所に、以下の.jarファイルを配置します:C:╱Program FilesIBM WebSphere AppServer
- サーブレットアピ.ジャー
- ポートレット.jar
- オプションで、特にメール連携が必要な場合のみ使用します:C:¥Program FilesIBM¥WebSphere¥AppServer¥java¥jre¥lib¥ext
- アクティベーション.jar
- mail.jar
- スタート > プログラム > IBM WebSphere > Application Server V8.0 > プロファイル > AppSrv01に移動して、WebSphere 8 Server を起動し、 Start the Serverをクリックします。
- スタート > プログラム > IBM WebSphere > Application Server V8.0 > プロファイル > AppSrv01、そして Administrative Consoleをクリックし、Administrative Console を起動します。
- アプリケーション > アプリケーションの種類 > WebSphere Enterprise Applicationに移動します。 すでにいくつかのアプリケーションが稼働しています。 すべてのアプリケーションを確認し、 停止をクリックします。 デフォルトのアプリケーションをアンインストールすると、Liferay Portalのデフォルトのコンテキストルート設定と衝突するためです。
WebSphereの最適化(WebSphereでLiferayを正しく機能させるために必要なこと)
Liferay Portalを起動する前に、Javaとダイナミック・キャッシュ・サービスのいくつかの設定を変更して、WebSphereを最適化する必要があります。 これらの設定を変更することで、Liferay Portalが遅くなったり、クラッシュしたり、DockバーやCKEditorのような必須機能を失うことなく正しく機能するようになります。
-
アプリケーションサーバ > Server1 > Javaとプロセス管理 > プロセス定義 > Java仮想マシンへ移動します。
- 初期ヒープサイズ=256MBに設定
- 最大ヒープサイズ=1024MBに設定
- バーボーズ・ガベージコレクションがtrueに設定されている
- Generic JVMの引数を設定:-Xk22000 -Xp64k,16k
-
アプリケーションサーバー > server1 > コンテナサービス >ダイナミックキャッシュサービスへ移動します。
- キャッシュサイズ=3000に設定
- デフォルトの優先順位 = 3 に設定
-
アプリケーションサーバー > server1 > Webコンテナ > カスタムプロパティへ移動します。
- 名前 = com.ibm.ws.webcontainer.AllowQueryParamWithNoEqual
- 値=true
- ポータルを起動する前に、サーバーを停止し、再起動します。
JNDIを使用して接続するためのポータルの設定
デフォルトでは、portal.propertiesのLiferay PortalのMySQL接続は、JDBC接続になっています。 しかし、ユーザーは純粋なJDBCではなく、JNDI接続でデータベースに接続することも可能です。 JNDIを使用して、ユーザーはPoolDataSourceまたはXADataSourceとして設定するオプションがあります。
JNDI PoolDataSourceの接続ステップ。
- 左のドロップダウンメニューから、 Resources をクリックします。
- JDBC プロバイダをクリックします。
- Scope ドロップダウンメニューから、ノードとサーバーの両方がある3番目のオプションを選択します。
- New... ボタンをクリックします。
- 以下を選択します:
- データベースの種類ユーザー定義
- 実装クラス名: com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource
- 名前MySQLプロバイダ
- 説明します:MySQLのJNDI接続
- 次へをクリックします。
- クラスパスの値を削除します。 これは、独自のmysql.jarを使用するためです。 サーバーを起動する前に、mysql.jar ファイルが WebSphere ディレクトリの適切な場所に既にあることを確認してください。
- 次へをクリックします。
- 終了 ボタンをクリックします。
- クリック 保存
- MySQLプロバイダー が、新しい JDBCプロバイダーとして表示されるようになったと仮定する。
- 新しく作成した MySQL Providerをクリックします。
- [Additional Properties]の下の[Data Sources]をクリックします。
- New ボタンをクリックします。
- データソース名欄にliferaydatabasesourceと入力します。
- JNDI 名の欄に java_liferay:jdbc/LiferayPool と入力します。
- 次の画面は 次へ をクリックし、Summary ページまでは初期値のままにしておきます。
- 終了をクリックする
- クリック 保存
- liferaydatabasesourceが新しいデータソースとして表示されるようになったことを確認します。
- liferaydatabasesourceのリンクをクリックします。
- 追加プロパティの下にある カスタムプロパティ をクリックします。
-
Show filter functionをクリックします。 以下の項目を検索し、該当する値を入力してください:
- フィルター名前です。 検索ワード"
- user - Value: root (匿名ユーザーの場合は空白)
- serverName - 値:値:データベースIPアドレスまたは(localhost)
- databaseName - Value: データベース名
- クリック OK
- クリック 保存
portal-ext.propertiesに、以下を追加します:
plugin.notifications.enabled=false jdbc.default.jndi.name=java_liferay:jdbc/LiferayPool liferay.home= auto.deploy.dest.dir=.
これは、デフォルトのJDBC接続に代わるものです。 どちらか一方でなければならない。
JNDIとXA Datasourceについては、いくつかの重要な違いがあります。 特に、ソースファイルから入手できるmysql.jarの代わりに、mysql-connector-java-5.1.25-bin.jarを使用してください。 次に、Implementation class nameの欄にXA接続を指定します。
- 左のドロップダウンメニューから、 Resources をクリックします。
- JDBC プロバイダをクリックします。
- スコープのドロップダウンから、ノードとサーバーの両方がある3番目のオプションを選択します。
- New... ボタンをクリックします。
- 以下を選択します:
- データベースの種類ユーザー定義
- 実装クラス名: com.mysql.jdbc.jdbc2.optional.MysqlXADataSource.
- 名前MySQLプロバイダ
- 説明します:MySQLのJNDI接続
- 次へ」をクリックします。
- クラスパスの値を削除します。 これは、独自のmysql-connector-java-5.1.25-bin.jarを使用するためです。 サーバーを起動する前に、mysql-connector-java-5.1.25-bin.jar ファイルが WebSphere ディレクトリの適切な場所に既にあることを確認してください。
- 次へをクリックします。
- Finish ボタンをクリックします。
この時点以降も、JNDIセクションと同じ手順で進めます。
メール統合のためのEquifax証明書の設定(オプションですが、Gmailを使用してメール統合機能をテストする場合は必須です。)
デフォルトでは、WebSphere はドメイン smtp.gmail.com で使用されている Equifax Secure Certificate Authority を信頼しません。 このため、Gmailを使ったメール連携を正しく行うためには、この証明書を信頼できる証明書に追加する必要があります。
- 証明書は以下のリンクからダウンロードしてください:https://www.geotrust.com/resources/root_certificates/certificates/Equifax_Secure_Certificate_Authority.cer
-
管理コンソールで、SSL証明書と鍵の管理に進み、エンドポイントセキュリティ設定の管理に進みます。
- ノードを選択します(どちらか一方でもかまいません)。
- キーストアと証明書 にアクセスします。
- NodeDefaultTrustStoreにアクセスします。
- 署名者証明書にアクセスします。
-
Add をクリックし、エイリアスとして equifax と入力し、.cer ファイルのパスを入力します。
- 応募してお得
- Equifaxの証明書が追加されます。
- 上記のように、activation.jarとmail.jarがC:¥Program Files¥IBM¥WebSphere¥AppServer¥java¥jre¥lib¥ext ディレクトリに追加されていることを確認する。
Liferay Portalのインストールと起動
必要な手順がすべて完了すると、アプリケーションサーバーはLiferay Portalを展開する準備が整いました。 liferay.warファイルを新しいアプリケーションとしてインストールし、プロンプトに従います。 マスター構成に保存し、Liferay Portalを起動します。 ポータルは9080番ポートで起動します。