2010-04-29 12:00 | tag: serversman, cloud
webサーバとして利用するために、DTIが提供するVPSサービス ServersMan@VPS を契約しました。メモリ256MB、ディスク10GBのVPSが月額490円という低価格で利用できるサービスです。
低価格のレンタルサーバとしては、さくらインターネットが月額500円で提供する さくらのレンタルサーバ スタンダード が有名です。容量10GBで複数のバーチャルホストの運用を行うことができ、sshも解放されているなど高機能なレンタルサーバです。
今回ServersMan@VPSを利用することにしたのは、root権限を渡してもらえるサーバが欲しかったためです。現在考えている用途は静的なHTMLで構成されたwebサイトの公開ですのでさくらインターネットのサービスでも問題なく目的をはたせるのですが、サーバへのソフトウェアのインストールや設定変更が自分の責任で自由に行うことができるServersMan@VPSを使うことにしました。
以下、ServersMan@VPSを使い始めるために最初に行った設定の記録です。
runlevel 3で起動するサービスの一覧です。DTI独自のserversman、最近あまり使った記憶がないxinetdが起動しているのが気になります。
# /sbin/chkconfig --list | grep "3:on" crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off httpd 0:off 1:off 2:off 3:on 4:off 5:off 6:off iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off saslauthd 0:off 1:off 2:off 3:on 4:off 5:off 6:off serversman 0:off 1:off 2:off 3:on 4:on 5:on 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off xinetd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
80/tcp(http)、22/tcp(ssh)が開いています。
# netstat -nl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 :::80 :::* LISTEN tcp 0 0 :::22 :::* LISTEN Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 15739603 /var/run/saslauthd/mux
# ps ax PID TTY STAT TIME COMMAND 1 ? Ss 0:01 init [3] 15540 ? S<s 0:00 /sbin/udevd -d 18055 ? Ss 0:00 syslogd -m 0 19998 ? Ss 0:00 /usr/sbin/sshd 20007 ? Ss 0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid 20027 ? Ss 0:00 /usr/sbin/httpd 20030 ? S 0:00 /usr/sbin/httpd 20040 ? Ss 0:00 crond 20053 ? Ss 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2 20175 ? Rs 0:00 sshd: root@pts/0 20437 ? S 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2 23600 pts/0 Ss 0:00 -bash 29736 pts/0 R+ 0:00 ps ax 30132 ? S 0:00 /usr/sbin/httpd
# free -m total used free shared buffers cached Mem: 256 17 238 0 0 0 -/+ buffers/cache: 17 238 Swap: 0 0 0
# df -h Filesystem Size Used Avail Use% Mounted on /dev/simfs 9.8G 502M 9.3G 6% / none 128M 4.0K 128M 1% /dev
パスワード認証によるsshのログインを禁止してセキュリティを強化するために、まずは公開鍵認証でログインできるよう設定します。
# mkdir ~/.ssh
# cat 作成済み公開鍵ファイル名 >> ~/.ssh/authorized_keys
※クライアントから ssh -i 秘密鍵ファイル名 user@host
でパスワード入力なしでログインできることを確認。
公開鍵認証でログインできる状態になったらパスワード認証によるログインを禁止します。
/etc/ssh/sshd_config:
PasswordAuthentication no
設定後、sshdを再起動してください。
# /etc/init.d/sshd restart
デフォルトでは dti-vps-srv07 などのようなホスト名が設定されています。適切なホスト名に変更します。
/etc/sysconfig/network:
次のような行を追加する。
HOSTNAME=host.example.jp
ロケールを en_US.UTF-8 から ja_JP.utf-8 に変更します。英語ロケールのままだと日本語を扱うソフトウェアで問題が発生することがあります。例えば、svnコマンドで日本語のファイル名を扱うことができません。
/etc/sysconfig/i18n:
LANG="ja_JP.utf-8"
自動起動するサービスのうち、当面使う予定のないサービスを停止しておきます。また自動起動もしなよう設定します。
# /etc/init.d/saslauthd stop # /etc/init.d/inetd stop # /sbin/chkconfig saslauthd off # /sbin/chkconfig xinetd off
ServersMan@VPSにはオンラインストレージ機能を実現するためのServersManというソフトウェアが導入されていますが、webサーバとして運用するには不要ですので削除します。
# yum erase smadmin serversman # /etc/init.d/httpd restart
cronの実行結果等がメールで届くよう、MTAをインストールします。
メールを受けるのではなく送るだけであれば、Potfixの設定はデフォルトのままで問題ありません。
# yum install postfix
# /sbin/chkconfig postfix on
# /etc/init.d/postfix start
Postfix導入後、/etc/aliasesの"root:"で始まる行を更新し、root宛のメールを受け取るアドレスを設定します。
/etc/aliases:
root: kanrisha@example.jp
/etc/aliasesを更新したら、忘れずにnewaliasesを実行して/etc/aliases.dbも更新する。
# newaliases
導入済みのパッケージを最新のものにアップデートします。
# yum update