Tuesday, July 28, 2020

Alfresco 201911GAをzipからインストールしてみよう【その2】

こんにちは。たなかです。

3月から自宅作業が続いているため買い物くらいしか外出せず目標歩数が程遠いです。
意識して散歩しないとと思いつつ、つい自転車に乗ってしまう今日この頃です。

前回SolrなしでAlfrescoをインストールして起動確認するところまで紹介したので、今回はAlfresco CE 201911GAをzipからインストールしてみようの第2回としてSolrのインストール手順をご紹介します。
環境等については前回の記事をご覧いただけたらと思います。

まずはalfresco-search-services-1.4.0.zipを先にダウンロードしておき、作業用ディレクトリに置いておきます。

Solrのインストール


※ 今回はTLSの設定はしていません

alfresco-search-services-1.4.0.zipを展開する
cd /opt/alfresco
unzip [作業用ディレクトリ]/alfresco-search-services-1.4.0.zip
cd alfresco-search-services

検索で複数言語をサポートする設定を行うため、shared.propertiesを編集し保存する
vim solrhome/conf/shared.properties
以下の3行のコメントを外し、設定を有効化する
alfresco.cross.locale.datatype.0={http://www.alfresco.org/model/dictionary/1.0}text
alfresco.cross.locale.datatype.1={http://www.alfresco.org/model/dictionary/1.0}content
alfresco.cross.locale.datatype.2={http://www.alfresco.org/model/dictionary/1.0}mltext
今回はSSLなしで起動するため、以下の2つのファイルをhttpsを使わない設定に変更する
vim solrhome/templates/noRerank/conf/solrcore.properties

vim solrhome/templates/rerank/conf/solrcore.properties
以下の設定をhttpsからnoneに修正する
alfresco.secureComms=none
以下のコマンドでSolrを起動する(全てデフォルト設定での起動)
solr/bin/solr start -force -a "-Dcreate.alfresco.defaults=alfresco,archive"

※ Solrを起動しようとするとrootユーザーで起動するのはセキュリティ上のリスクですと言うWarningが出るので、-force オプションを付けて起動していますが、本番環境では起動用のユーザ(solrなど)を作って起動してください

ブラウザで以下のURLを開き、Core Selectorドロップダウンリストにalfrescoとarchiveというコアができていることを確認する
http://localhost:8983/solr



"-Dcreate.alfresco.defaults = alfresco, archive" は、AlfrescoコアとArchiveコアを自動的に作成するためのオプションです。
そのため、Solrを初めて起動するときは上記オプションを使用して起動しますが、2回目以降は   -a "-Dcreate.alfresco.defaults=alfresco,archive" のオプションは不要です。

Solrを停止したい場合は以下のコマンドを使用する
solr/bin/solr stop

Solrのログはデフォルトで以下に保存されます。
/opt/alfresco/alfresco-search-services/logs/solr.log

Alfrescoの起動と検索の確認


Tomcatを起動する
cd /opt/alfresco
tomcat/bin/startup.sh

ブラウザで以下のURLを開き、admin/admin でログインする
http://localhost:8080/share

ヘッダ右にある検索窓から適当なキーワードで検索して検索結果が表示されることを確認する

これでSolrのインストールとAlfrescoの起動確認ができました。
次回は3回目(最終回)としてLibreOfficeやImageMagick等のインストールをご紹介します。

Tuesday, July 21, 2020

Liferayカスタマイズに欠かせないApplication Display Template(ADT)の紹介

とたにです。


今回はLiferayのカスタマイズでは欠かせないApplication Display Template(ADT)について紹介しようと思います。

 ADTとは

Liferayのアセットエンティティを表示する標準ポートレット(ナビゲーションメニューやアセットパブリッシャーなど)の見た目を変更するためのテンプレートのことです。

「見た目を変更する」と書いているのは表示対象となるエンティティ(ナビゲーションメニューの場合にはページ階層)は変えずに、表示形式のみを変更するためです。

 ADTに対応したポートレット

Liferay標準のポートレットでは以下がADTに対応しています。
  • RSSアセットパブリッシャー
  • Wiki
  • アセットパブリッシャー
  • カテゴリナビゲーション
  • サイトマップ
  • タグナビゲーション
  • ナビゲーションメニュー
  • パンくずリスト
  • ブログ
  • メディアギャラリー 

実際に作ってみる

説明だけではイメージしずらいので、今回はナビゲーションメニューを使ってカード形式のナビゲーションを作ってみようと思います。
今回はLiferay DXP 7.2を使用します。

ADTの登録方法

サイト→サイトビルダー → アプリケーションディスプレイテンプレート をクリックします。



+アイコンからナビゲーションメニューテンプレートを選択します。


以下のように入力して保存します。

  • 名前: card menu ADT
  • 詳細はデフォルトままでOKです。(フォーマットはFreeMarkerが選択されます)
  • スクリプトとして以下を記述して保存します。
<#if preview>
  <div class="alert alert-info">
   <@liferay.language key="there-are-no-pages-to-display-for-the-current-page-level" />
  </div>
 </#if>
<#else>
 <#assign
  portletDisplay = themeDisplay.getPortletDisplay()
  navbarId = "navbar_" + portletDisplay.getId()
 />
 <div id="${navbarId}">
  <ul aria-label=<@liferay.language key="site-pages" />" class="display-style-icon list-unstyled row navigation-menu-portlet" role="menubar">
   <h1 class="hide-accessible"><@liferay.language key="navigation" /></h1>
   <#assign navItems = entries />
   <#list navItems as navItem>
    <#assign showChildren = (displayDepth != 1) && navItem.hasBrowsableChildren() />
    <#if navItem.isBrowsable() || showChildren>
     <#assign
      nav_item_attr_selected = ""
     />
     <#if navItem.isSelected()>
      <#assign
       nav_item_attr_selected = "aria-selected='true'"
      />
     </#if>
     <li  class="entry-card lfr-asset-item" id="layout_${navItem.getLayoutId()}" ${nav_item_attr_selected} role="presentation">
      <div class="card">
       <div class="card-header" style="background-color: #ececec;">
        <a href=${navItem.getURL()} ${navItem.getTarget()}>${navItem.getName()}</a>
       </div>
       <div class="card-body" >
        <p class="card-text" style="background-image: url('${navItem.iconURL()}');
        background-position:center center; background-repeat: no-repeat;background-size:cover; min-height: 200px;">
        </p>
       </div>
      </div>
     </li>
    </#if>
   </#list>
  </ul>
 </div>
</#if>

ADTの適用 


準備として、サイトページにナビゲーションメニューを配置します。(ウィジェットからナビゲーションメニューをドラッグ&ドロップします。)
ここでは適当にトップページと同レベルに複数ページを作成しておきました。


初期状態は上記のようになっているはずです。

適用されているADTを変更するには、ポートレットメニューから設定をクリックします。
テンプレートを表示する、をクリックして先ほど作成したcard menu ADTを選択します。


保存後にページを参照すると以下のようにナビゲーションメニューの見た目が変更されていることがわかります。


今回はカードの中身にページに設定できるアイコンを表示できるように作成したので、ページにアイコンを設定してみると以下のように表示されます。

まとめ

今回はナビゲーションポートレットにADTを適用して簡単なカード形式メニューを作ってみました。

ADTを使いこなすには、表示対象であるアセットエンティティ(今回の例であればページ)について
どのような属性がありどのような値が格納されているか、を把握しておく必要がありますが、
簡単なテンプレートを定義するだけで劇的に見た目をカスタマイズできるとても強力なツールです。


すべてゼロベースでポートレットを作るよりも簡単にLiferayをカスタマイズできるので、積極的に活用してみてください。 

Alfresco 201911GAをzipからインストールしてみよう【その1】

こんにちは。たなかです。

ステイホーム中にぬか漬けはじめました。
茄子の色をもう少しキレイに出したくて試行錯誤の日々です。

今回はAlfresco CE 201911GAをzipからインストールしてみようの第1回目としてAlfresco起動までの手順をご紹介します。

6.xからインストーラがなくなったので、Dockerが使えない場合や使いたくない環境で簡単にインストールして試すことが難しくなってしまいました。
Dockerが使える環境であれば、以前紹介したとおり、GitHubのプロジェクトをcloneして docker-compose up と言うコマンドで起動することができます。

今回ご紹介するのは動作確認のためのインストール手順となっており、本番環境で使うことを想定したセキュリティやパフォーマンスを考慮したものではありませんのでご注意いただければと思います。
基本的にはAlfrescoの公式ドキュメントに沿った手順になっておりますが、分かりにくい部分を補足したり、動作確認のため必要最低限の手順に削ったりしている部分もあります。

今回使用している環境については以下になります。
CentOS 7.8
OpenJDK 11.0.7
PostgreSQL 11.8
Tomcat 8.5.56
Alfresco Community Edition 201911GA
ActiveMQ 5.15.13

OS、DBやJava等は有償版のSupported Platformに掲載されているものであれば使い慣れたものを使用しても大丈夫です。
有償版は製品としては無償のCommunity版をベースに管理者向けのツールやクラスタリングのための機構等が追加されたものなので、有償版のSupported Platformに載っている(そのPlatformで動作確認が行われている)という情報はCommunity版でも参考になります。
バージョンが完全に一致していなくても、メジャーバージョンが同じで新しいバージョンのものを使えば問題は起こりにくいのではないかと思われます。

※ 環境によってはOpenJDKのインストールやPostgreSQLでDBを作成するまでの手順等で、異なる箇所があるかもしれません。

Alfresco CE 201911GAは先にダウンロードしておきます。

OpenJDK 11 をインストール


yumコマンドでインストールする
yum install java-11-openjdk

新規ファイルを作成しJAVA_HOMEを設定し保存する
vim /etc/profile.d/java.sh

PostgreSQL11をインストール


yumコマンドでインストールし設定、起動する
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

yum install postgresql11-server

/usr/pgsql-11/bin/postgresql-11-setup initdb

systemctl enable postgresql-11

systemctl start postgresql-11


Alfresco用DBを作成


psqlを実行する
su - postgres
psql


以下のSQLを実行してDB作成、ロール作成、パスワード設定を行う
CREATE DATABASE alfresco ENCODING 'utf8';

CREATE ROLE alfresco LOGIN PASSWORD 'alfresco';

GRANT ALL ON DATABASE alfresco TO alfresco;

後で認証方法をmd5認証(パスワード認証)に変えるため、postgresロールにパスワードを設定しておく
ALTER USER postgres WITH ENCRYPTED PASSWORD ‘postgres’;

local:allとIPv4、IPv6のlocalからの認証をmd5に変更して保存する
systemctl stop postgresql-11.service

vim /var/lib/pgsql/11/data/pg_hba.conf

PostgreSQLを起動し、接続できることを確認する
systemctl start postgresql-11.service
psql -U alfresco -d alfresco


Tomcatのダウンロードと設定


Alfrescoインストールディレクトリを作成する
mkdir -p /opt/alfresco


公式サイトからTomcatをダウンロードして/opt/alfrescoに配置し、展開する
cd /opt/alfresco
tar xzvf apache-tomcat-8.5.56.tar.gz
rm apache-tomcat-8.5.56.tar.gz


ディレクトリ名を分かりやすくシンプルに変更する
mv apache-tomcat-8.5.56 tomcat


shared/classesディレクトリを作成し、Tomcatのcatalina.propertiesを編集してshared/classesを読み込むように設定する
mkdir -p tomcat/shared/classes
vim tomcat/conf/catalina.properties
catalina.propertiesを以下のように変更して保存する
shared.loader=${catalina.base}/shared/classes
※ 今回はSolr用のTLS設定は行いません

Alfrescoのインストール


作業用のディレクトリ(どこでもOKです)に移動する
cd [作業用ディレクトリ]

※ ダウンロードしておいたAlfrescoを配置しておく

Alfrescoのzipファイルを展開する
unzip alfresco-content-services-community-distribution-6.2.0-ga.zip
cd alfresco-content-services-community-distribution-6.2.0-ga


warファイルとJDBCドライバをTomcat配下にコピーする
cp web-server/webapps/* /opt/alfresco/tomcat/webapps/
cp web-server/lib/postgresql-42.2.6.jar /opt/alfresco/tomcat/lib/


Tomcatにもともと入っていたwebapps配下のディレクトリを削除する
cd /opt/alfresco/tomcat/webapps

rm -rf ROOT

rm -rf docs

rm -rf examples

rm -rf host-manager

rm -rf manager


alfresco-global.propertiesを以下のように編集して保存する
cd /opt/alfresco/tomcat/shared/classes/
cp [作業用ディレクトリ]/alfresco-content-services-community-distribution-6.2.0-ga/web-server/shared/classes/alfresco-global.properties.sample ./
mv alfresco-global.properties.sample alfresco-global.properties

vim alfresco-global.properties

以下の設定のコメントを外して値を変更する
dir.root=/opt/alfresco/alf_data
db.username=alfresco
db.password=alfresco
jodconverter.enabled=false
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost:5432/alfresco

以下を追記する
index.subsystem.name=solr6
solr.secureComms=none
solr.port=8983
transform.service.enabled=false
local.transform.service.enabled=false
legacy.transform.service.enabled=false

alfresco.warにalfresco-share-services.ampを適用する
cd /opt/alfresco
cp -a [作業用ディレクトリ]/alfresco-content-services-community-distribution-6.2.0-ga/bin ./
cp -a [作業用ディレクトリ]/alfresco-content-services-community-distribution-6.2.0-ga/amps ./

cd bin
chmod +x apply_amps.sh

./apply_amps.sh


alfresco.warが更新されていることを確認する
※ AMPが正常に適用されると、元のalfresco.warがalfresco.war-xxxxxxxxxxxxx.bakとリネームされて新しいalfresco.warが作られるのでbakを確認する
cd /opt/alfresco
ls -la tomcat/webapps


ActiveMQのインストール


ActiveMQをダウンロードして展開し、起動する
tar xzvf apache-activemq-5.15.13-bin.tar.gz
rm apache-activemq-5.15.13-bin.tar.gz

cd apache-activemq-5.15.13/bin
./activemq start


Alfrescoの起動確認

ここまでの手順が正しくできているかどうかの確認のため、一度Alfrescoを起動します。


Tomcatを起動する
cd /opt/alfresco
tomcat/bin/startup.sh


tomcat/logs/catalina.out を監視する
tail -f tomcat/logs/catalina.out
※ Server startup in 47069 ms のようなログが出ることを確認する
※ まだ検索に使うSolrはインストールしていないため、ログにSolr関連のエラーが出力されるかと思いますが、現段階では気にしなくて大丈夫です。
Solrのインストールはその2としてご紹介します。

ブラウザから以下のURLにアクセスして、admin/adminでログインできるか確認する
http://localhost:8080/share

Tomcatを停止する場合は以下のコマンドを使用する
tomcat/bin/shutdown.sh

※ 停止できないことがあるのでその場合はプロセスIDを調べてkillコマンドで停止します

今回はSolrなしでAlfrescoを起動してみるところまでをご紹介しました。
次回はSolrをインストールしAlfrescoを起動する方法をご紹介します。

Friday, July 17, 2020

Liferayの表示ページテンプレートを使ってみよう

こんにちは、かわべです。
最近は家の周りでやたらと工事が行われており、Web会議に参加すると騒音に驚かれることしばしばです。

この記事ではLiferay DXP 7.1から追加された表示ページテンプレート(Display Page Templates)の使い方を紹介します。表示ページテンプレートはコンポーネントやセクションなどのページフラグメントを使ってコンテンツページを作るのと同じ要領で、特定のコンテンツ種別の個々の表示ページを作ることができるという機能です。
これはDXP 7.0までのバージョンではFreeMarkerでWebコンテンツテンプレートを記述しなければ実現できなかったことです。FreeMarkerで思い通りの画面を作るにはコーディング知識が必要になってくるので、開発知識がなくても簡単にコンテンツを表示するためのページが作れるようになったのは画期的です!

それでは使い方を順を追って見てみましょう。Liferayを利用する旅行会社が旅行の目的地をWebコンテンツとして作成し、それを表示するための個別ページを作りたい、という単純なシナリオに沿ってやっていきたいと思います。
利用バージョンはLiferay DXP 7.2 SP2です(少し前のバージョンだと落とし穴がありました…それは最後に書きます)。

1. 表示させるコンテンツタイプ(エンティティ)の作成

表示ページテンプレートを適用可能なのは、デフォルトで

  • Webコンテンツ
  • ドキュメント
  • ブログのエントリ

の3種類のコンテンツです。
今回は旅行の目的地を取り扱いやすいように、専用のWebコンテンツストラクチャーを新規で作成します。
管理者としてログインし、コントロールパネル→コンテンツ→Webコンテンツ→ストラクチャに移動し、追加ボタンから「旅行目的地」という名前で以下のストラクチャーを追加します。



さて、これまではWebコンテンツのストラクチャを作成したらもれなくペアとしてWebコンテンツテンプレートを作成していたのですが…今回はWebコンテンツテンプレートは作らずに、表示ページテンプレートの作成に進みます。
(Liferayを使っていると何種類かの〇〇テンプレートが出てくるので、混乱しないように気をつけてくださいね)

2. 表示ページテンプレートの作成

コントロールパネルからサイトビルダー→サイトページを開き、表示ページテンプレートタブを開きます。

[+]ボタンで新規追加画面を出して、名前を「旅行先表示」と入力し、コンテンツ種類としてWebコンテンツ、サブタイプに旅行目的地を選んで保存します。


すると、フラグメントを利用したコンテンツページ作成とほぼ同じ編集画面が開きます。
まずは、セクション配下の基本セクションからバナー(中央)を編集中のページに配置してみましょう。



コンテンツページ作成でお馴染みですが、セクションやコンポーネントで編集可能となっているエリアは自由にテキストなどの編集が可能です。


(バナータイトルの編集部分を「自由にタイトルを入力」に変えてみました)

しかしそれだけではなく、コンテンツ表示ページテンプレートでは表示対象のコンテンツが持つ要素を編集可能エリアにマッピングすることができるのです。

左の「編集」アイコンではなく右の「マッピング」(翻訳がおかしいですが…)アイコンを選ぶと、


表示対象のコンテンツ(今回の場合は先程作成した「旅行目的地」)が持つマッピング可能な要素が選択できます。



下の方にある「名前」と「説明」がWebコンテンツストラクチャに定義した要素ですね。今回は上部のタイトル部分に「名前」、その下の文章部分に「説明」をマッピングします。そして背景画像には同じ要領で「画像」をマッピングしてみます。

マッピングが設定された部分は薄紫色で囲われます。


(リンクボタン部分は、今回はストラクチャにリンクURLを要素として持たせるのを忘れたので、ひとまず表示文言だけ編集して「詳しく見る」に変えておきました。)

これでコンテンツのマッピングは完了です。その他はコンテンツページと同じ要領で、作りたいページやデザインに応じて適宜ウィジェットやコンポーネント、セクションなどを配置して編集・設定してください。

3. コンテンツの作成

それでは「旅行目的地」コンテンツを追加し、表示ページテンプレートを使って表示されるように設定してみましょう。
コントロールパネル→コンテンツ→Webコンテンツに移動し、[+]から「旅行目的地」を追加する画面を開きます。
タイトル、名前、説明に適当に入力し、画像をアップロードします。


そして右側の設定ペインの「表示ページテンプレート」で「特定の表示ページテンプレート」をプルダウンで選択し、選択をクリックすると開くポップアップ画面で先程作成した「旅行先表示」を選択します。



そしてフレンドリURLはデフォルトだとタイトルに引きずられるので、URLとしてわかりやすい英数字にしておきます。


このURLは全体をメモしておきましょう。
ここまで入力できたら保存(公開)します。

4. コンテンツ表示の確認

先ほどメモしたURLをアドレスバーに貼り付けて移動してみると、



設定通り、画像を背景にして名前と説明を載せたページとしてコンテンツが表示されました!
テンプレート言語を一切記述していないのにこのようにコンテンツをレンダーして表示することができるなんて、昔のバージョンから知っている者としては感慨深いものがありますね。

今はアドレス直打ちで移動しましたが、従来のようにアセットパブリッシャーで集約表示した一覧をクリックしてコンテンツを全表示するときにも利用できます。その場合、アセットパブリッシャーの設定でアセットリンクの振る舞いを「コンテキストの参照」にしてください。「全内容の表示」にするとこのように



Webコンテンツのテンプレートを使ってレンダーされたコンテンツが表示されます。今回はWebコンテンツテンプレートを作っていないので、項目が箇条書きで表示されています。

従来のようにデフォルトアセットパブリッシャーを配置したページをWebコンテンツの表示ページに指定する機能も残っているので、そちらがお好みの場合は引き続き利用可能です。アップグレードも問題なさそうですね。

5. まとめ

表示ページテンプレートにコンテンツをマッピングして表示ページをつくる方法について説明しました。テンプレート言語なしでも自由度の高いページ作成が可能なので、対応しているエンティティを利用する場合はぜひ利用を検討してみてください。

ちなみに古いバージョンだと…

DXP 7.2の少し古いバージョン(GA1かな?)だと、表示ページテンプレートを使う部分がすべて非公開ページ扱いとなり、Guestで見ようとすると以下のようにログインを求められるという悲しいことになりました…



SP2を触る限り修正されていたので、安心してくださいね。

Wednesday, July 15, 2020

Liferayで成功メッセージを画面上部に表示する

こんにちは。おおたにです。

今回は、ユーザフィードバックのメッセージ表示位置に関するTIPSを紹介します。なお、以下のサンプルスナップショットやコードはLiferay DXP 7.1でのものです。

成功メッセージとエラーメッセージ


Liferay上で何かしらの処理を実行した場合、ユーザフィードバックとしてメッセージが表示されます。例えば処理が成功した場合は、以下のような成功メッセージが表示され、



処理が失敗した場合は、以下のようにエラーメッセージが表示されます(併せて汎用エラーメッセージ「処理に失敗しました。」が画面左下に表示されることもあります)。


画面左下の表示はトースト(toast)と呼ばれる自動的に消えるメッセージで、画面上部の表示は自動的に消えない画面埋め込み(embed)のメッセージです。通知の目的が処理の状況や成否を通知することだけなのか、それ以上の具体的なメッセージをユーザに伝えることなのかに応じて使い分けることが多いです。
Liferayではこれらのメッセージの実装に<liferay-ui:success><liferay-ui:error>を使いますが、普通に実装すると前者がトースト、後者が埋め込みとなります。

成功メッセージを埋め込みで表示したい


メッセージの表示形式はembed属性でコントロールできます。例えば、成功メッセージを埋め込みで表示する場合はこのように指定します。

<liferay-ui:success key="success_message_key" message="msg.success" embed="<%=true %>" />

成功メッセージの表示は以下のようになり、成功メッセージとエラーメッセージを同様のUIで提供するような要件に応えることができます。


この他にも<liferay-ui:success><liferay-ui:error>には表示をコントロールする属性がいくつか定義されていますので、こちらこちらのドキュメントを参考に色々と試してみてください。

Tuesday, July 7, 2020

Liferay 7をインストールしてみよう

こんにちは。おおたにです。

今回はLiferay 7のインストール方法について紹介します。

本ブログでもたびたび取り上げているLiferayは、オープンソースのデジタルエクスペリエンスプラットフォーム(DXP)製品です。従来はエンタープライズ向け情報ポータル(Enterprise Information Portal)と呼ばれていたジャンルですが、よりユーザ体験や顧客体験にフォーカスするために現在はDXPと呼ばれています。

企業のインターネット向けサイトやイントラネット向けサイト、代理店/販売店ポータルなどに代表される組織/企業間、コミュニティポータルなどに代表されるユーザ同士など、様々な形での情報発信/情報共有の場を構築することに利用されています。さらにはバックエンドにあるシステムの情報や他のサービスを通して得られる情報を統合し、B2B/B2C、パブリック/プライベート問わず様々なWebサイト上で最適なユーザ体験を提供することができるプラットフォームです。

エンタープライズ向けと銘打たれているのでインストールの敷居も高いのではないかと思われるかもしれませんが、そんなことはありません。もちろん実運用を考えると諸々の設定やチューニングを行う必要がありますが、とりあえずインストールして使ってみようという限りではとても簡単にセットアップすることができます。

CE(Community Edition)とDXP(Digital Experience Platform)


LiferayにはCE(Community Edition)とDXP(Digital Experience Platform)の2つのエディションがあります。

CE : 無償利用できるけどLiferay社のサポートが受けられないバージョンです。記事執筆時点ではLiferay Portal 7.3.2 CE GA3が最新のバージョンです。

DXP : 有償のサブスクリプションが必要だけどLiferay社のサポートを受けられるバージョンです。セキュリティ関連を含む修正パッチの提供が受けられる他、クラスタリングやAudit等の構成/運用面で助けとなる機能が提供されます。記事執筆時点ではLiferay DXP 7.2 SP2が最新のバージョンです。

なお、DXPをご検討中の方やご質問/ご相談のある方はこちらのフォームから弊社までご連絡ください。

Javaのインストール


Liferayの動作にはJavaが必要です。CEはこちら、DXPはCompatibility Matrixで必要なJavaのバージョンが確認できます。
Liferay Portal 7.3 CEやLiferay DXP 7.2であればOracle JDK 8が必要です。こちらからダウンロードしてインストールしてください。

Liferayのダウンロード


CEはLiferay Community Downloadsの「Liferay Portal」から、DXPはLiferay Help Centerからダウンロードできます。Bundled with Tomcat (tar.gz)もしくはBundled with Tomcat (7-Zip)を選択してダウンロードします。
Apache Tomcatが同梱されて必要最低限の設定も行われているため、さくっと動かすにはこのパッケージがお勧めです。

Liferayのインストール


次に、先ほどダウンロードしたLiferayのファイルを展開します。liferay-ce-portal-7.xxxxもしくはliferay-dxp-7.xxxxというフォルダが作成され、その中に必要なファイルがコピーされます。なお、このフォルダは<LIFERAY_HOME>と呼ばれ、Liferayの設定や運用に際して重要なフォルダとなります。

以上でLiferayのインストールは終わりです。簡単!

なお、実運用を考えると別途データベースを用意したりJVMをチューニングしたりなどの設定が必要ですが、ひとまず動けばOKということであればデフォルトのままで十分です。

[DXPのみ] ライセンスファイルのコピー


DXPの場合はLiferay社から提供されるライセンスファイルを<LIFERAY_HOME>/deployフォルダにコピーします。Liferay起動時にライセンスファイルが読み込まれ、認証をパスして初めてLiferayが使えるようになります。

Liferayの起動と初期設定


では、早速Liferayを起動してみましょう。Liferayを起動するためには、以下のTomcat起動スクリプトを実行します。

Windows : <LIFERAY_HOME>/tomcat-xxxx/bin/startup.bat
Linux (or Mac OS X) : <LIFERAY_HOME>/tomcat-xxxx/bin/startup.sh

Liferayが正常に起動すると、ブラウザが自動的に起動してhttp://localhost:8080にアクセスします。起動しない場合はブラウザを起動して先のURLにアクセスしてみてください。以下のような画面が表示されればOKです。


これは初回起動時のみ表示される設定画面で、ポータルの名称やデフォルト言語、管理者ユーザの情報、データベース接続を設定することができます。デフォルトでは組込みDBのHypersonicが使われますが、お試し用途であればこのままでOKです。
Email欄に管理者のメールアドレスを入力して「Finish Configuration」をクリックします。しばらく待つと設定が完了して利用規約が表示されるので、「I Agree」をクリックします。



続いて管理者ユーザのパスワードを入力して「Save」をクリックします。


最後にパスワードリマインダ(パスワードを忘れた時の秘密の質問)を入力して「Save」をクリックします。


設定が完了すると、以下のランディングページが表示されます(上がLiferay DXP 7.2、下がLiferay Portal 7.3 CE)。



以上でLiferayが使える状態になったかと思います。みなさまも是非Liferayをインストールして実際に触ってみてください!

トラブルシューティング


Liferayが正常に起動しない場合は、以下のログの内容を確認してみてください。

<LIFERAY_HOME>/logs/liferay.xxxx-xx-xx.log
<LIFERAY_HOME>/tomcat-xxxx/logs/catalina.xxxx-xx-xx.log

また、LiferayをインストールしたPCのメモリも確認してください。Liferayはデフォルトでヒープに2.5GB、MetaSpaceに768MB使う設定となっています。PCのメモリは4GBだと厳しいかもしれません。少なくとも6GBは欲しいところです。