以下のサイトを参考にさせていただいた。
Veewee による Vagrant の Box 作成環境構築 Windows 版 その1
Veewee による Vagrant の Box 作成環境構築 Windows 版 その2
Vagrantの基本的な操作については、Windows7 64Bit上でVagrant+CentOS6.4インストールで記載済みのため、割愛する。
- VirtualBoxのインストール
Download VirtualBoxから、最新版(2013/9/10現在は「VirtualBox 4.2.18 for Windows hosts x86/amd64」)をインストールする。
- Vagrantのインストール
Vagrant download siteから、最新版(2013/9/10現在は「v1.3.1/Vagrant_1.3.1.msi」)をインストールする。
インストール後、再起動を求められるため、CPUがAMDの場合、BIOS設定を確認する。
- BIOS設定の確認
「BIOSセットアップユーティリティ」-「パワー」-「Virtualizationテクノロジー」が「有効」(Enabled)になっていることを確認する。
※「無効」(Disabled)の場合は、VirtualBoxから新しい仮想マシンを起動した際に、「AMD-V is disabled in the BIOS」というメッセージが出て起動しない。
- 再起動後、コマンドプロンプトを立ち上げる。
Windowsのデスクトップから「Windows」+「R」キー押下する。
「ファイル名を指定して実行」画面で「cmd」と入力し、「OK」ボタンを押下する。
以下、コマンドプロンプト上での作業。
- 「vagrant -v」でvagrantのバージョンを確認する。
- msysgitのインストール
msysgitから、最新版(2013/9/10現在は「Git-1.8.3-preview20130601.exe」)をインストールする。
「Adjusting your PATH environment」では、「Run Git and included Unix tools from the Windows Command Prompt」を選択して、コマンドプロンプト上で、unixコマンドを使えるようにした。
「find.exe」や「sort.exe」のように、windowsのコマンドと重複するものは、PATHの優先順序で置き換えられるので注意が必要。
- rubyのインストール
RubyInstaller for Windowsから、最新版(2013/9/10現在は「Ruby 2.0.0-p247 (x64)」)をインストールする。
「インストール先とオプションの指定」では、「Rubyの実行ファイルへ環境変数PATHを設定する」を選択した。
- bundlerのインストール
Gemのパッケージ管理ツール(bundler)をインストールする。
- DEVELOPMENT KITの解凍
RubyInstaller for Windowsから、最新版(2013/9/10現在は「DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe」)を任意のフォルダ(例:「c:\DevKit-mingw64-64-4.7.2」)に解凍する。
- DEVELOPMENT KITのインストール
コマンドプロンプトから以下のコマンドを実行する。
- veeweeのインストール
コマンドプロンプトから以下のコマンドを実行する。
- veeweeの雛形テンプレートの一覧を確認・作成
コマンドプロンプトから以下のコマンドを実行する。
- veeweeの雛形テンプレートの編集
テキストエディタで「C:\work\veewee\definitions\centos64」配下に作成されたテンプレートを編集する。
[ks.cfg]
ひとまず以下の変更を実施した。
・LANGを変更(「en_US.UTF-8」→「ja_JP.UTF-8」)
・キーボードを変更(「us」→「jp106」)
・タイムゾーンを変更(「UTC」→「Asia/Tokyo」)
[definition.rb]
ひとまず以下の変更を実施した。
・仮想メモリのサイズを変更(480MB→1024MB)
・ISO取得先を日本のミラーサイトに変更
・インストールの事後処理で「puppet.sh」を実行しないようにコメントアウト(chef以外に使う予定が無いため)
- veeweeの雛形テンプレートのOSインストール
kickstartによるOSインストールを実行する。
- 仮想マシンへのSSH接続
インストールされた仮想マシンにSSH接続する。
デフォルトで作成されているユーザ/パスワードは以下のとおり。
user/pass
veewee/veewee
vagrant/vagrant
root/vagrant
- 仮想マシンのシャットダウン
SSH接続経由で仮想マシンをシャットダウンする。
- 仮想マシンのエクスポート
仮想マシンをエクスポートする。
- エクスポートしたboxを使用する。
エクスポートしたboxをvagrant経由で使用する。
- VirtualBoxのインストール
Download VirtualBox>から、最新版(2013/9/3現在は「VirtualBox 4.2.16 for Windows hosts x86/amd64」)をインストールする。
- Vagrantのインストール
Vagrant download siteから、最新版(2013/9/3現在は「v1.2.7/Vagrant_1.2.7.msi」)をインストールする。
インストール後、再起動を求められるため、CPUがAMDの場合、BIOS設定を確認する。
- BIOS設定の確認
「BIOSセットアップユーティリティ」-「パワー」-「Virtualizationテクノロジー」が「有効」(Enabled)になっていることを確認する。
※「無効」(Disabled)の場合は、VirtualBoxから新しい仮想マシンを起動した際に、「AMD-V is disabled in the BIOS」というメッセージが出て起動しない。
- 再起動後、コマンドプロンプトを立ち上げる。
Windowsのデスクトップから「Windows」+「R」キー押下する。
「ファイル名を指定して実行」画面で「cmd」と入力し、「OK」ボタンを押下する。
以下、コマンドプロンプト上での作業。
- 「vagrant -v」でvagrantのバージョンを確認する。
- 「vagrant -h」でヘルプを確認する。
個別のコマンド「例:box」を調べたい場合は、「vagrant box -h」と実行する。
- 「vagrant box add」でboxを追加する。
Vagrantbox.esのboxを指定してもいいが、
ryuzee.comで公開されていたboxの使い勝手の方が良さそうだったので、こちらを使ってみた。
- 「vagrant box list」でboxの一覧を表示する。
boxの実体は、「C:\Users\%USERNAME%\.vagrant.d\boxes\」配下にある。
- 「vagrant init」で「Vagrantfile」を初期作成する。
カレントディレクトリに作成されるため、複数バージョンのboxを切り替えて使用する場合は、任意のディレクトリ(例:CentOS6)を作成しておくといい。
- 「Vagrantfile」をテキストエディタで編集する。
- 「vagrant up」でVMを起動する。
- 「vagrant status」でVMのステータスを確認する。
「vagrant status」の状態は、「running」になる。
- Teraterm等のターミナルソフトでSSH接続する。
- 「vagrant suspend」でVMを一時停止する。
「vagrant status」の状態は、「saved」になる。
「vagrant up」または「vagrant resume」で再開する。
「vagrant up」の場合
「vagrant resume」の場合
- 「vagrant reload」で「Vagrantfile」を再読み込みする。
「Vagrantfile」を編集し、再度読み込む場合には、「vagrant reload」で再起動する。
- 「vagrant halt」でVMを停止する。
「vagrant status」の状態は、「poweroff」になる。
- 「vagrant destroy」でVMを除去する。
- 「vagrant box remove」で不要なboxを削除する。
- 「del Vagrantfile」で不要な「Vagrantfile」を削除する。
削除していない場合は、「vagrant init」を再度実行しても警告メッセージが出る。
- 「Provisioning」の使用方法
VM起動後の後処理を「Vagrantfile」に、「config.vm.provision :shell」として記述する。
「Vagrantfile」に、以下の4行を追記した。
「provision.sh」は、「Vagrantfile」と同じディレクトリに、以下の内容で設置する。
「vagrant up」でVMを起動する。
「Running provisioner: shell...」の出力後、
「Running: inline script」で、「config.vm.provision :shell, :inline」の実行結果がでる。
「Running: C:/Users/%USERNAME%/AppData/Local/Temp/vagrant-shell20130903-6200-dm6b64」で、「config.vm.provision :shell, :path」の実行結果がでる。
VM上では、「/tmp/vagrant-shell」に設置されている。
- 「vagrant package」の使用方法
VMからboxファイルをエクスポートする。
「vagrant package -h」でヘルプを表示する。
「vagrant package」でboxをエクスポートする。
起動中のVMは一度シャットダウンされるため、注意する。
デフォルトでは、「package.box」のファイル名で保存される。
出力ファイル名を指定する場合は、「--output」オプションで指定する。
「vagrant box add」でエクスポートしたboxを追加する。
- 「sahara」の使用方法
「sahara」(スナップショットプラグイン)の使用方法は以下のとおり。
- 「vagrant plugin install」で「sahara」をインストールする。
- 「vagrant sandbox -h」でヘルプを表示する。
- 「vagrant plugin list」でインストールされているプラグインの一覧を表示する。
「vagrant plugin uninstall」で「sahara」をアンインストールできる。
- 「vagrant sandbox on」で「sandbox」を開始する。
「vagrant sandbox status」の状態は、「on」になる。
- 「vagrant sandbox rollback」で、コミットしていない変更内容を破棄する。
- 「vagrant sandbox commit」で、変更内容をコミットする。
- 「vagrant sandbox off」で「sandbox」を終了する。コミットしていない変更内容は破棄される。
「vagrant sandbox status」の状態は、「off」になる。