さくらのVPSにCentOS7をインストールしてGUI環境を構築する方法

さくらのVPSを借りてWebサイトを運用しようとしたところ、かなり苦戦したのでまとめます。


今回の環境

プラン さくらのVPS 1G
OS CentOS7

OSのインストール

さくらのVPS公式マニュアルを参考にCentOS7をインストールします。
インストールはマニュアル通り行うことをお勧めします。

マニュアル⇒ https://help.sakura.ad.jp/hc/ja/articles/206055602

インストール中にGUI関連の設定をしてしまうと、動作が安定しなくなりました。
マニュアル通り最小構成でインストールしましょう。


GUI導入準備

以降は標準コンソールにひたすらコマンドを打ち込んでいきます。
標準コンソールはコピペが出来ず不便なのでこの段階でTera Term等の
ターミナルエミュレータで接続しても良いかもしれません。

ctr_panel

rootでログイン<<コマンド省略>>

SELinuxとファイアウォール停止 ※初期設定完了後に有効化します。

# setenforce 0 ← SELinux無効化
# getenforce ← SELinux状態確認
Permissive ← SELinux無効

# systemctl stop firewalld ← ファイアウォール停止

リポジトリ追加(epel、remi)

# yum install -y epel-release ← epel
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ← remi

epel、remi無効化
使うときだけ -–enablerepo オプションを付けて実行する

# vi /etc/yum.repos.d/epel.repo ← epel設定変更
ファイルを開いて enabled=1 となっているところを enabled=0 に書き換える

同様にremiも設定変更する
# vi /etc/yum.repos.d/epel.remi ← remi設定変更
※remiは最初からenabled=0になっていた

パッケージをアップグレード
# yum update


GUI導入

いよいよGUIを導入します。
CentOSではGNOMEをインストールすのが一般的ですが、メモリが1Gしかない、さくらのVPS 1Gプランでは
動作が重く、まともに操作が出来なくなります。

そこで、今回は軽量なXfceをインストールします。

デスクトップ関連をグループインストール
# yum groupinstall -–enablerepo=epel “X Window System” XFCE Desktop Fonts

ターミナル関連をインストール
下記コマンドを実行すると私の環境では既にインストールされていると表示されました。不要かもしれません。
# yum install –-enablerepo=epel xfce4-terminal xfce-utils

アイコンをインストール
yum install gnome-icon*

こででGUIのデスクトップ環境が整いました。
続いてGUI環境にリモート接続が出来るようにVNCサーバを建てましょう。


tigervnc導入

# yum install tigervnc* ← tigervncインストール

VNC接続ユーザの作成
rootで接続する場合は必要ありませんが、セキュリティ上良くないので、VNC接続ユーザを作成します。
なお、以降の説明は全てroot以外のユーザがVNC接続をすることを前提としています。
rootユーザ用のVNCサーバを起動する設定やコマンドは異なりますが割愛致します。

# useradd nagaya ← VNC接続ユーザ『nagaya』を作成
# passwd nagaya ← パスワードを設定

VNC接続ユーザの接続設定
# cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@\:2.service
設定ファイルをコピーします。
2はディスプレイ番号です。一人で接続する場合は1でかまいませんが、
1で作ってサーバが起動しなかったトラウマが有るので2にしました。

vi /etc/systemd/system/vncserver\@\:2.service
ファイルを開いて<USER>をVNC接続ユーザの名前に変更
変更箇所は2個所あります。

VNC接続ユーザのパスワードを設定
# su nagaya ← VNC接続ユーザに切り替え
$ vncpasswd ← VNC接続用パスワードを設定

$ su – ← パスワード設定後はrootに戻る

VNC起動
# systemctl daemon-reload ← デーモンをリロード
# systemctl start vncserver@:2.service ← 起動
# systemctl enable vncserver@:2.service ← 起動が確認できたら自動実行するように変更

VNC起動時のデスクトップ環境整備
# systemctl stop vncserver@:2.service ← 設定ファイルを変更するので停止する
# vi /home/nagaya/.vnc/xstartup ← 設定ファイルを編集
#exec /etc/X11/xinit/xinitrcをコメントアウトして
exec xfce4-session & を追記してください。

# systemctl start vncserver@:2.service ← 設定変更後、起動

この変更で、VNC接続時にGUIで操作ができるようになります。


リモートデスクトップ接続設定

以下の作業はリモート接続ユーザのローカルPCで操作を行います。

リモート接続ツールUltraVNCをダウンロードしてインストールしてください。
インストール後に起動し赤枠内に 接続先IPアドレス:ディスプレイ番号 を入力し、接続ボタンを押します。
※ディスプレイ番号2の設定をしてきたので末尾は2です。

ultravnc1

接続ボタンを押すとパスワードの入力を求められますのでVNC接続のパスワードを入力します。

ultravnc2

接続が完了するとデスクトップが表示されます。
画像は日本語化やブラウザのインストールが完了しているので、実際の表示とは異なります。

xfce

これでCentOS7をGUI操作できるようになりました。
次回、はデスクトップ環境整備と日本語化を説明します。