VirtualBoxによる仮想マシンのインストール

2012/05/07

『改訂新版 基礎Ruby on Rails』 読者サポートページ > Rails本番環境構築ガイド

この「Rails本番環境構築ガイド」は、その名の通り、会社、自宅、データセンターなどに設置されている本番(実運用)のためのLinuxマシンにRailsアプリケーションを構築する手順を解説するものですが、実際にやってみる前に自分のパソコンに「仮想マシン」を用意して予行演習を行うというのはいい考えです。

そこで、VirtualBoxを利用してLinuxを「仮想マシン」として動かす手順を簡単に説明します。

本稿が対象とするVirtualBoxのバージョンは4.1です。

この文章の内容は、随時更新しています。最終更新日: 2012/06/20

用語の説明

VirtualBoxではホストOSゲストOSという用語が使われます。あなたのパソコンの本来のOSがWindows 7で、CentOS 6.2を「仮想マシン」として動かすのであれば、Windows 7がホストOSでCentOS 6.2がゲストOSということになります。

VirtualBoxが対応しているホストOSは、Windows、Mac OS X、Linux、Solarisの4種類です。ゲストOSにはたいていのOSをインストールできるようですが、本ガイドが対象とするのは以下の3種類のみです:

  • CentOS 6.2 (「Basic Server」タイプでインストールされたもの)
  • Ubuntu Server 12.04 LTS
  • Ubuntu Server 10.04 LTS

VirtualBox の入手とインストール

  • VirtualBox のインストーラは https://www.virtualbox.org/wiki/Downloads から無償で入手できます。
  • インストール手順は単純です。基本的に「Next」ボタンをクリックして進んで行くだけです。

Linux isoイメージの入手

CentOS 6.2

Ubuntu Server 12.04 LTS

Ubuntu Server 10.04 LTS

仮想マシンの作成

  • VirutalBoxを起動し、左上の「新規」ボタンをクリック。新規仮想マシン作成ウィザードが起動し、以下の手順で進みます。特記ない限りデフォルトのまま「次へ」ボタンを押して進んでください。
    • 仮想マシン名とOSタイプ -- 「名前」にはあなたが覚えやすい名前を記入し、「オペレーティングシステム」は「Linux」、バージョンは「Red Hat」(CentOS 6.2の場合)か「Ubuntu」を選びます。
    • メモリ -- Rails本番環境構築の予行演習が目的であれば、800MB〜1000MB程度で十分です。※ デフォルトの512MBでは厳しいです。
    • 仮想ハードディスク
    • ようこそ新規仮想ディスク作成ウィザードへ!
    • ハードディスク ストレージタイプ
    • 仮想ディスクの場所とサイズ
    • 新規仮想ディスク(概要) -- 「完了」ボタンをクリック。
    • 新規仮想マシン(概要) -- 「完了」ボタンをクリック。
  • 仮想マシンを選択して「起動」ボタンをクリック。以下の手順で進みます。特記ない限りデフォルトのまま「次へ」ボタンを押して進んでください。
    • 「キーボードの自動キャプチャ機能が有効です…」というメッセージが表示されるので、「OK」ボタンをクリックします。
    • 初回起動ウィザード
    • インストールメディアを選択 -- 「CD/DVD-ROMデバイス」を選択し、メディアソース選択プルダウンの右にあるフォルダアイコンをクリックして、ダウンロードしたisoイメージを選び、「次へ」をクリックします。
    • 初回起動ウィザード(概要) -- 「完了」ボタンをクリックします。
  • ここから先は、各OSのインストール画面となります。

ゲストOSのインストール

OSごとのインストール手順は省略します。

CentOS 6.2 についての注意

  • 英語ですが http://www.if-not-true-then-false.com/2011/centos-6-netinstall-network-installation/ の説明が分かりやすいです。
  • インストールの途中「URL Setup」では以下のURLを指定してください。
    • http://mirror.centos.org/centos/6.2/os/i386/ -- 32ビット版
    • http://mirror.centos.org/centos/6.2/os/x86_64/ -- 64ビット版
  • インストールタイプを選択する画面では、デフォルトの「Minimal」ではなく「Basic Server」を選択してください。
  • インストールが完了後のリブートで再びインストーラが始まる場合は、以下の作業を行ってください。
    • ゲストOSを停止
    • VirtualBoxで「CentOS 6.2」を選択し、「設定」ボタンをクリック。
    • 「システム」カテゴリの「マザーボード」タブで「起動順序」から「CD/DVD-ROM」を外す。
    • 「OK」ボタンをクリック。
    • ゲストOSを起動。

ネットワークの設定(1)

