CentOS IT VPS クラウドサービス

【DTI編】VPSを利用してKIOSK(キオスク)端末を作る方法

投稿日:

目的

とある知り合いからの依頼でVPSでブラウザー(Firefox)のみが可能なサーバー(PC)を可能な限り低価格にて用意しなければならなくなりました。

いわゆるキオスク端末の構築なんですがその構築手順をご紹介します。

 

環境

本記事で紹介するのはDTIのServersMan@VPSを利用した構築手順になります。

環境により手順が若干異なるのでConoha版は後日執筆予定です。

それではServersMan@VPSのご契約は↓↓↓↓↓からどうぞー



ServersMan@VPSには3つのプランがありますが

  • Entry:メモリ1GB、HDD50GBで467円/月
  • Standard:メモリ2GB、HDD100GBで934円/月
  • Pro:メモリ4GB、HDD200GBで1,886円/月

一番安いEntryでもちょっとイライラしますが利用可能なレベルにチューニングしてます。

アップグレードにも対応していますのでまずはEntryで様子見しましょう。

OSCentOS 6 (64bit)のテンプレートを使ってください。

 

構築手順

Linuxに詳しくはないので無駄な手順もあるかと思いますがご了承ください。

少なくとも手順通り実行していただければ成功します!

 

(1)サーバーへ接続

「Tera Term」や「PuTTY」等のSSHクライアントを使って展開済みのCentOSに(ポート3843で)rootで接続

 

(2)不要パッケージ削除&アップデート

軽量化、セキュリティ向上のため不要なパッケージを削除し、CentOSをアップデートします。

以下コマンドを順番に実行してください。

 

yum -y remove httpd

yum -y remove perl

yum -y update

(3)ホスト名変更

こちらはお好みで

vi /etc/sysconfig/networkm

NETWORKING="yes"
GATEWAYDEV="venet0"
NETWORKING_IPV6="yes"
IPV6_DEFAULTDEV="venet0"
HOSTNAME=ホスト名  ← この行を追記

追記したら :wq で保存、viエディターを終了して

reboot

(4)xrdpインストール

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm

xrdpのインストール

yum --enablerepo=epel -y install xrdp

OS起動時にxrdpサービス(デーモン)を起動させる

chkconfig xrdp on

xrdpサービス(デーモン)の起動

service xrdp start

(5)VNCインストール

VNCインストール

yum -y install tigervnc-server

OS起動時にVNCサービス(デーモン)を起動させる

chkconfig vncserver on

(6)各種パッケージインストール

yum -y install gnome-session gnome-desktop gnome-themes gnome-panel

yum -y install gnome-utils gnome-terminal gnome-system-monitor gnome-menus

yum -y install firefox

yum -y install alacarte

(7)xrdpの日本語キーボード対応

cd /etc/xrdp/

wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini

mv km-e0010411.ini km-0411.ini

ln -s km-0411.ini km-e0010411.ini

ln -s km-0411.ini km-e0200411.ini

ln -s km-0411.ini km-e0210411.ini

(8)xrdpの接続設定を日本語化

vi /etc/xrdp/startwm.sh

/ で exportを検索して該当場所へジャンプ

#. /etc/environment
#export PATH=$PATH
#export LANG=$LANG
export LANG=ja_JP.UTF-8 ← この行を追記

追記したら :wq で保存、viエディターを終了

(9)環境の日本語化

yum groupinstall -y "Japanese Support"

vi /etc/sysconfig/i18n

#LANG="en_US.UTF-8" ← この行をコメントアウト
LANG="ja_JP.UTF-8" ← この行を追記

追記したら :wq で保存、viエディターを終了

設定を即反映させます。

. /etc/sysconfig/i18n

日本語になっていることを確認

locale

こんな感じになっていればとりあえずOKです。

LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

(10)GNOME から軽量 Window Manager に変更

yum -y install xfwm4

設定ファイルバックアップ

cp -p /etc/X11/xinit/Xclients /etc/X11/xinit/Xclients.org

(11)KIOSK端末化<シンクライアント化>

