Amazon EC2上にRed Hatインスタンスを作成してElixir Reportをコンソールインストールする手順


帳票ツール[Elixir Report](http://www.grapecity.com/tools/info/java/elixir-report/)のレポートサーバーを、Amazon EC2上のRed Hat Enterprise Linuxにインストールした手順をまとめてみました。

デスクトップ環境のないLinuxインスタンスなので、GUIインストールではなく、コマンドラインからコンソールインストールした手順になります。

大きく4つの項目に分かれています。

1. WindowsにTera Termをインストール
2. EC2上にRed Hatのインスタンスを作成
3. Elixir Reportのインストール
4. Elixir Reportのサンプル確認

Amazon EC2のアカウントはすでに取得済みであることを前提としています。

# 環境
Windows 8.1
Elixir Report 8.7J
Amazon EC2 Red Hat Enterprise Linux 7.3


# SSH接続用にWindowsにTera Termをインストールする
1. 作成するRed HatインスタンスにWindowsからSSH接続するために、Tera Termを利用します。   [Tera Termの日本語ページ](https://ja.osdn.net/projects/ttssh2/)からダウンロードします。記事執筆時（2016年11月）で最新のバージョン、4.92のインストーラ（teraterm-4.93.exe）をダウンロードしました。  

    ![0TeraTermダウンロード.png](https://qiita-image-store.s3.amazonaws.com/0/152421/6d6920ec-ec4a-d80d-9b84-7a1dc3a1214d.png)
<br>
1. ダウンロードしたteraterm-4.93.exeをダブルクリックで起動して、インストールを実行します。選択項目はすべてデフォルトとしました。  
![1TeraTermコンポーネントの選択.png](https://qiita-image-store.s3.amazonaws.com/0/152421/c810e2f3-c1b1-70db-2a8c-092073cf9ffd.png)
<br>
1. インストールを完了します。

# Red Hatインスタンスの作成と準備
1. Amazon EC2にログインし、［インスタンスの作成］をクリックします。

1. “Red Hat Enterprise Linux 7.3”のインスタンスの［選択］をクリックします。  
![2RedHatインスタンス選択.png](https://qiita-image-store.s3.amazonaws.com/0/152421/5d8703f5-7ce1-7829-078e-0901b0e3467f.png)
<br>

1. ステップ６［セキュリティグループの設定］で、Elixir Reportのレポートサーバーが使用するポート”7001”、サンプルで使用するTomcatのポート”9090”を追加します。それ以外のステップはデフォルト設定を使用しました。  
![3セキュリティグループ.png](https://qiita-image-store.s3.amazonaws.com/0/152421/f7213e37-ea20-9813-22a2-b6ee4ff0350b.png)
<br>
1. インスタンス作成の確認のステップで、キーペアをダウンロードしておきます。  
![4キーペアダウンロード.png](https://qiita-image-store.s3.amazonaws.com/0/152421/0c26bb34-e0db-908c-8581-eddf45c9ed65.png)
　
1. 作成が完了したら、Tera Termを使って作成したインスタンスにログインできるか試してみます。ホストのアドレスは、EC2ダッシュボードでインスタンスの”パブリックIP”に表示されているアドレスを指定します。  
![５TeraTerm_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に転送する
1. レポートサーバーのLinux OS用インストーラ（elixirreport87_linux64.bin）をRed Hat側に転送します。転送はTera TermからSSH SCPを利用して行います。Tera Termの［メニュー］をクリックして［SSH SCP］を選択します。  
![９TeraTerm_SCP.png](https://qiita-image-store.s3.amazonaws.com/0/152421/cc08b783-5d88-1bca-87d5-4bb2ff54fbe9.png)  
【注意】インストーラのzipファイルを転送してRed Hat上で解凍する場合、筆者の環境ではunzipコマンドが”command not found”となりインストールされていなかったため、インストールの必要がありました。

    ```shell-session
    $ sudo yum –y install unzip
    ```  

1. ［From:］には、Windows側にあるインストーラを、［To:］にはec2-userのホームを指定して、［Send］をクリックします。  
![10TeraTerm SCP.png](https://qiita-image-store.s3.amazonaws.com/0/152421/f08e012a-2f61-ddb5-b6bb-1286ef932611.png)
<br>
1. 同様に、インストールで必要になるレポートサーバーのライセンスファイル（*.license）も転送しておきます。


# レポートサーバーをインストールする
1.  インストールは現在ログインしているec2-userで行います。ec2-userのLANG環境変数が英語になっている場合は、日本語（ja_JP.UTF-8）に変更しておきます。  

    ```shell-session
    $ echo $LANG  
    en_US.UTF-8  
    $ export LANG=ja_JP.UTF-8  
    $ echo $LANG  
    ja_JP.UTF-8
    ```
2. 転送したインストーラに実行権限を与えます。

    ```shell-session
    $ chmod +x ./elixirreport87_linux64.bin
    $ ls -la
    -rwxr-xr-x. 1 ec2-user ec2-user 279506476 Sep 29 00:00     elixirreport87_linux64.bin
    ```

3. コンソールインストールを実行してみます。次のコマンドで行います。

    ```shell-session
    $ ./elixirreport87_linux64.bin -i console
    ```

    【注意】もし、次のようなlibc.so.6のNo such fileエラーが出力されたときは、コマンドで”quit”と入力し、一旦インストールをキャンセルします。 

    ```shell-session
    $ ./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
    ```

    その後、次のコマンドで必要なライブラリをインストールしてください。

    ```shell-session
    $ sudo yum -y install libc.so.6
    ```

4. ［使用許諾契約の同意］に”y”を入力して進みます。
<br>
5. ［ライセンスキーファイルの登録］で、転送しておいたライセンスファイルのフルパスを入力します。
<br>
6. ライセンスの登録ができたら、”next”と入力して次のステップに進みます。
<br>
7. ［インストールモジュールの選択］はデフォルトのまま、”next”と入力して次に進みます。
<br>
8. ［ポート番号］の設定では、Red Hatインスタンスを作成したときに［セキュリティグループの設定］で追加したポート番号”7001”のまま［Enter］キーを押して次に進みます。
<br>
9. レポートサーバーのログレベルは、デフォルトの”2-INFO”のまま［Enter］キーを押して次に進みます。
<br>
10. ［インストールフォルダを選択］のステップでは、書き込み権限のあるec2-userのホームディレクトリ以下を指定することにします。  
![11インストール先.png](https://qiita-image-store.s3.amazonaws.com/0/152421/59519eb1-c04f-4f25-e126-32c27d7b2562.png)
<br>
11. ［インストール前の要約］を確認して、［Enter］キーを押します。問題がなければ、”おめでとうございます”という完了メッセージが表示されます。［Enter］で終了します。


# インストール後のレポートサーバーを起動する
1. /home/ec2-user/ElixirReport87J/bin/に移動します。

    ```shell-session
    $ cd /home/ec2-user/ElixirReport87J/bin
    ```

2. レポートサーバーの起動シェルスクリプトを実行します。

    ```shell-session
    $ ./reportserver-start.sh &
    ```

    ※&を付加してバックグラウンド実行にしています。

    【注意】起動ユーザーのLANG環境変数が英語の場合、レポートサーバーが英語ロケールで起動され、Webインターフェースのメニュー等が英語表示されます。日本語ロケールへ変更して起動を行います。
<br>
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
    ```
4. Windows上のブラウザからレポートサーバーのWebインターフェースにログインしてみます。

    http://<パブリックIP>:7001
    ![12WebインターフェースURL.png](https://qiita-image-store.s3.amazonaws.com/0/152421/72604c17-a5dd-741d-7d10-652e29fcfafe.png)

    【注意】ログイン画面が表示されないときは、以下のような原因が考えられます。
    ・レポートサーバーの起動に失敗している
    ・Red Hatインスタンスの［セキュリティグループの設定］で、ポート”7001”を追加していない
<br>
5. ログイン画面が表示されたら、デフォルトで用意されている次の管理者ユーザーでログインします。

    ```
    ユーザー名: admin
    パスワード: sa  
    ```

6. ［リポジトリ］-［samples］以下のレポートテンプレート（*.rml）で、レポート生成を試してみます。レポートは生成されましたが、チャート内の日本語が文字化け（□）している箇所がありました。Red Hat側に必要な日本語フォントがインストールされていないためです。　　
![13フォントインストール前のPDF結果.png](https://qiita-image-store.s3.amazonaws.com/0/152421/93db58cf-74db-184a-536f-cce7d3e96305.png)※/samples/demo/sales2.rmlをPDF形式で生成した例


# 日本語フォントをインストールする
1. ブラウザで、Webインターフェースのメニューから［管理］-［サーバー］と選択し、［シャットダウン］ボタンをクリックして、レポートサーバーを一旦停止します。
<br>

2. Tera Termに戻り、日本語フォントを次のコマンドでインストールします。今回は、IPA明朝、IPAゴシック、VLゴシックファイルをインストールします。

    ```shell-session
    $ sudo yum -y install ipa-mincho-fonts ipa-gothic-fonts vlgothic-fonts
    ```

3. また、システムのフォントを管理するfontconfigをインストールします。

    ```shell-session
    $ sudo yum –y install fontconfig
    ```

4. レポートサーバーの起動シェルスクリプトを再度実行してレポートサーバーを起動し、もう一度レポートを生成してみます。今度は正しく表示されるようになりました。  
![14フォントインストール後の結果.png](https://qiita-image-store.s3.amazonaws.com/0/152421/cf4a159c-58a9-98d7-6898-f20bee3372e8.png)




# Tomcatを起動してサンプルWebアプリケーションを試す
1. Tomcatの起動は、同じく/home/ec2-user/ElixirReport87J/bin以下で次のコマンドを実行します。

    ```shell-session
    $ ./tomcat-start &
    ```

2. ブラウザからアクセスします。サンプルのTomcatで使用するポートは9090です。

    ```
    http://<パブリックIP>:9090
    ```

3. ［レポートサーバーAPI基本Webアプリケーション］から次ページの ［BasicReportServlet］を選択して、レポートが問題なく作成されるか確認します。  
![15Tomcat01.png](https://qiita-image-store.s3.amazonaws.com/0/152421/e82ea1c0-6bf2-7b34-2771-e05f27bbbf36.png)
<br>
4. 問題なく表示できることが確認できました。  
![16Tomcatサンプル03.png](https://qiita-image-store.s3.amazonaws.com/0/152421/f1a086ee-204a-6c24-0368-d8bb5e2e02f3.png)

以上で終了です。