VirtualBoxやVagrantを用いたRails開発環境の構築方法(後編)

2014年6月26日(木)
黒田 努

準備作業(OS X編)

OS XにVirtualBoxとVagrantをインストールします。手順はとても単純です。

VirtualBoxのインストール

Webブラウザでhttps://www.virtualbox.org/wiki/Downloadsを開いてください。「VirtualBox x.y.z for OS X hosts」の右の「x86/amd64」リンクをクリックして、インストーラを保存します。

「VirtualBox x.y.z」の「x.y.z」はバージョン番号です。本書執筆時におけるVirtualBoxの最新版は4.3.10です。

インストーラを起動し、画面に従って「Next」「Yes」または「Install」ボタンをクリックして進んでください。

Vagrantのインストール

Webブラウザでhttp://www.vagrantup.com/を開いてください。「DOWNLOAD」リンクをクリックしてダウンロードページを開き、「MAC OS X」という文字の下にある「Universal(32 and 64-bit)」リンクをクリックして、インストーラを保存します。

インストーラのファイル名はVagrant-1.x.y.dmgのような形式をしています。1.x.yはバージョン番号です。本書執筆時におけるVagrantの最新版は1.5.3です。

インストーラを起動し、画面に従って「Next」「Install」または「Finish」ボタンをクリックして進みます。最後の画面で「Yes」ボタンをクリックするとインストール完了です。

Vagrantによる仮想マシンの構築と管理

この節では、仮想マシンを構築する方法と構築された仮想マシンの各種管理タスクを実行する方法を学習します。

Vagrantfileとプロビジョニングスクリプトの取得

Vagrantfileは仮想マシンの構築手順を記述したRubyスクリプトです。プロビジョニングスクリプトは、仮想マシンを起動した直後に行うべき処理(特定のソフトウェアやライブラリをインストール・アップデートしたり、設定を変更したりする処理)をシェルスクリプトなどで記述したものです。

Vagrantfileとプロビジョニングスクリプトは、本書の読者サポートページ(http://www.oiax.jp/jissen_rails)から取得できます。CentOS版とUbuntu Server版の2種類のZIPファイルが置いてありますので、いずれかをダウンロードしてください。

そして、そのZIPファイルをprojectsディレクトリに展開し、生成されたディレクトリの名前をbaukisに変更してください。

CentOSとUbuntu Serverを両方ともゲストOSとしてインストールして試したい方は、baukis-cとbaukis-uという2つのサブディレクトリを作成してください。

仮想マシンの構築

いよいよ仮想マシン上にCentOSまたはUbuntu Serverをインストールし、Railsの開発環境を構築します。Vagrantfileがあれば構築作業は一気に進みます。ターミナルを開き、以下のコマンドを順に実行してください。

WindowsとMac OS Xで用語を合わせるため、今後WindowsのMinGW Shellを「ターミナル」と呼ぶことにします。

> cd ~/projects/baukis
> vagrant up

するとターミナル上に次のようなテキストが表示されていきます。

Bringing machine 'default' up with 'virtualbox' provider...
[default] Box 'centos6.5.3' was not found. Fetching box from specified URL for
the provider 'virtualbox'. Note that if the URL does not have
a box for this provider, you should interrupt Vagrant now and add
the box yourself. Otherwise Vagrant will attempt to download the
full box prior to discovering this error.
Downloading or copying the box...
(省略)

Ubuntu Serverの場合は「centos6.5.3」の部分が「trusty64」に変わります。

お使いのネット環境やPCのスペックにより30分~1時間程度かかります。

Windowsの場合は、途中で図2-2のような警告ダイアログが表示されますので「アクセスを許可する」ボタンをクリックしてください。

Windowsのセキュリティ警告
図2 Windowsのセキュリティ警告

仮想マシンの構築が終わったら、SSHでゲストOSにログインできるかどうか確認します。

> vagrant ssh

ログインに成功すると、コマンド入力を促す記号は次のように変化します。

  • [vagrant@vagrant-centos65 ~]$(CentOSの場合)
  • vagrant@trusty64:~$(Ubuntu Serverの場合)

/vagrantディレクトリに何か書き込んでみましょう。

$ echo "HELLO" > /vagrant/test.txt

ゲストOSからログアウトします。

$ exit

先ほど書き込んだファイルが存在することを確認し、削除しておきます。

> cat test.txt
HELLO
> rm test.txt

Vagrantコマンドの一覧

Vagrantで構築された仮想マシンの管理はvagrantコマンドによって行います。このコマンドは引数としてup、initなどのサブコマンドを取り、さまざまな管理タスクを実行します。表2-1に主なコマンドをリストアップします。

表1 vagrantの主なコマンド

サブコマンド 説明
up 停止状態の仮想マシンを起動する。初回起動時はOSのインストールとプロビジョニングを行う。2回目以降の起動時にプロビジョニングを行うには--provisionオプションを指定する
init カレントディレクトリに初期状態のVagrantfileを作成する
ssh SSHでゲストOSにログインする
halt ゲストOSをシャットダウンして仮想マシンを停止状態にする
suspend ゲストOSをサスペンド状態にする。この状態でホストOSの電源を切ることが可能である
resume サスペンド状態のゲストOSを再稼働させる
reload 仮想マシンの再起動。haltしてupするのと同じ
provision プロビジョニングを実行する
destroy 仮想マシンを停止して、削除する
この記事のもとになった書籍
実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング

黒田 努 著
価格:3,500円+税
発売日:2014年05月23日発売
ISBN:978-4-8443-3592-4
発行:インプレスジャパン

実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング

本書は、Ruby on Railsの実践的な学習書です。最新のRuby2.0およびRuby on Rails4.1、RSpec3.0に対応しました。1つの企業向け顧客管理システムを作る中でRailsによるWebアプリケーション開発の基礎知識とさまざまなノウハウを習得していきます。各章末には演習問題が設けられているので、理解度を確かめながら確実に読み進められます。

Amazon詳細ページへImpress詳細ページへ

株式会社オイアクス

東京大学教養学部卒。同大学院総合文化研究科博士課程満期退学。ギリシャ近現代史専攻。専門調査員として、在ギリシャ日本国大使館に3年間勤務。中学生の頃に出会ったコンピュータの誘惑に負け、IT業界に転身。株式会社ザッパラス技術部長、株式会社イオレ取締役を経て、技術コンサルティングとIT教育を事業の主軸とする株式会社オイアクスを設立。現在、同社代表取締役社長。また、2011年末にRuby on Rails によるウェブサービス開発専業の株式会社ルビキタスを知人と共同で設立し同社代表に就任(オイアクス社長と兼任)。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています