はじめに
とある製品をセットアップするにあたり、どうしてもGUI環境が必要でした。
VNCというワードも今回初めて知りました。
とても苦しみながらも何とか接続できたので、備忘録として手順を記します。
1.CentOSのインスタンスを作成
AWS EC2上にCentOS 7のインスタンスを立てセットアップしていきます。
2.セキュリティ周りを変更
今回は簡易手順とするので、SELinuxおよびfirewalldは停止してしまいます。
※必要な場合はVNCの接続に必要な穴あけ等をしてあげてください。
SELinuxを無効化
# vi /etc/selinux/config
---disabledに変更
SELINUX=disabled
---
firewalldの無効化
※#
で始まっているコマンドはrootユーザで実行。
EC2のrootユーザ切り替えはデフォルトで、sudo su -
# systemctl disable firewalld
※EC2のCentOS 7には firewalld が存在しないので不要。
設定の反映
# reboot
3.VNCサーバをセットアップ
VNCをサーバ側にインストール
# yum install -y tigervnc-server
# yum groupinstall -y "GNOME Desktop"
VNCを利用するユーザ/グループを作成
# groupadd vnc
# useradd vncuser
# passwd vncuser
VNC接続時に利用するパスワードを設定
# su - vncuser
$ vncpasswd
$ exit
VNCのサービスを作成
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:3.service
※vncserver@:[数字].service
ここの数字によって穴あけする ポート番号(590[数字]
) が変わる。
例)vncserver@:3.service
→ ポート番号:5903
VNCサービスの設定を変更
# vi /etc/systemd/system/vncserver@:3.service
---(ユーザ名を作成したものに変えて保存)
ExecStartPre=/bin/sh -c '/usr/bin/[ユーザ名] -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper [ユーザ名] %i
ExecStop=/bin/sh -c '/usr/bin/[ユーザ名] -kill %i > /dev/null 2>&1 || :'
---
# cd /home/vncuser/.vnc/
# vi xstartup
---(新規作成)
#!/bin/sh
gnome-session &
---
★以下の権限設定がとても大事!!
# chown vncuser:vncuser xstartup
# chmod +x xstartup
VNCサービスを起動
# systemctl daemon-reload
# systemctl enable vncserver@:3.service
# systemctl start vncserver@:3.service
# systemctl status vncserver@:3.service
VNCクライアント側(Windows10)
適当なところから「VNC Viewer」をダウンロード
VNC Viewerを起動して以下設定
File -> NewConnection
VNC Server: [VNCサーバのIPアドレス]:[ポート番号]
※他の設定はデフォでもOK
== 注意 ==
EC2の セキュリティグループ穴あけ も忘れずに。。
参考
https://ccie-go.com/centos-vnc-1/
https://www.ipentec.com/document/linux-centos-7-vncserver-tigervncserver-install