LoginSignup
7
13

More than 5 years have passed since last update.

Microsoft Azure上でのCentOS仮想マシン作成と、リモートデスクトップ接続でWindowsからGUIインストールする手順 - Elixir Report

Posted at

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

今回はMicrosoft AzureにCentOSの仮想マシンを作成して、Windowsからリモートデスクトップで接続しインストールする手順を紹介します。

X11転送でインストールする手順については、別記事Microsoft Azure上でのCentOS仮想マシン作成と、X11転送でGUIインストーラをWindowsから操作する手順 - Elixir Reportにまとめてありますので、参考にしてください。

環境

Windows 8.1
Elixir Report 8.7J
Microsoft Azure CentOS 7.2

WindowsにTera Termをインストール

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

CentOS仮想マシンの作成

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

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

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

  4. [基本設定の構成]画面になります。今回は[認証の種類]を”パスワード”に、[ディスク]をHDDに、[場所]を“西日本”しています。ユーザー名はtestuserとします。
    VM作成01.png

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

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

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

  8. デプロイ中の状況は、[通知]から確認できます。
    VM作成_デプロイ中.png

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

CentOSへのデスクトップ環境とVNCサーバー、XRDPのインストール

  1. デスクトップ環境に必要なパッケージをインストールします。

    $ sudo yum grouplist
    $ sudo yum –y groupinstall "GNOME Desktop" "Graphical Administration Tools"
    
  2. VNCサーバーをインストールします。

    $ sudo yum –y install tigervnc-server xorg-x11-fonts-Type1
    
  3. VNCサーバーのユニットファイルをコピーします。

    $ sudo cp -a /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
    
  4. コピーしたユニットファイルを編集して、<USER>の部分をログインユーザー名のtestuserで置き換えて、上書き保存します(コマンドは一行です)。

    $ sudo vi /etc/systemd/system/vncserver@:1.service
    ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
    PIDFile=/home/<USER>/.vnc/%H%i.pid
    
  5. 下記の参考情報を参考に、ファイアウォールに次の二つのポートを許可します。ですが筆者の環境ではファイアウォールは起動していませんでした。

    Remote Desktop to your Linux Azure Virtual Machine(マイクロソフト)

    参考情報に記載されているポートの追加:

    $ firewall-cmd --permanent --zone=public --add-port=5901/tcp
    $ firewall-cmd --permanent --zone=public --add-port=3389/tcp 
    $ firewall-cmd --reload
    

    筆者の環境での結果:

    $ firewall-cmd --permanent --zone=public --add-port=5901/tcp
    FirewallD is not running
    
  6. xrdpをインストールするため、EPELリポジトリのインストールを行います。先ほどの参考情報のURLが利用できなかったので、yumでインストールしました。

    $ sudo yum install epel-release
    [sudo] password for testuser:
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package epel-release.noarch 0:7-6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================
     Package                Arch             Version         Repository        Size
    ================================================================================
    Installing:
     epel-release           noarch           7-6             extras            14 k
    
    Transaction Summary
    ================================================================================
    Install  1 Package
    
    Total download size: 14 k
    Installed size: 24 k
    Is this ok [y/d/N]: y
    Downloading packages:
    epel-release-7-6.noarch.rpm                                |  14 kB   00:00
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : epel-release-7-6.noarch                                      1/1
      Verifying  : epel-release-7-6.noarch                                      1/1
    
    Installed:
      epel-release.noarch 0:7-6
    
    Complete!
    
  7. xrdpのインストールを行います。

    $ sudo yum install xrdp 
    $ sudo chcon -t bin_t /usr/sbin/xrdp* 
    $ sudo systemctl start xrdp.service 
    $ sudo systemctl enable xrdp.service 
    $ sudo systemctl start xrdp-sesman.service
    
  8. VNCサーバーを起動します。

    $ sudo su -
    # systemctl start vncserver@:1
    # ps -ef|grep vnc
    testuser  1474     1  0 08:23 ?        00:00:00 /usr/bin/Xvnc :1 -desktop CentOSDesktop:1 (testuser) -auth /home/testuser/.Xauthority -geometry 1024x768 -rfbwait 30000 -rfbauth /home/testuser/.vnc/passwd -rfbport 5901 -fp catalogue:/etc/X11/fontpath.d -pn
    testuser  1478     1  0 08:23 ?        00:00:00 /usr/bin/vncconfig -iconic
    root      1617  1397  0 08:23 pts/0    00:00:00 grep --color=auto vnc
    
  9. netstatコマンドでxrdp(3389)、VNC(5901)用のポートが”LISTEN”状態になっていることを確認しました。

    $ netstat -ant
    

    xrd起動をnetstatで確認.png

  10. 仮想マシンの[ネットワークセキュリティグループ]の設定で、[受信セキュリティ規則]にリモートデスクトップ用の“3389”とVNC用の”5901”の2つを追加しました。
    ポート開放3389.png
    ポート開放5901.png

WindowsからのVNC接続

