Amazon EC2上のRed Hat Enterprise Linuxにリモートデスクトップ接続してElixir ReportをGUIインストールする手順

クラウド環境のLinuxインスタンスに、帳票ツールの[Elixir Report](http://www.grapecity.com/tools/info/java/elixir-report/)をインストールする手順をまとめています。

参考までに、以前の記事はこちら。
・[Amazon EC2上にRed Hatインスタンスを作成してElixir Reportをコンソールインストールする手順](http://qiita.com/mdmom/items/6382fa66264c4c8168ac)
・[Amazon EC2上のRed Hat Enterprise LinuxにX11転送でElixir ReportをGUIインストールする手順](http://qiita.com/mdmom/items/41b42da2dec00d77faa1)

今回は、Amazon EC2上のRed Hatインスタンスに、**デスクトップ環境**と**VNCサーバー**をインストールして、WindowsからVNCクライアントを使って接続し、Elixir ReportのレポートサーバーをGUIインストールする手順を試してみたいと思います。


#環境
Windows 8.1
Elixir Report 8.7J
UltraVNC 1_2_12 64bit
Amazon EC2 Red hat Enterprise Linux 7.3
tigervnc-server


#Red Hatインスタンスを作成して、パスワード認証を許可する
1. Amazon EC2上に、デフォルトの構成でRed Hatインスタンスを作成します。以前まとめた、[Amazon EC2上にRed Hatインスタンスを作成してElixir Reportをコンソールインストールする手順](http://qiita.com/mdmom/items/6382fa66264c4c8168ac) の[［Red Hatインスタンスの作成と準備］](http://qiita.com/mdmom/items/6382fa66264c4c8168ac#red-hat%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%A8%E6%BA%96%E5%82%99)を参考にしてください。

    セキュリティ設定のポートの開放では、レポートサーバーが使用するポート`7001`と、サンプルのTomcatで使用するポート`9090`だけでなく、VNCが使用するポート**5901**も追加する必要があるので、注意してください。
<br>

2. Windowsから作成したインスタンスにSSH接続します。この記事ではTera Termを使用します。Tera Termのインストール手順については、こちらも[以前の記事](http://qiita.com/mdmom/items/6382fa66264c4c8168ac) の[［SSH接続用にWindowsにTera Termをインストールする］](http://qiita.com/mdmom/items/6382fa66264c4c8168ac#ssh%E6%8E%A5%E7%B6%9A%E7%94%A8%E3%81%ABwindows%E3%81%ABtera-term%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B)を参考にしてください。
<br>
3. Tera Termでインスタンスに接続したら、パスワード認証（`PasswordAuthentication`）を許可するように変更します。`sshd_config`は念のためバックアップを取っておいてください。変更後の`sshd_config`は次のようになります。

    ```
    $ cat /etc/ssh/sshd_config|grep Pass
    PasswordAuthentication yes
    #PermitEmptyPasswords no
    #PasswordAuthentication no
    #KerberosOrLocalPasswd yes
    ```

4. sshdサービスを再起動します。

    ```shell-session
    $ sudo systemctl restart sshd.service
    ```

5. ec2-userのパスワードを設定します。

    ```
    $ sudo –i
    $ passwd ec2-user
    パスワード入力
    ```

6. Tera Termを新しく起動して、パスワードでログインできるか試してみます。


#Red Hatに、デスクトップ環境とVNCサーバーをインストールする
1. Tera TermでRed Hatインスタンスに接続して、パッケージのグループ`Server with GUI`をインストールします。

    ```shell-session
    $ sudo yum grouplist
    $ sudo yum -y groupinstall 'Server with GUI'
    ```

2. 次にVNCサーバーをインストールします。

    ```shell-session
    $ sudo yum –y install tigervnc-server
    ```

3. VNCサーバーのパスワードを設定します。

    ```shell-session
    $ vncpasswd
    Password:
    Verify:
    ```

4. VNCサーバーのユニットファイルをコピーします。

    ```
    cp -a /lib/systemd/system/vncserver@.service /etc/systemd/system /vncserver@:1.service
    ```

5. コピーしたユニットファイルを編集して、`<USER>`の部分をログインユーザー名`ec2-user`で置き換えます。

    ```
    $ vi /etc/systemd/system/vncserver@:1.service
    ExecStart=/usr/sbin/runuser -l ec2-user -c "/usr/bin/vncserver %i"
    PIDFile=/home/ec2-user/.vnc/%H%i.pid
    ```


6. ファイアウォールの設定にVNCサーバーを追加します。また、レポートサーバーが使用するポート`7001`も許可しておきます。

    ```shell-session
    $ firewall-cmd --permanent --zone=public --add-service=vnc-server
    $ firewall-cmd --zone=public --add-port=7001/tcp --permanent
    $ firewall-cmd --reload
    $ firewall-cmd --list-all
    ```

7. rootでVNCのサービスを起動します。

    ```shell-session
    $ sudo su –
    # systemctl start vncserver@:1
    ```

8. Windowsに、VNCクライアントとしてUltraVNCをインストールします。筆者は以下のサイトからダウンロードしてインストールしました。


    [窓の杜 UltraVNC](http://forest.watch.impress.co.jp/library/software/ultravnc/)（*UltraVNC_1_2_12_X64_Setup.exe*）
<br>    
9. UltraVNC Viewer を起動して、VNC Serverの入力箇所にRed Hatインスタンスの*IP::ポート*（または*IP:ポート*）と入力して、Red Hatインスタンスのデスクトップに接続できることを確認します。
![1vnc接続成功.png](https://qiita-image-store.s3.amazonaws.com/0/152421/f7fb52d5-6146-0f9a-ca41-ab9e2f609814.png)
接続できました。


#Red HatへVNC接続してレポートサーバーのインストーラを実行する
1. UltraVNC ViewerでRed Hatインスタンスに接続します。
<br>

2. レポートサーバーのインストーラをTera TermからSCPで転送し、実行権限の設定を行います。この手順の詳細は、以前の記事、[Amazon EC2上にRed Hatインスタンスを作成してElixir Reportをコンソールインストールする手順](http://qiita.com/mdmom/items/6382fa66264c4c8168ac)の[［レポートサーバーのインストーラをRed Hatに転送する］](http://qiita.com/mdmom/items/6382fa66264c4c8168ac#%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A9%E3%82%92red-hat%E3%81%AB%E8%BB%A2%E9%80%81%E3%81%99%E3%82%8B)を参照してください。
<br>

3. Tera TermまたはRed Hatインスタンスのコンソールを開き、必要なライブラリをインストールします。このライブラリインストールはコマンドインストール、X11転送でのGUIインストールでも行います。

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

4. レポートサーバーのインストーラを次のコマンドで起動します。

    ```shell-session
    $ ./elixirreport87_linux64.bin
    ``` 
    ![2VNC_GUIインストーラ00.png](https://qiita-image-store.s3.amazonaws.com/0/152421/f52ad000-7396-9480-d0fc-435c49c762f1.png)
<br>
5. その後の手順の詳細は、以前の記事、[Amazon EC2上のRed Hat Enterprise LinuxにX11転送でレポートサーバーをGUIインストールする手順](http://qiita.com/mdmom/items/41b42da2dec00d77faa1)の[［GUIインストールを実行する］](http://qiita.com/mdmom/items/41b42da2dec00d77faa1#gui%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B)を参考に完了させてください。


#インストールしたレポートサーバーを起動する
1. レポートサーバーを起動するユーザーのLANG環境変数を日本語ロケールへ変更します。

    ```shell-session
    $ export LANG=ja_JP.UTF-8
    ```

2. レポートサーバーをインストールしたディレクトリ以下の/binに移動します。筆者の環境では、*/home/ec2-user/ElixirReport87J/bin/*になります。

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

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

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

    ※"&"を付加することでバックグラウンド実行にします。
<br>
4.	起動に成功すると、コンソール上に次のようにCopyrightが表示されます。

    ```
    INFO  [main] com.elixirtech.ers2.Main - Copyright 2016 Elixir Technology Pte Ltd
    INFO  [Thread-19] com.elixirtech.ers2.EnsureServerStarted - Checking server status
    ```

5. Windows上のブラウザからレポートサーバーのWebインターフェースにログインしてみます。

    ```
    http://<パブリックIP>:7001
    ``` 
    ![3WebインターフェースURL.png](https://qiita-image-store.s3.amazonaws.com/0/152421/309b3ac7-287d-25bc-1e77-510d411ce236.png)


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

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

7. ［リポジトリ］以下のサンプルテンプレートを実行してみます。`［samples］‐［demo］-［sales2］-［sales2.rml］`を選択して、出力形式に”PDF”を選んで［OK］をクリックすると、レポートが生成されます。
    ![4ロケールを日本語にして、PDFもできます.png](https://qiita-image-store.s3.amazonaws.com/0/152421/2fc315eb-84ad-8108-76c3-435a55d6fdb6.png)


 


以上で完了です。