Alfresco Community Edition 7.1にLocal Transformation Serviceを設定する - Alfresco Community Edition 7.1にLocal Transformation Serviceを設定する - aegif Labo Blog Alfresco
null Alfresco Community Edition 7.1にLocal Transformation Serviceを設定する
こんにちは。てらしたです。以前、Alfresco Community Edition 7.1をディストリビューションzipからインストールする方法を紹介しましたが、その時はLocal Transformation Serviceの設定方法については省略していました。それから3ヶ月くらい経ってしまいましたが、今回はLocal Transformation Serviceの設定手順をご紹介します。Transformation ServiceはAlfrescoに格納されたコンテンツの変換やサムネイル/プレビュー作成のために使用されるサービスです。6.xまではAlfresco内部に組み込まれていた(6.xではLegacy Transformation Serviceと呼ばれていました)ため、LibreOffice等の3rdパーティのソフトウェアをインストールするだけで使えたのですが、7.0以降はLegacy Transformation Serviceが使えなくなりました。代わりに、Community EditionではLocal Transformation Serviceと呼ばれるものの設定が必要になります。有償版ではTransform Router(T-Router)と呼ばれる負荷分散のための仕組みが使えるのですが、Community EditionではT-Routerを介さずにContent Serviceから直接Transform Eigine(T-Engine)にリクエストを送信する仕組み(この部分をLocal Transformation Serviceと呼ぶようです)を使用することになります。詳しい内容は以下の公式ドキュメントを見ていただければイメージが掴みやすいのではないかと思います。
前回の記事の続編という位置づけになるため、Alfresco Community Edition 7.1はインストール済みという前提で進めます。また、OSは前回と同様にCentOS 7.9で、手順の簡略化のために全てのコマンドをrootで実行しています。
今回ご紹介する手順では以下のバージョンのソフトウェアを使用します。
- alfresco-transform-core-aio 2.5.6
- LibreOffice 7.1
- ImageMagick 7.1
- alfresco-pdf-renderer 1.1
- ExifTool 12.25
LibreOfficeのインストール
主にテキストファイルやMS OfficeファイルをPDFに変換する際に使用されるLibreOfficeをインストールします。公式サイト等から入手してLibreOfficeをインストールしてください。ここでは、/opt/libreoffice7.1
にインストールされているものとします。
ImageMagickのインストール
主に画像ファイルの変換に使用されるImageMagickをインストールします。ImageMagickもLibreOfficeと同様に公式サイト等から入手してインストールしてください。インストールしたら、必ずしも必要ではないのですが後でTransformation Serviceを起動する時にパスを指定しやすくするためにシンボリックリンクを作成しておきます(パスは手元の環境に合わせて適当に読み替えてください)。
ln -s /usr/bin/convert /opt/alfresco/imagemagick
ln -s /usr/lib64/ImageMagick-7.1.0/config-Q16HDRI /opt/alfresco/imagemagick
ln -s /usr/lib64/ImageMagick-7.1.0/modules-Q16HDRI /opt/alfresco/imagemagick
alfresco-pdf-rendererのインストール
PDFファイルを画像に変換する際に使用されるalfresco-pdf-rendererをこちらからダウンロードし、適当な場所に展開してください。ここでは、展開後のファイルのパスが/opt/alfresco/alfresco-pdf-renderer
であるものとします。
ExifToolのインストール
画像ファイルからメタデータを抽出するために使用されるExifToolをこちらからダウンロードし、適当な場所に展開してください。ここでは、/opt/alfresco/exiftool
に展開されたものとします。展開したら、このディレクトリを環境変数のPATH
に追加しておきます。
export PATH=$PATH:/opt/alfresco/exiftool
alfresco-global.propertiesの設定
alfresco-global.propertiesに以下のプロパティを追記します。ActiveMQの管理者ユーザのユーザ名やパスワードを変更している場合や、デフォルトのポートを変更している場合は以下のプロパティの値も変更してください。
localTransform.core-aio.url=http://localhost:8090/
local.transform.service.enabled=true
messaging.broker.url=tcp://localhost:61616
messaging.subsystem.autoStart=true
messaging.broker.username=admin
messaging.broker.password=admin
変更を保存したらAlfrescoを起動します。
Transformation Serviceの起動
alfresco-transformation-core-aio-boot-2.5.6.jar をこちらからダウンロードして適当な場所に保存します。保存したら、ここまでにインストールした各ツールのパスを指定して以下のコマンドでTransformation Serviceを起動します。
java -DPDFRENDERER_EXE="/opt/alfresco/alfresco-pdf-renderer" \
-DLIBREOFFICE_HOME="/opt/libreoffice7.1" -DIMAGEMAGICK_ROOT="/opt/alfresco/imagemagick" \
-DIMAGEMAGICK_DYN="/opt/alfresco/imagemagick" \
-DIMAGEMAGICK_EXE="/opt/alfresco/imagemagick/convert" \
-DIMAGEMAGICK_CODERS="/opt/alfresco/imagemagick/modules-Q16HDRI/coders" \
-DIMAGEMAGICK_CONFIG="/opt/alfresco/imagemagick/config-Q16HDRI" \
-DACTIVEMQ_URL="failover:(tcp://localhost:61616)?timeout=3000" \
-jar alfresco-transform-core-aio-boot-2.5.6.jar
ブラウザで http://localhost:8080/share を開き、適当なフォルダにMS WordやPowerPoint等のファイルをアップロードして以下のようにサムネイルやプレビューが作成されていれば、Local Transformation Serviceが正常に動作していることが確認できます。サムネイルやプレビューが作成されるまでに少しタイムラグがあるため、表示されない場合は何度かページをリロードしてみてください。
・Local Transformation Service 設定前
・Local Transformation Service 設定後
6.xまではAlfresco Content Service(Alfresco Platform)に組み込まれていたTransformation Serviceが7.0からAlfrescoの外に切り出されたことでディストリビューションzipからインストールする時の手順は上記のように少し煩雑になりました。ただ、比較的重い処理になりがちなコンテンツ変換部分が別プロセスになったことで負荷を分散させることが容易になったというメリットは大きいのではないかと思います。