この項はFirefoxの設定(ホームページや表示の最大化などなど)をしたあとに実施するとよりKIOSK端末になるよ

 

vi /etc/X11/xinit/Xclients

:%d で中身を全削除して次の内容に変更

#!/bin/bash

TAR_HOME=/tmp/${USER}-$$.tar
REF_FILE=/tmp/${USER}.$$
LOG_FILE=/tmp/Xclients.log

echo "----- $(date +"%Y/%m/%d %H:%M:%S") Backup user home directory -----" > $LOG_FILE
tar cf $TAR_HOME . >> $LOG_FILE 2>&1
touch $REF_FILE

XFWM4="$(which xfwm4 2>/dev/null)"

XDISPLAYNO="$(ps -ef | grep Xvnc | egrep -v '(grep|sed|awk)' | sed -e 's/.*\(Xvnc :..\).*/\1/' | awk '{print $2}' 2>/dev/null)"

if [ -n "$XFWM4" -a -n "$XDISPLAYNO" ]; then
exec "$XFWM4" &
/usr/bin/ibus-daemon -r --xim &
firefox --display=$XDISPLAYNO
fi

if [ -f $TAR_HOME ]; then
echo "----- $(date +"%Y/%m/%d %H:%M:%S") Find create/modify file -----" >> $LOG_FILE
find . -type f -newer $REF_FILE -ls -exec rm -f {} \; >> $LOG_FILE 2>&1
echo "----- $(date +"%Y/%m/%d %H:%M:%S") Restore user home directory -----" >> $LOG_FILE
tar xf $TAR_HOME >> $LOG_FILE 2>&1
fi
rm -f $TAR_HOME $REF_FILE

メモ

履歴等の情報をKIOSK端末に残さないための処理で、ログオフ時にプロファイルを削除→初期プロファイル展開みたいな感じでシンクライアント化

(12)不要パッケージ削除

『(6)各種パッケージインストール』でインストールしたものをいくつか消していますが、一度入れないとうまくいかなかった気がするので無駄かもしれませんが手順通り進めてみてください。

yum -y remove gnome-desktop
yum -y remove gnome-terminal
yum -y remove gnome-menus
yum -y remove gnome-panel-libs
yum -y remove gnome-python2-gnome
yum -y remove metacity
yum -y remove samba-common

(13)RDP接続元Winとクリップボード共有&接続ポート変更

vi /etc/xrdp/xrdp.ini

ポート変更&クリップボード共有

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389 ← 好きなポート番号に変更
crypt_level=high
channel_code=1
max_bpp=24
#black=000000
#grey=d6d3ce
#dark_grey=808080
#blue=08246b
#dark_blue=08246b
#white=ffffff
#red=ff0000
#green=00ff00
#background=626c72

[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

[channels]  ← 赤字追記
rdpdr=true
cliprdr=true

変更・追記したら :wq で保存、viエディターを終了しxrdpを再起動

service xrdp restart

(14)不要サービス停止

service ajaxterm stop
chkconfig ajaxterm off
chkconfig xinetd off

(15)利用ユーザーの追加

useradd ユーザー名
passwd ユーザー名
ユーザー ユーザー名 のパスワードを変更。

新しいパスワード:設定するパスワードを入力
新しいパスワードを再入力してください:設定するパスワードを入力

(16)RDP での root ログインを拒否

vi /etc/xrdp/sesman.ini

AllowRootLogin=0 ← 1を0に変更

変更したら :wq で保存、viエディターを終了しxrdpを再起動

service xrdp restart

使ってみよう

リモートデスクトップクライアントを起動してIPアドレス:ポート番号の形式で接続先を指定し【接続】をクリック

 

以下の警告画面が出たら今後確認しないにチェックをして【はい】をクリック

 

『(15)利用ユーザーの追加 』で作成したユーザー名とパスワードを入力し【OK】をクリック

 

接続が成功するとFirefoxが自動起動し、Firefoxを閉じるとログオフされます。

 

-CentOS, IT, VPS, クラウドサービス

Copyright© Live Free , 2018 All Rights Reserved.