VirtualBoxやVagrantを用いたRails開発環境の構築方法(後編)
準備作業(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のような警告ダイアログが表示されますので「アクセスを許可する」ボタンをクリックしてください。
仮想マシンの構築が終わったら、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に主なコマンドをリストアップします。
サブコマンド | 説明 |
---|---|
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プログラミング本書は、Ruby on Railsの実践的な学習書です。最新のRuby2.0およびRuby on Rails4.1、RSpec3.0に対応しました。1つの企業向け顧客管理システムを作る中でRailsによるWebアプリケーション開発の基礎知識とさまざまなノウハウを習得していきます。各章末には演習問題が設けられているので、理解度を確かめながら確実に読み進められます。 |