クラウド環境の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仮想マシンの作成
#CentOSへのデスクトップ環境とVNCサーバー、XRDPのインストール
-
デスクトップ環境に必要なパッケージをインストールします。
$ sudo yum grouplist $ sudo yum –y groupinstall "GNOME Desktop" "Graphical Administration Tools"
-
VNCサーバーをインストールします。
$ sudo yum –y install tigervnc-server xorg-x11-fonts-Type1
-
VNCサーバーのユニットファイルをコピーします。
$ sudo cp -a /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
-
コピーしたユニットファイルを編集して、
<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
-
下記の参考情報を参考に、ファイアウォールに次の二つのポートを許可します。ですが筆者の環境ではファイアウォールは起動していませんでした。
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
-
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!
-
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
-
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
-
netstatコマンドでxrdp(3389)、VNC(5901)用のポートが”LISTEN”状態になっていることを確認しました。
$ netstat -ant
#WindowsからのVNC接続
この記事はリモートデスクトップからの接続を目的にしていますが、仮想マシンにはVNCからも接続できるようになったはずです。せっかくなので、Windows側にインストール済みのVNCビューアUltraVNC Viewer
で接続を試してみたいと思います。
#Windowsからリモートデスクトップで接続
- Windowsで、リモートデスクトップを起動します。[スタート]-[プログラム]-[Windowsアクセサリ]-[リモートデスクトップ接続]
- 接続できたと思ったのですが、“VNC error – only supporting 8, 15, 16 and 24 bpp rdp connections”というエラーが表示されてしまいました。色の深さが 24ビット以下でないと接続できないというエラーのようです。
-
Tera Termから設定ファイルを編集します。/etc/xrdp/xrdp.iniを編集し、bppの上限を32から24に変更します。
$ sudo vi /etc/xrdp/xrdp.ini
以下のように編集しました。
#max_bpp=32 max_bpp=24
-
xrdpサービスを再起動します。
$ sudo systemctl restart xrdp.service $ sudo systemctl restart xrdp-sesman.service
#レポートサーバーインストーラの転送とインストールの実行
-
Tera TermのSCPでインストーラ(
elixirreport87_linux64.bin
)、ライセンスファイル(*.license
)をユーザーのHome(SCPでは~/
と入力)に転送します。 -
転送したインストーラに実行権限を与えます。
$ chmod +x elixirreport87_linux64.bin
-
リモートデスクトップに移動し、メニューの[アプリケーション]から[端末(英語の場合は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
-
そのまま実行してみると、Amazon EC2などでのRed Hatインスタンス上でのインストールと同様に
lib.so.6
がないというエラーが発生します。このエラーがでてもGUIインストーラは表示されますが、一旦インストーラをキャンセルします。$ ./elixirreport87_linux64.bin
※インストーラのダブルクリックでの実行はできません。
-
エラーの解消のため、lib.so.6のインストールを行います。
$ sudo yum -y install libc.so.6
-
端末からもう一度インストーラを実行するとインストーラが表示されました。ステップに沿って進めればインストールが完了します。インストール先は、ユーザーが書き込み権限を持つ場所にすることに注意してください。
インストールの詳細なステップを確認したいときは、Amazon EC2上のRed Hat Enterprise LinuxにX11転送でレポートサーバーをGUIインストールする手順の[GUIインストールを実行する]を参考にしてください。
#レポートサーバーの起動と、セキュリティ設定
-
端末で<レポートサーバーのインストールディレクトリ>/binに移動し、起動シェルスクリプトを実行します。
$ ./reportserver-start.sh &
※”&”を付加することでバックグラウンド実行にします。
【注意】起動ユーザーのLANG環境変数が英語の場合、レポートサーバーが英語ロケールで起動され、Webインターフェースのメニュー等が英語表示されます。日本語ロケールへ変更して起動を行ってください。
-
Windows側のブラウザからWebインターフェースにアクセスしてみますが、タイムアウトしてしまいます。ファイアウォールの設定ではじかれているようです。
http://<パブリックIPアドレス>:7001/
-
Azureのダッシュボードで、ポート7001を許可します。[ネットワークインターフェース]-[ネットワークセキュリティグループの設定]から行います。
#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 で再デプロイすることが推奨されているようです。