帳票ツールElixir Reportのレポートサーバーを、Amazon EC2上のRed Hat Enterprise Linuxにインストールした手順をまとめてみました。
デスクトップ環境のないLinuxインスタンスなので、GUIインストールではなく、コマンドラインからコンソールインストールした手順になります。
大きく4つの項目に分かれています。
- WindowsにTera Termをインストール
- EC2上にRed Hatのインスタンスを作成
- Elixir Reportのインストール
- Elixir Reportのサンプル確認
Amazon EC2のアカウントはすでに取得済みであることを前提としています。
環境
Windows 8.1
Elixir Report 8.7J
Amazon EC2 Red Hat Enterprise Linux 7.3
SSH接続用にWindowsにTera Termをインストールする
-
作成するRed HatインスタンスにWindowsからSSH接続するために、Tera Termを利用します。 Tera Termの日本語ページからダウンロードします。記事執筆時(2016年11月)で最新のバージョン、4.92のインストーラ(teraterm-4.93.exe)をダウンロードしました。
1. ダウンロードしたteraterm-4.93.exeをダブルクリックで起動して、インストールを実行します。選択項目はすべてデフォルトとしました。 ![1TeraTermコンポーネントの選択.png](https://qiita-image-store.s3.amazonaws.com/0/152421/c810e2f3-c1b1-70db-2a8c-092073cf9ffd.png)
1. インストールを完了します。
Red Hatインスタンスの作成と準備
- ステップ6[セキュリティグループの設定]で、Elixir Reportのレポートサーバーが使用するポート”7001”、サンプルで使用するTomcatのポート”9090”を追加します。それ以外のステップはデフォルト設定を使用しました。
1. インスタンス作成の確認のステップで、キーペアをダウンロードしておきます。 ![4キーペアダウンロード.png](https://qiita-image-store.s3.amazonaws.com/0/152421/0c26bb34-e0db-908c-8581-eddf45c9ed65.png) 1. 作成が完了したら、Tera Termを使って作成したインスタンスにログインできるか試してみます。ホストのアドレスは、EC2ダッシュボードでインスタンスの”パブリックIP”に表示されているアドレスを指定します。 ![5TeraTerm_IP.png](https://qiita-image-store.s3.amazonaws.com/0/152421/f015a503-5487-c8be-4a69-de4932954027.png) 1. 初めて接続するホストの場合は、セキュリティ警告が表示されます。[続行]をクリックして進みます。 ![6TeraTerm_初回接続.png](https://qiita-image-store.s3.amazonaws.com/0/152421/5a8d4613-d702-e9a1-be36-076d1dc663de.png) 1. ログインユーザーに”ec2-user”、”RSA/DSA/ECDSA/ED25519鍵を使う”にチェックし、[秘密鍵]をクリックして、インスタンス生成時にダウンロードしたキーを選択します。 ![7TeraTerm_秘密鍵.png](https://qiita-image-store.s3.amazonaws.com/0/152421/cfdf57e7-4b8c-a57d-0ccb-16dd9e60f3c4.png) 注意:秘密鍵ファイルの選択時は、”すべてのファイル”を選択して.pemファイルを表示します。 ![8TeraTerm秘密鍵の選択.png](https://qiita-image-store.s3.amazonaws.com/0/152421/816e8c24-de99-fac0-ed4d-cec208e979b1.png) 1. 接続できたら、タイムゾーンをAsia/Tokyoに変更しておきます。
```shell-session
$ sudo timedatectl set-timezone Asia/Tokyo
```
レポートサーバーのインストーラをRed Hatに転送する
-
レポートサーバーのLinux OS用インストーラ(elixirreport87_linux64.bin)をRed Hat側に転送します。転送はTera TermからSSH SCPを利用して行います。Tera Termの[メニュー]をクリックして[SSH SCP]を選択します。
【注意】インストーラのzipファイルを転送してRed Hat上で解凍する場合、筆者の環境ではunzipコマンドが”command not found”となりインストールされていなかったため、インストールの必要がありました。$ sudo yum –y install unzip
-
[From:]には、Windows側にあるインストーラを、[To:]にはec2-userのホームを指定して、[Send]をクリックします。
1. 同様に、インストールで必要になるレポートサーバーのライセンスファイル(*.license)も転送しておきます。
レポートサーバーをインストールする
-
インストールは現在ログインしているec2-userで行います。ec2-userのLANG環境変数が英語になっている場合は、日本語(ja_JP.UTF-8)に変更しておきます。
$ echo $LANG en_US.UTF-8 $ export LANG=ja_JP.UTF-8 $ echo $LANG ja_JP.UTF-8
-
転送したインストーラに実行権限を与えます。
$ chmod +x ./elixirreport87_linux64.bin $ ls -la -rwxr-xr-x. 1 ec2-user ec2-user 279506476 Sep 29 00:00 elixirreport87_linux64.bin
-
コンソールインストールを実行してみます。次のコマンドで行います。
$ ./elixirreport87_linux64.bin -i console
【注意】もし、次のようなlibc.so.6のNo such fileエラーが出力されたときは、コマンドで”quit”と入力し、一旦インストールをキャンセルします。
$ ./elixirreport87_linux64.bin -i console Preparing to install... Extracting the JRE from the installer archive... Unpacking the JRE... Extracting the installation resources from the installer archive... Configuring the installer for this system's environment... strings: '/lib/libc.so.6': No such file
その後、次のコマンドで必要なライブラリをインストールしてください。
$ sudo yum -y install libc.so.6
-
[使用許諾契約の同意]に”y”を入力して進みます。
5. [ライセンスキーファイルの登録]で、転送しておいたライセンスファイルのフルパスを入力します。
6. ライセンスの登録ができたら、”next”と入力して次のステップに進みます。
7. [インストールモジュールの選択]はデフォルトのまま、”next”と入力して次に進みます。
8. [ポート番号]の設定では、Red Hatインスタンスを作成したときに[セキュリティグループの設定]で追加したポート番号”7001”のまま[Enter]キーを押して次に進みます。
9. レポートサーバーのログレベルは、デフォルトの”2-INFO”のまま[Enter]キーを押して次に進みます。
10. [インストールフォルダを選択]のステップでは、書き込み権限のあるec2-userのホームディレクトリ以下を指定することにします。 ![11インストール先.png](https://qiita-image-store.s3.amazonaws.com/0/152421/59519eb1-c04f-4f25-e126-32c27d7b2562.png)
11. [インストール前の要約]を確認して、[Enter]キーを押します。問題がなければ、”おめでとうございます”という完了メッセージが表示されます。[Enter]で終了します。
インストール後のレポートサーバーを起動する
-
/home/ec2-user/ElixirReport87J/bin/に移動します。
$ cd /home/ec2-user/ElixirReport87J/bin
-
レポートサーバーの起動シェルスクリプトを実行します。
$ ./reportserver-start.sh &
※&を付加してバックグラウンド実行にしています。
【注意】起動ユーザーのLANG環境変数が英語の場合、レポートサーバーが英語ロケールで起動され、Webインターフェースのメニュー等が英語表示されます。日本語ロケールへ変更して起動を行います。
3. 起動に成功すると、コンソール上に次のようにCopyrightが表示されます。
```shell-session
INFO [main] com.elixirtech.ers2.Main - Copyright 2016 Elixir Technology Pte Ltd
INFO [Thread-19] com.elixirtech.ers2.EnsureServerStarted - Checking server status
```
-
Windows上のブラウザからレポートサーバーのWebインターフェースにログインしてみます。
【注意】ログイン画面が表示されないときは、以下のような原因が考えられます。
・レポートサーバーの起動に失敗している
・Red Hatインスタンスの[セキュリティグループの設定]で、ポート”7001”を追加していない
5. ログイン画面が表示されたら、デフォルトで用意されている次の管理者ユーザーでログインします。
```
ユーザー名: admin
パスワード: sa
```
- [リポジトリ]-[samples]以下のレポートテンプレート(*.rml)で、レポート生成を試してみます。レポートは生成されましたが、チャート内の日本語が文字化け(□)している箇所がありました。Red Hat側に必要な日本語フォントがインストールされていないためです。
※/samples/demo/sales2.rmlをPDF形式で生成した例
日本語フォントをインストールする
- ブラウザで、Webインターフェースのメニューから[管理]-[サーバー]と選択し、[シャットダウン]ボタンをクリックして、レポートサーバーを一旦停止します。
-
Tera Termに戻り、日本語フォントを次のコマンドでインストールします。今回は、IPA明朝、IPAゴシック、VLゴシックファイルをインストールします。
$ sudo yum -y install ipa-mincho-fonts ipa-gothic-fonts vlgothic-fonts
-
また、システムのフォントを管理するfontconfigをインストールします。
$ sudo yum –y install fontconfig
-
レポートサーバーの起動シェルスクリプトを再度実行してレポートサーバーを起動し、もう一度レポートを生成してみます。今度は正しく表示されるようになりました。
Tomcatを起動してサンプルWebアプリケーションを試す
-
Tomcatの起動は、同じく/home/ec2-user/ElixirReport87J/bin以下で次のコマンドを実行します。
$ ./tomcat-start &
-
ブラウザからアクセスします。サンプルのTomcatで使用するポートは9090です。
http://<パブリックIP>:9090
-
[レポートサーバーAPI基本Webアプリケーション]から次ページの [BasicReportServlet]を選択して、レポートが問題なく作成されるか確認します。
4. 問題なく表示できることが確認できました。 ![16Tomcatサンプル03.png](https://qiita-image-store.s3.amazonaws.com/0/152421/f1a086ee-204a-6c24-0368-d8bb5e2e02f3.png)
以上で終了です。