Help us understand the problem. What is going on with this article?

Microsoft Azure上でのCentOS仮想マシン作成と、X11転送でGUIインストーラをWindowsから操作する手順 - Elixir Report

More than 1 year has passed since last update.

クラウド環境のLinuxインスタンスに、帳票ツールのElixir Reportをインストールする手順を画像付きでまとめています。

今回使用する環境は、Microsoft Azureです。

CentOSの仮想マシン作成を行って、Elixir Reportのインストーラを実行し、GUIをX11転送(X11 Forwarding)でWindows側に飛ばして操作する手順になっています。X11転送を使えば、CentOSにデスクトップ環境が入っていなくてもGUI操作でインストールができるので便利です。

ところで、Elixir Reportが公式にサポートしているLinux OSはRed Hat Enterprise Linuxですが、このまとめではCentOSを利用しています。CentOSでも問題なく動作しています。

環境

Windows 8.1
Elixir Report 8.7J
Microsoft Azure CentOS 7.2

WindowsにTera Termをインストール

この記事では、LinuxへのSSH接続にTera Termを使用します。
WindowsへのTera Termのインストール方法は、Amazon EC2上にRed Hatインスタンスを作成してElixir Reportをコンソールインストールする手順[SSH接続用にWindowsにTera Termをインストールしておく]の項目を参考にしてください。

WindowsにXサーバーをインストール

この記事では、Linux上で動作しているアプリケーションのGUIをWindows側に表示する方法(X11転送)を行います。

この方法ではWindows側にXサーバーがインストールされている必要がありますので、今回はXmingというフリーのWindows用Xサーバーを使用します。

詳しい手順は、以前の記事、Amazon EC2上のRed Hat Enterprise LinuxにX11転送でElixir ReportをGUIインストールする手順[WindowsにXサーバーをインストールする]の項目を参考にしてください。

CentOS仮想マシンの作成

  1. Microsoft Azureにログインして、ダッシュボードを表示します。左上の[+新規]をクリックします。
    新規00.png

  2. [Marketplace]‐[Compute]と進み、フィルターに”CentOS”と入力します。表示された“CentOS-based 7.2”を使用します。
    新規_フィルタリング.png

  3. デプロイモデルの選択に“Resource Manager”を選択して、[作成]をクリックします。
    リソースマネジャ.png

  4. [基本設定の構成]画面になります。今回は[認証の種類]を”パスワード”にしています。
    新規_1基本設定の構成.png

  5. [仮想マシンのサイズの選択]画面では、1コアの設定を選択しました。
    サイズの選択.png

  6. [オプション機能の構成]はデフォルト設定のままとしました。
    オプション1.png
    オプション2.png

  7. [概要]の画面で内容を確認して、[OK]をクリックすると、仮想マシンが作成されます。
    概要.png

  8. デプロイが完了すると、作成した仮想マシンがダッシュボードで確認できるようになりました。
    ダッシュボードで確認.png

CentOSへのSSH接続と、X11転送の確認

Linux側の設定確認とXアプリケーションのインストール

  1. WindowsマシンでTera Termを起動し、作成した仮想マシンのパブリックIPアドレスを入力し、SSH接続します。ユーザー名とパスワードは、仮想マシン作成時に指定した内容です。ここでは”testuser/<指定したパスワード>”になります。

  2. 接続に成功したら、X11転送の設定が有効化されているか確認します。rootユーザーは使えないため(以下参考)、sudo でX11転送がYesになっているか確認します。デフォルトで有効化されていることが確認できました。

    [参考情報]Azure 上の Linux 仮想マシンでの root 権限の使用

    $ sudo cat sshd_config |grep X11
    [sudo] password for testuser:
    X11Forwarding yes
    #X11DisplayOffset 10
    #X11UseLocalhost yes
    #       X11Forwarding no
    
  3. Windows側で確認に使用できるXアプリケーションがあるか確認してみますが、xclockxeyesgeditなどは入っていませんでした。フォント管理のfc-listもありません。

    $ sudo xclock
    sudo: xclock: command not found
    $ sudo xeyes
    sudo: xeyes: command not found
    $ sudo gedit
    sudo: gedit: command not found
    $ sudo fc-list
    sudo: fc-list: command not found
    
  4. XアプリケーションをX11転送してWindows上に表示できるか確認するため、xeyesというXアプリケーションをインストールすることにします。

    $ sudo yum –y install xeyes
    

    xeyesのインストールで、fc-listもインストールされます。