ホストOSからゲストOSにアクセスできるようにVirtualBoxのネットワーク設定を変更します。

  • ゲストOSを停止。
  • VirtualBoxで[ファイル]ー[環境設定]メニューを選択。
    • [ネットワーク]カテゴリを選択。
    • 「ホストオンリーネットワーク」のリストに項目が存在しなければ、右端の「+」ボタンをクリック。
    • 「ホストオンリーネットワーク」のリストの最初の項目を選択して、右端の「ねじ回し」ボタン(三つ目のボタン)をクリック。
    • 「IPv4 アドレス」の値を記録して、「OK」ボタンをクリック。
    • 「OK」ボタンをクリックして設定ウィンドウを閉じる。
  • ゲストOSを選択して「設定」ボタンをクリック。
    • 「ネットワーク」カテゴリを選択。
    • 「アダプタ2」タブを選択。
    • 「ネットワークアダプタを有効化」にチェック。
    • 「割り当て」を「ホストオンリー アダプタ」に変更。
    • 「OK」ボタンをクリックして設定ウィンドウを閉じる。
  • ゲストOSを選択して「起動」ボタンをクリック。

途中で記録した「IPv4 アドレス」の値を「192.168.56.1」として以下の話を進めます。

ネットワークの設定(2)

ホストOSからのアクセスを受けられるようにゲストOS側のネットワーク設定を変更します。

CentOS 6.2 の場合

  • rootユーザーでログインします。
  • ifconfig -a コマンドを実行し、eth0lo 以外のインターフェース名(eth1とかeth2)を調べます。
  • 新規ファイル /etc/sysconfig/network-scripts/ifcfg-eth1 を次の内容で作成します。
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes 
IPADDR=192.168.56.2
NETMASK=255.255.255.0
NETWORK=192.168.56.0

ファイル名およびファイルの中身に含まれる eth1 の部分は先ほど調べたインターフェース名で置き換えてください。IPADDR= および NETWORK= の右に設定するIPアドレスは、「ネットワークの設定(1)」の途中で記録した「IPv4 アドレス」の最後の数字を「2」および「0」に変更したものです。

  • ifup eth1 コマンドを実行します。

eth1 の部分は先ほど調べたインターフェース名で置き換えてください。

  • 動作確認。ifconfig eth1 コマンドの結果(2行目)に inet addr:192.168.56.2 という記述があればOK。

Ubuntu Server 12.04/10.04 の場合

  • sudo権限を持つユーザー(インストール時に最初に作ったユーザー)でログインします。
  • ifconfig -a コマンドを実行し、eth0lo 以外のインターフェース名(eth1とかeth2)を調べます。
  • sudo nano /etc/network/interfaces コマンドを実行し、開いたファイルの末尾に次の内容を追加します。※ nano の部分は任意のエディタの名前(viなど)で置き換えてください。
auto eth1
iface eth1 inet static
address 192.168.56.2
netmask 255.255.255.0

eth1 の部分は先ほど調べたインターフェース名で置き換えてください。address の右に設定するIPアドレスは、「ネットワークの設定(1)」の途中で記録した「IPv4 アドレス」の最後の数字を「2」に変更したものです。

  • 以下のコマンドを順に実行します。
% sudo /etc/init.d/networking stop
% sudo start networking
  • 動作確認。ifconfig eth1 コマンドの結果(2行目)に inet addr:192.168.56.2 という記述があればOK。

hosts ファイルの書き換え

本ガイドでは、asagao.oiax.jp というドメイン名でRailsアプリケーションを運用することを想定します。そこで、ホストOS側の hosts ファイルに次の行を追加します。

192.168.56.2  asagao.oiax.jp

asagao.oiax.jp の左に設定するIPアドレスは、「ネットワークの設定(2)」で IPADDR= あるいは address の右に設定したものです。

hosts ファイルは、次のフォルダ(ディレクトリ)にあります。

  • C:\Windows\System32\drivers\etc -- Windowsの場合
  • /private/etc -- Mac OS Xの場合
  • /etc -- Linux/Solarisの場合

Windows Vista/7 ではエディタを「管理者として実行」する必要があります。Mac OS X, Linux, Solarisではrootユーザーでファイルを編集するか、sudo付きでエディタを起動する必要があります。

こうすることで、http://asagao.oiax.jp/ というURLでゲストOSのWebサーバにアクセスできるようになります。また、SSH接続の際にもasagao.oiax.jp というドメイン名が利用できます。

更新履歴

[更新] 「ポートフォワーディングの設定」の節を削除し、「ネットワークの設定(1)」と「ネットワークの設定(2)」の節を追加しました。また「/etc/hosts の書き換え」の節は「hosts ファイルの書き換え」とし、WindowsとMac OS Xに対応するように内容を改めました。(2012/05/08)

[更新] CentOS 6.2 に対応。(2012/05/09)

[更新] ホストオンリーネットワークの設定の手順を修正。使用するエディタをviからnanoに変更。(2012/06/08)

[更新] 「ネットワークの設定(2)」の「CentOS 6.2の場合」でifcfg-eth1の1行目の記述をDEVICE=eth0からDEVICE=eth1に変更。(2012/06/20)

目次