サーバー要件の調査
何事にも計画を立てるということは大切なのですが、サーバーを構築するのでも計画を立てて、要件を詰めておく必要があります。10.04 の時の記事の再掲になりますが、
- ホスト名
- DNSドメイン名
- DNS FQDN名
- IPアドレス
- ネットマスク
- ルーティング情報(デフォルトゲートウェイも含む)
- DNSサーバ指定(複数指定されていればその全て)
- DNSサーチドメイン名
- NTPサーバ
カスタムOSインストールが便利
この記事を書く段階では「カスタムOSインストール」には Ubuntu 12.04 LTS がまだ用意されていなかったのですが、さすが LTS というだけあって、6/7 には利用できるようになりました。
試しに「カスタムOSインストール」でインストールしてみましたが、パッケージの選択が「さくらのVPS」の標準OSの CentOS に準拠して、最初から OpenSSH が立ち上がっている状態となりました。深いことは考えずにこれを利用してみるのもいいかもしれません。
ただし、普通のPCと違っていきなりインターネットに接続している(VPSですからあたりまえですよね)ので、即刻 ufw や OpenSSH の設定を見なおしておくと良いと思います。
この辺のノウハウは Ubuntu Magazine Vol.07 で徹底紹介していますので、参考にしてみると良いでしょう。
Ubuntu Magazine はもうすぐ最新号の Vol.08 が出る予定ですから、もうしばらくするとバックナンバーのPDFファイルが編集部で公開される予定なのでそちらをチェックしてみても良いかと思います(言うまでもないことですが、グラビアなどの公開されない記事もあるので実物を購入するのも選択としてアリです)。
ガチで最小構成でインストールする場合には
現在は「さくらのVPS」の「カスタムOSインストール」で 12.04 LTS がインストールできるようになりましたが、『ガチで最小構成でインストール』するためには、ネットワークインストーラーを入手し、Grub から起動する形でインストールを進めます(ただしネットワーク資源的にはミラーサーバーから必要なものを適宜ダウンロードするので「カスタムOSインストール」のほうが無難かもしれません)。
Ubuntu 12.04 LTS amd64 のネットワークインストーラーの入手
# mkdir /boot/ubuntu # cd /boot/ubuntu # wget http://jp.archive.ubuntu.com/ubuntu/dists/precise/main/ installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux ... # wget http://jp.archive.ubuntu.com/ubuntu/dists/precise/main/ installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz (URLが長いので折り返しましたが、この部分は1行で続けて書いてください)
としてダウンロードします。 標準でインストールされる CentOS 6.2 構成でカーネルや initrd などを起動時に読み出す /boot パーティションを間借りするのがコツです。
設置したネットワークインストーラーの起動
この辺は以前の記事と同様の操作で、リブートして、Grub のコマンドラインから設置したインストーラーを起動することになります。
# reboot
として再起動し、Press any key to continue と出てくるので何かキーを押し、その後 Booting CentOS と出たところでも再度何かキーを押して、Grub のメニュー画面を表示させます。さらに Grub のメニュー画面では 'c' を押してコマンドラインモードに移ります。
Grub のコマンドラインでは
grub> root (hd0,0) grub> kernel /ubuntu/linux grub> initrd /ubuntu/initrd.gz grub> boot
としてネットワークインストーラーを手動起動します。
以前の記事のくり返しになりますが、キーボードは us モードになっているので、一般的な日本語キーボードでは開き丸カッコは Shift + 9 、閉じ丸カッコは入力できないので root (hd0,0 とここまで入力したところで TAB キーを押して閉じ丸カッコを補完させます。また、kernel の部分についてはVNC コンソールを使う前提であれば、特にオプションを指定する必要はありません。kernel や initrd のところでもファイル名については TAB キーによる補完が効くので、適当なところまで入力した後に TAB キーを押してとっとと補完させておくのがスマートです。
うまくいくとインストーラーが起動します。
Ubuntu のインストール
あとは画面に従ってインストールを進めていくことになります。この辺はもういつもと同じ感じということで、Ubuntu Magazine Vol.07 を参考にしましょう。
コンソール環境の整備
ネットワークインストーラーからインストールした際にもコンソール環境の設定をしておくと、VNCだけではなく「リモートコンソール」からメンテナンスができて便利かもしれません。/etc/init/ttyS0.conf や、/etc/default/grub を必要に応じて編集し反映させておくといいでしょう。なお、以前記事で書いたような、/usr/sbin/grub-mkconfig や /etc/grub.d/00_header への修正は必要なくなったので、ご安心を。
/etc/init/ttyS0.conf
# ttyS0 - getty # # This service maintains a getty on tty1 from the point the system is # started until it is shut down again. start on stopped rc RUNLEVEL=[2345] and ( not-container or container CONTAINER=lxc or container CONTAINER=lxc-libvirt) stop on runlevel [!2345] respawn exec /sbin/getty -8 115200 ttyS0
/etc/default/grub
# If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 # GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=false GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet" GRUB_CMDLINE_LINUX="nosplash console=tty1 console=ttyS0,115200n8r" GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1" # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console GRUB_TERMINAL="serial console" # The resolution used on graphical terminal (以下省略)
なお ntp や OpenSSH、 ファイヤーウォールなどの設定についてはUbuntu Magazine Vol.07や以前の記事を参考にすると良いでしょう。