Windows側の設定とテスト

  1. Windows側でXmingが起動していることを確認します。

  2. Tera Termの設定で、リモートのXアプリケーションをローカルに表示する設定を行います。Tera Termの[設定]-[SSH転送]をクリックします。
    9TeraTerm_SSH転送設定.png

  3. [リモートの(X)アプリケーションをローカルのXサーバに表示する]にチェックを入れて、[OK]をクリックします。
    10TeraTerm_SSH転送設定01.png

  4. 一旦Tera Termからログインして、再度ログインし直します。

  5. DISPLAY変数が設定されているか確認します。

    $ echo $DISPLAY
    
    
  6. 前の手順で何も返ってこなかった場合は、先ほどインストールしたxeyesを実行しても次のようなエラーになってしまいます。

    $ sudo xeyes
    Error: Can't open display:
    
  7. Amazon EC2上にRed Hatインスタンスを作成した時と同じ手順でxauthx11のライブラリをインストールします。

    $ sudo yum –y install xorg-x11-xauth.x86_64 xorg-x11-server-utils.x86_64
    
  8. Tera Termでログインしなおし、DISPLAY変数を確認します。今度は自動で設定されていました。

    $ echo $DISPLAY
    localhost:10.0
    
  9. xeyesを実行すると、無事Windows側で表示されました。
    xeyes.png

CentOSへのインストーラの転送とインストールの実行

  1. Tera TermのSCPでインストーラを転送します。

  2. 転送したインストーラに実行権限を与えます。

    $ chmod +x elixirreport87_linux64.bin
    
  3. testuserのLANG環境変数が英語になっている場合は、日本語(ja_JP.UTF-8)に変更しておきます。

    $ echo $LANG
    en_US.UTF-8
    $ export LANG=ja_JP.UTF-8
    $ echo $LANG
    ja_JP.UTF-8
    
  4. まず、そのままインストーラを実行すると、Amazon EC2のRed Hatインスタンス上でインストールしたときと同じlibc.so.6がないというエラーとInvocationTargetExceptionエラーが発生しました。

    $ ./elixirreport87_linux64.bin
    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
    
    Launching installer...
    
    Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)
    
    Stack Trace:
    java.lang.NoClassDefFoundError: Could not initialize class java.awt.Toolkit
            at java.awt.Component.<clinit>(Component.java:593)
            at com.zerog.ia.installer.LifeCycleManager.g(DashoA8113)
            at com.zerog.ia.installer.LifeCycleManager.h(DashoA8113)
            at com.zerog.ia.installer.LifeCycleManager.a(DashoA8113)
            at com.zerog.ia.installer.Main.main(DashoA8113)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:497)
            at com.zerog.lax.LAX.launch(DashoA8113)
            at com.zerog.lax.LAX.main(DashoA8113)
    This Application has Unexpectedly Quit: Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)
    
  5. エラーの解消のため、lib.so.6のインストールを行います。

    $ sudo yum -y install libc.so.6
    
  6. 次に、必要なライブラリをインストールします。

    $ sudo yum –y install libXtst
    
  7. もう一度インストーラを実行しますが、日本語フォントがないので□表示になってしまいました(もし実行してしまったときは、赤で囲んだボタンをクリックして、インストールをキャンセルしてください)。

    13GUIトーフになる.png
    14終了02.png

  8. フォントのインストールをします。

    $ sudo yum -y install vlgothic-fonts ipa-mincho-fonts ipa-gothic-fonts
    
  9. 再度インストーラを実行すると、問題なくインストーラが起動しました。インストーラの詳細なステップは、以前の記事を参考にしてください。

レポートサーバーの起動と、セキュリティ設定

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

    $ ./reportserver-start.sh &
    

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

    【注意】起動ユーザーのLANG環境変数が英語の場合、レポートサーバーが英語ロケールで起動され、Webインターフェースのメニュー等が英語表示されます。日本語ロケールへ変更して起動を行ってください。

  2. Windows側のブラウザからWebインターフェースにアクセスしてみますが、タイムアウトしてしまいました。ファイアウォールではじかれているようです。

    http://<パブリックIPアドレス>:7001/ 
    
  3. レポートサーバーが使用するポート7001の許可をAzureのダッシュボードから追加します。[ネットワークセキュリティグループの設定]から行います。
    7001ポート許可.png

  4. 仮想マシンの再起動などはしなくても、すぐに7001ポートでのアクセスに成功し、レポート生成もできるようになりました。

CentOSインストールのまとめ

CentOSへのElixir Reportのインストールは、Amazon EC2上のRed Hatインスタンスへのインストールと同じライブラリやフォントのインストールが必要で、Windows側の準備や設定も同じでした。設定などを以下にまとめておきます。

CentOSにインストールした項目

・ライブラリ

$ sudo yum –y install xorg-x11-xauth.x86_64 xorg-x11-server-utils.x86_64
$ sudo yum -y install libc.so.6
$ sudo yum –y install libXtst

・フォント関連

$ sudo yum -y install vlgothic-fonts ipa-mincho-fonts ipa-gothic-fonts

※xeyesをインストールしなかった場合は以下も必要

$ sudo yum –y install fontconfig

・確認用のXアプリケーション(必須ではありません。インストールしなかった場合は、上記のfontconfigのインストールを行ってください)

$ sudo yum –y install xeyes

CentOSの仮想マシンに行った設定変更

・ポート7001の開放(ネットワークセキュリティグループの設定)

参考情報

よくあるエラーをこちらの記事の参考情報にまとめています。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away