この記事はリモートデスクトップからの接続を目的にしていますが、仮想マシンにはVNCからも接続できるようになったはずです。せっかくなので、Windows側にインストール済みのVNCビューアUltraVNC Viewerで接続を試してみたいと思います。

  1. VNCでのログインテストを行います。Windows側でUltraVNC Viewerを起動し、仮想マシンのパブリックIPアドレス::5901に接続します。
    ultraVNC_IP.png

  2. パスワード入力画面が表示されました。パスワードが長すぎる場合はすべて入力できず警告音がなりますが、接続には問題ありませんでした。
    ultraVNC_password.png

  3. ようこそ、画面が表示されました。”日本語”、”日本語(かな漢字)キーボード”を選択し、アカウントはスキップして進むと、デスクトップが表示されました。
    ultraVNC_ようこそ画面.png
    ultraVNC_ようこそキーボード.png
    ultraVNC_デスクトップ.png

Windowsからリモートデスクトップで接続

  1. Windowsで、リモートデスクトップを起動します。[スタート]-[プログラム]-[Windowsアクセサリ]-[リモートデスクトップ接続]

  2. 接続先に、仮想マシンのパブリックIPアドレスを指定して[接続]をクリックします。
    RDP接続.png

  3. 警告が出ますが受け入れます。
    RDP警告.png

  4. 仮想マシンのログイン画面が表示されるので、ユーザー名/パスワードでログインします。
    RDP_ログイン.png

  5. 接続できたと思ったのですが、“VNC error – only supporting 8, 15, 16 and 24 bpp rdp connections”というエラーが表示されてしまいました。色の深さが 24ビット以下でないと接続できないというエラーのようです。
    RDP_VNC error.png

  6. Tera Termから設定ファイルを編集します。/etc/xrdp/xrdp.iniを編集し、bppの上限を32から24に変更します。

    $ sudo vi /etc/xrdp/xrdp.ini
    

    以下のように編集しました。

    #max_bpp=32
    max_bpp=24
    
  7. xrdpサービスを再起動します。

    $ sudo systemctl restart xrdp.service
    $ sudo systemctl restart xrdp-sesman.service
    
  8. 再度リモートデスクトップで接続してログインしてみると、接続ができ認証画面が表示されます。
    RDP_Authentication画面.png

  9. デスクトップが表示されました。
    RDP_デスクトップ.png

レポートサーバーインストーラの転送とインストールの実行

  1. Tera TermのSCPでインストーラ(elixirreport87_linux64.bin)、ライセンスファイル(*.license)をユーザーのHome(SCPでは~/と入力)に転送します。

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

    $ chmod +x elixirreport87_linux64.bin
    
  3. リモートデスクトップに移動し、メニューの[アプリケーション]から[端末(英語の場合はTerminal)]を開きます。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インスタンス上でのインストールと同様にlib.so.6がないというエラーが発生します。このエラーがでてもGUIインストーラは表示されますが、一旦インストーラをキャンセルします。

    $ ./elixirreport87_linux64.bin
    

    ※インストーラのダブルクリックでの実行はできません。

  5. エラーの解消のため、lib.so.6のインストールを行います。

    $ sudo yum -y install libc.so.6
    
  6. 端末からもう一度インストーラを実行するとインストーラが表示されました。ステップに沿って進めればインストールが完了します。インストール先は、ユーザーが書き込み権限を持つ場所にすることに注意してください。
    インストール要約.png

インストールの詳細なステップを確認したいときは、Amazon EC2上のRed Hat Enterprise LinuxにX11転送でレポートサーバーをGUIインストールする手順[GUIインストールを実行する]を参考にしてください。

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

  1. 端末で<レポートサーバーのインストールディレクトリ>/binに移動し、起動シェルスクリプトを実行します。

    $ ./reportserver-start.sh &
    

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

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

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

    http://<パブリックIPアドレス>:7001/ 
    
  3. Azureのダッシュボードで、ポート7001を許可します。[ネットワークインターフェース]-[ネットワークセキュリティグループの設定]から行います。
    7001許可.png

  4. 7001ポートを許可すると、OSなどの再起動なしで、すぐに7001ポートへのアクセスができるようになりました。
    ログイン画面初回.png

  5. デフォルトの管理者”admin“、パスワード”sa”でログインし、[リポジトリ]-[samples]以下のrmlファイルを選択し、希望の形式でレポート生成確認ができました。
    サンプルの実行.png

CentOSインストールのまとめ

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

・デスクトップ環境
・EPELリポジトリ
・xrdp

$ sudo yum install xrdp 

・VNCサーバー
・libc.so.6ライブラリ

$ sudo yum -y install libc.so.6

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

・ネットワークセキュリティグループにてポートの開放
- 7001(Elixirレポートサーバー)
- 5901(VNC)
- 3889(リモートデスクトップ)

・色の深さの設定変更

$ sudo vi /etc/xrdp/xrdp.ini

参考情報

Q1. デプロイメントモデルにResource Managerとクラシックのどちらを選択すべきか?

下記のマイクロソフトの情報によると、Azureのデプロイメントモデルの種類は、従来のクラシックとResource Managerがあり、これらのモデルは互換性がありません。新しいリソースには Resource Manager を利用し、既存のリソースもResource Manager で再デプロイすることが推奨されているようです。

Azure Resource Manager とクラシック デプロイ: デプロイ モデルとリソースの状態について

Azure 上の Windows VM へのリモート デスクトップ接続に関する問題の詳細なトラブルシューティング手順

7
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
13