これまでさくらのVPSではUbuntu10.04LTSをリモートデスクトップとして動かしてきたのですが、やはりサービスを何かさせてくなってきました。・・・となると、やはりCentOSか・・・というわけで、CentOSに入れ替えてみました。
注意:以下の記述は試行錯誤の上で、「こういう順番でインストールすべきだったのだろう」という記述順序になっています。実際に奮闘した順序とは異なります。
1.CentOS6(i686)をカスタムOSインストーラでさくっとインストール
難しいところは何もありません。IPv6は未サポートなので、インストール時にチェックを外すくらいでしょうか。
インストール後、rootでリモートコンソールログインします。
2.GNOME環境のインストール
# yum groupinstall “X Window System” “Desktop” “General Purpose Desktop” “Japanese Support”
途中、キーの取り込みを行うか確認されるので「y」を選択します。改竄防止のためのチェックのため・・・・ということらしい。
3.ユーザーの追加
# useradd xxx # passwd xxx (パスワード入力)
xxxはユーザー名。suでrootになれることを確認します。
4.sudoコマンドが使えるようにする
# usermod -G wheel xxx
で wheel にユーザーを追加し、visudoコマンドで wheel グループが sudo コマンドを使えるように下記のように編集します。
## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL
5.ssh で接続するポートの変更
/etc/ssh/sshd_config を編集してsshで接続するポートを変更。以下の記述を追加します。
Port zzzzz (zzzzzはポート番号)
追加した後、sshdを再起動します。
# sudo /etc/rc.d/init.d/sshd restart
再起動後、指定したポートでsshログインできることを確認します。
6.起動時にデスクトップを起動するよう設定
/etc/inittab を編集し、
id:3:initdefault:
を
id:<span style="color: #ff0000;">5</span>:initdefault
に変更して再起動します。
しかしながら、画面は出るものの、動作はおかしい。GNOME端末や設定ツール類が起動できません。(できるものもあるからややこしい)
ログを見ると、『Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: そのようなファイルやディレクトリはありません』というメッセージが吐きつづけられています。
調べると、messagebusが動いてないような記述が見つかります。
# chkconfig --list messagebus messagebus 0:off 1:off 2:off 3:off 4:off 5:off 6:off # chkconfig messagebus on # chkconfig --list messagebus messagebus 0:off 1:off 2:on 3:on 4:on 5:on 6:off # shutdown -r now
で再起動します。
7.FreeNXをインストール
リモートデスクトップ環境としてはFreeNXはVNCとは比較にならないくらい高速なので、FreeNXをインストールします。
# yum install nx freenx
FreeNXのServer側をインストールする。その後、 /etc/nxserver/node.confを編集し、
ENABLE_PASSDB_AUTHENTICATION="1" SSHD_PORT=zzzzz
# nxserver --adduser xxx # nxserver --passwd xxx (xxxはユーザー名)
としてユーザーを追加します。
クライアント側では /etc/nxserver/client.id_dsa.key にある秘密鍵を client にペーストします。
8.システムを日本語設定にする
/etc/sysconfig/i18n を編集し、
LANG="ja_JP.UTF-8″
とします。設定後、再起動。
9.Firewallの設定
普通にFirewallを設定しようとすると、
PolKit.NotAuthorizedException.org.fedoraproject.config.firewall.auth
というエラーが出て設定できません。Googleさんに聞いてみると、
$ su -c system-config-firewall
でとりあえずは設定できるようです。
カスタムメニューで、FreeNXで接続するための zzzzz番のTCPポートを開けて、他はすべてチェックを外します。これで「適用」とすると、
$ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:zzzzz REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination
となりました。これでいいのかどうか確認中です。
10.Systemのアップデート
GUIの管理画面からはアップデートがうまくいかないようです。
しかたがないので、
$ su # yum -y update
でアップデートをかけます。
毎回手動でアップデートするのは面倒なので、自動でアップデートさせます。
# yum -y install yum-cron # /etc/rc.d/init.d/yum-cron start 夜間yum更新の有効化中: [ <span style="color: #00ff00;">OK</span> ] # chkconfig yum-cron on