VirtualBoxやVagrantを用いたRails開発環境の構築方法(後編)
実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング
顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践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の具体的な設定方法は以下のとおりです。
- コントロールパネル」から「システム」を選択します。
- 「システムの詳細設定」リンクをクリックします。
- 「環境変数」ボタンをクリックし、「環境変数」ダイアログを開きます。
- 「ユーザー環境変数」セクションに「PATH」(大文字小文字を区別しません)という項目がある場合
a. その項目を選択して「編集」ボタンをクリックします。
b. 「変数値」の末尾にセミコロン(;)を加え、さらに上記2つの文字列をセミコロンで区切って書き加えて「OK」ボタンをクリックします。 - 「ユーザー環境変数」セクションに「PATH」という項目がない場合
a. 「新規」ボタンをクリックします。
b. 「変数名」に「PATH」と入力します。
c. 「変数値」に上記2つの文字列をセミコロンで区切って書き加えて「OK」ボタンをクリックします。 - 「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)を保存します。
ダウンロードしたファイルをダブルクリックするとウィザード形式のインストーラが起動します。以下の手順でインストールしてください。
- 最初の画面では「Install」ボタンをクリックしてください。
- 次の画面では「Continue」ボタンをクリックしてください。
- その次の画面では「Continue」ボタンをクリックしてください。
- 「MinGW Installation Manager」が起動します。
- Packageリストから以下のアイテムのチェックボックスをクリックし「Mark for Installation」を選択してください。 mingw-developer-toolkit
mingw32-base
msys-mintty(Class欄が「bin」のもの) - メニューから「Installation」→「Apply Changes」を選択します。
- 「Apply」ボタンをクリックしてください。
- 「Download Package」ダイアログが表示されるので、しばらく待ちます。
- インストールが完了したら「Close」ボタンをクリックします。
- 「MinGW Installation Manager」を閉じます。
- 環境変数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のような警告ダイアログが表示されますので「アクセスを許可する」ボタンをクリックしてください。
仮想マシンの構築が終わったら、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アプリケーション開発の基礎知識とさまざまなノウハウを習得していきます。各章末には演習問題が設けられているので、理解度を確かめながら確実に読み進められます。 |