さくらの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等の
ターミナルエミュレータで接続しても良いかもしれません。
rootでログイン<<コマンド省略>>
SELinuxとファイアウォール停止 ※初期設定完了後に有効化します。
# setenforce 0 ← SELinux無効化
# getenforce ← SELinux状態確認
Permissive ← SELinux無効
# systemctl stop firewalld ← ファイアウォール停止
# 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個所あります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l nagaya -c "/usr/bin/vncserver %i"
PIDFile=/home/nagaya/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
|
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 & を追記してください。
1
2
3
4
5
6
7
|
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
#exec /etc/X11/xinit/xinitrc
exec xfce4-session &
|
# systemctl start vncserver@:2.service ← 設定変更後、起動
この変更で、VNC接続時にGUIで操作ができるようになります。
リモートデスクトップ接続設定
以下の作業はリモート接続ユーザのローカルPCで操作を行います。
リモート接続ツールUltraVNCをダウンロードしてインストールしてください。
インストール後に起動し赤枠内に 接続先IPアドレス:ディスプレイ番号 を入力し、接続ボタンを押します。
※ディスプレイ番号2の設定をしてきたので末尾は2です。
接続ボタンを押すとパスワードの入力を求められますのでVNC接続のパスワードを入力します。
接続が完了するとデスクトップが表示されます。
画像は日本語化やブラウザのインストールが完了しているので、実際の表示とは異なります。
これでCentOS7をGUI操作できるようになりました。
次回、はデスクトップ環境整備と日本語化を説明します。