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
- 以下のリンクからネットワークインストール用のISOイメージをダウンロードしてください。
Ubuntu Server 12.04 LTS
- http://www.ubuntu.com/download/serverからisoイメージをダウンロードしてください。
Ubuntu Server 10.04 LTS
- 以下のリンクからisoイメージをダウンロードしてください
仮想マシンの作成
- 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
コマンドを実行し、eth0
とlo
以外のインターフェース名(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
コマンドを実行し、eth0
とlo
以外のインターフェース名(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)
目次
- Vitualboxによる仮想マシンのインストール
- MinGWのインストール (Windowsユーザー向け)
- サーバーの準備(CentOS 6.2編)
- サーバーの準備(Ubuntu Server 12.04 LTS編)
- サーバーの準備(Ubuntu Server 10.04 LTS編)
- SSH公開鍵の設置
- Ruby 1.9.3のインストール
- Railsアプリケーションのセットアップ
- ApacheとPhusion Passengerのセットアップ
- データベースとの接続(MySQL編)
- データベースとの接続(PostgreSQL編)
- Capistranoによるデプロイ
- Gitレポジトリの作成
- 続・Capistranoによるデプロイ