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

2014年6月26日(木)
黒田 努
実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング
顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得!Amazon詳細ページへ
この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。

準備作業(Windows編)

まずMinGWとMSYSをインストールしてUnixユーティリティを利用できるようにしてから、VagrantでRails開発環境を構築していきます。

環境変数PATHの設定

この節でインストールするソフトウェアを正しく動作させるには、次の2つの文字列を環境変数PATHに追加する必要があります。

  • C:¥MinGW¥msys¥1.0
  • C:¥Program Files¥Oracle¥VirtualBox

環境変数PATHの具体的な設定方法は以下のとおりです。

  1. コントロールパネル」から「システム」を選択します。
  2. 「システムの詳細設定」リンクをクリックします。
  3. 「環境変数」ボタンをクリックし、「環境変数」ダイアログを開きます。
  4. 「ユーザー環境変数」セクションに「PATH」(大文字小文字を区別しません)という項目がある場合
    a. その項目を選択して「編集」ボタンをクリックします。
    b. 「変数値」の末尾にセミコロン(;)を加え、さらに上記2つの文字列をセミコロンで区切って書き加えて「OK」ボタンをクリックします。
  5. 「ユーザー環境変数」セクションに「PATH」という項目がない場合
    a. 「新規」ボタンをクリックします。
    b. 「変数名」に「PATH」と入力します。
    c. 「変数値」に上記2つの文字列をセミコロンで区切って書き加えて「OK」ボタンをクリックします。
  6. 「OK」ボタンをクリックして、「環境変数」ダイアログを閉じます。

MinGWとMSYSのインストール

MinGWとMSYSについて

MinGW(Minimalist GNU for Windows:「ミン・ジー・ダブリュー」と読む)は、UNIXソフトウェアをWindowsに移植するためのプラットフォームです。MinGWによって移植された基本的なソフトウェア群のセットをMSYS(Minimal SYStem)と呼びます。

インストール手順

Webブラウザでhttp://sourceforge.net/projects/mingw/を開いてください。「ダウンロード」セクションからWindows用のインストーラ(mingw-get-setup-exe)を保存します。

ダウンロードしたファイルをダブルクリックするとウィザード形式のインストーラが起動します。以下の手順でインストールしてください。

  1. 最初の画面では「Install」ボタンをクリックしてください。
  2. 次の画面では「Continue」ボタンをクリックしてください。
  3. その次の画面では「Continue」ボタンをクリックしてください。
  4. 「MinGW Installation Manager」が起動します。
  5. Packageリストから以下のアイテムのチェックボックスをクリックし「Mark for Installation」を選択してください。 mingw-developer-toolkit
    mingw32-base
    msys-mintty(Class欄が「bin」のもの)
  6. メニューから「Installation」→「Apply Changes」を選択します。
  7. 「Apply」ボタンをクリックしてください。
  8. 「Download Package」ダイアログが表示されるので、しばらく待ちます。
  9. インストールが完了したら「Close」ボタンをクリックします。
  10. 「MinGW Installation Manager」を閉じます。
  11. 環境変数PATHにC:¥MinGW¥msys¥1.0を追加します(コラム参照)。

MinGW Shellの使い方

デスクトップでキーボードからWindowsロゴキーとRキーを同時に押し、「ファイル名を指定して実行」ダイアログを開き、msys --minttyと入力して「OK」ボタンをクリックするとMinGW Shellが開きます。

外観的にはWindows標準の「コマンドプロンプト」に似ていますが、MinGW Shellではls、cat、grep、sshなどのLinuxコマンドが利用できます。

初めて起動した際にはMinGW Shellウィンドウを右クリックし、コンテキストメニューから「Options...」を選択してください。設定変更ウィンドウが開いたら「Text」セクションを選択します。「Locale」から「ja_JP」を選び、「Character set」から「UTF-8」を選んでください。

projectsディレクトリの作成

本書ではサンプルとしてBaukisという名前のRailsアプリケーションを作成します。このアプリケーションの開発をするための作業ディレクトリとしてMinGW Shellのホームディレクトリにprojectsディレクトリを作りましょう。

MinGW Shellを開いて、以下のコマンドを順に実行してください。

> cd
> mkdir projects
> cd projects

最初のcdは、ホームディレクトリに移動するコマンドです。次のmkdirは現在のディレクトリにディレクトリを作るコマンドです。そして最後のcd projectsはprojectsディレクトリに移動するコマンドです。

本書ではホームディレクトリ直下のprojectsディレクトリを、単に「projectsディレクトリ」と呼びます。読者の皆さんが実際に作業ディレクトリを作る場所は自由ですが、本書での決まり事として覚えてください。

さて、MinGW Shellにおけるprojectsディレクトリは、WindowsからはC:¥MinGW¥msys¥1.0¥home¥kuroda¥projectsというフォルダ(ディレクトリ)として参照できます。ただしkurodaの部分はあなた自身のログインネームで置き換えてください。

シンボリックリンクの作成

Windowsから見たprojectsディレクトリのフルパスはかなり長いので、エクスプローラやテキストエディタでこのディレクトリを探すのが少し面倒です。Windows 7以降のWindowsにはシンボリックリンクを作成する機能がありますので、それを利用してパスを短くしておくとよいでしょう。以下は、その手順です。

まず、デスクトップ左下のWindowsアイコン(Windows 7ではスタートボタン)を右クリックして「コマンドプロンプト(管理者)」を選択します。

そして、コマンドプロンプトに対して以下のコマンドを順に実行します。

> cd \
> mklink /D projects C:\MinGW\msys\1.0\home\kuroda\projects

試しにWindowsのエクスプローラを起動して「ローカルディスク(C:)」を開いてみましょう。すると、そこにprojectsというディレクトリがあるはずです。MinGWシェルで作業した結果はこのディレクトリ内にできてきます。今後は、そこにあるファイルを普段お使いのテキストエディタやIDEで編集することが可能です。

VirtualBoxのインストール

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

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

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

Vagrantのインストール

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

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

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

準備作業(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メルマガ会員のサービス内容を見る

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