Edited at

Windowsユーザのための Vagrant 入門 [環境構築]

More than 3 years have passed since last update.


Windowsユーザのための Vagrant 入門 [環境構築]


目的


  • Windows しかもっていないユーザにも Vagrant を使ってもらうため


    • Mac / Linux をお持ちの方はそちらを使ってください

    • より簡単に導入し利用可能です




なぜ Vagrant を使うのか?


  • OS インストール メディア からインストールする手間を省けます(圧倒的時短)


    • もちろん、経験としてOSメディアからのインストールも必要かもしれませんが、毎回行う必要はないと思います

    • 慣れてきたらOSインストールに割いていた時間を他のことに使いましょう



  • その他は以下などを参照してください




注意!!


  • 今回の構成(Windows10/Vagrant1.8.1)にはまだバグが含まれており途中でエラーが出る可能性があります

  • 私が遭遇したものについては回避方法を記載していますので、最終的には Mac / Linux 上と同様に Vagrant を実行できると思います


    • vagrant ssh コマンドで VM にログインできます



  • 画面キャプチャの Windows 環境が英語版なのは私の趣味なので気にしないでください

  • おそらく言語設定に依存したエラーはないと思います…(日本語版で未確認のため自信なし)

  • これも私の趣味で PowerShell を利用しています

  • cmd の場合は適宜読み替えて頂くか、これを機に PowerShell を使ってみるのはいかがでしょうか


環境


  • Windows10 Pro


    • KVM 上の VM です

    • CPU: Core2Duo 2.4Ghz 4core (相当)

    • Memory: 2GB

    • Disk: 60GB


      • 参考値: ダウンロードファイルも含めて約 1GB 消費されました(Vagrantのインストール直後まで)





  • VirtualBox 5.0.14 (2016/02/29 時点の最新)

  • Vagrant 1.8.1 (2016/02/29 時点の最新)


    • インストール後にOSの再起動が必要になります



  • Cygwin 2.4.1 (2016/02/29 時点の最新)


    • Windows 上に rsync と ssh がないので Cygwin で入れて PATH を通すことで回避しています


      • rsync

      • openssh






リファレンス


Vagrant


VirtualBox


Cygwin


環境構築


VirtualBox のダウンロードとインストール


  1. x86/amd64 のリンクから落とします

    Screenshot 2016-02-29 01.15.55.png


  2. ダウンロードしたファイルをダブルクリックしてインストーラを実行します

    Screenshot 2016-02-29 01.17.17.png


  3. Unknown Publisher の警告が出ますが進めます

    Screenshot 2016-02-29 01.17.42.png


  4. すべてデフォルトで進めてください

    Screenshot 2016-02-29 01.18.00.png


  5. VirtualBox が起動したら成功です

    Screenshot 2016-02-29 01.19.51.png

    Screenshot 2016-02-29 01.20.14.png


  6. Extension Pack をインストールするために一旦終了させます

    Screenshot 2016-02-29 01.20.31.png



VirtualBox Extension Pack のダウンロードとインストール


  1. All supported platforms のリンクから落とします

    Screenshot 2016-02-29 01.16.49.png


  2. ダウンロードしたファイルをダブルクリックしてインストーラを実行します

    Screenshot 2016-02-29 01.21.11.png


  3. こちらもすべてデフォルトですすめます


  4. 以下のPopUpが表示されれば完了です

    Screenshot 2016-02-29 01.23.07.png



Vagrant のダウンロードとインストール


  1. WINDOWS Universal (32 and 64-bit) のリンクから落とします

    Screenshot 2016-02-29 01.24.36.png


  2. ダウンロードしたファイルをダブルクリックしてインストーラを実行します

    Screenshot 2016-02-29 01.26.06.png


  3. こちらもすべてデフォルトですすめます

    Screenshot 2016-02-29 01.26.21.png


  4. 以下のPopUpが表示されれば完了です

    Screenshot 2016-02-29 01.33.21.png


  5. ここでOS再起動をします

    Screenshot 2016-02-29 01.33.33.png


  6. シェル(PowerShell)を起動してバージョン情報が表示されていたら完了です



    vagrant --version



    Screenshot 2016-02-29 02.02.35.png



実行テスト


CentOS.org の公式 Box を動かしてみましょう


事前準備


  1. Cygwin をインストールして、さらに rsync と openssh パッケージをインストールします

    Screenshot 2016-02-29 03.06.59.png

    Screenshot 2016-02-29 03.23.21.png



  2. Windows の環境変数に rsync のパスを追加します


    • 以下の赤枠で囲んだパスが追加したパスになります

    • cygwin のインストール状況によって異なる場合があります

    • rsync.exe のあるパスを設定してください
      Screenshot 2016-03-01 01.34.15.png



  3. PowerShell をあらたに実行します


  4. 設定ファイルの置き場所用にディレクトリを作成します



    ni vagrant\centos\centos7-test01 -ItemType Directory

    cd .\vagrant\centos\centos7-test01\



    Screenshot 2016-02-29 02.13.57.png


  5. VirtualBox を起動しておきます



CentOS7 Box を実行する


  1. Box を追加します



    vagrant box add centos/7



  2. ここで次のエラーが出てしまう場合は MS Visual C++ 2010 x86 Redistributables のインストールが必要の場合があります。

    Screenshot 2016-02-29 02.43.37.png

    以下のリンクからインストールしてください



  3. box add が成功した場合の出力結果は以下です。今回は VirtualBox なので 2) を選択します

    Screenshot 2016-02-29 02.52.25.png

    インターネット接続環境にも依存しますが、ここで時間がかかる場合があります


  4. Successfully added box と表示されていたら成功です


  5. Box の公式サイトに記載されているコマンドをそのまま実行します



    vagrant init centos/7; vagrant up --provider virtualbox



    Screenshot 2016-02-29 02.22.50.png


  6. エラーが出ます。調査中です… > WorkAround の確認ができました。

    Screenshot 2016-02-29 03.59.52.png



  7. 上記のエラーが出た場合、以下の対処をします。



  8. 具体的には以下のファイルの 77-79 行目を # でコメントアウトします。



    C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.8.1\plugins\synced_folders\rsync\helper.rb



    Screenshot 2016-03-01 01.03.53.png


  9. ファイル編集後の正常性を確認するために VM を停止、削除して再作成してみましょう



    vagrant halt

    vagrant destroy

    vagrant up --provider virtualbox


  10. はい、今度はエラーなく成功しました

    Screenshot 2016-03-01 00.57.44.png


  11. VirtualBox 上に VM ができているのを確認できると思います

    Screenshot 2016-02-29 04.04.04.png


  12. では接続してみましょう



    vagrant ssh


  13. プロンプトが出ていれば接続成功です

    Screenshot 2016-02-29 04.04.51.png


  14. exit します

    Screenshot 2016-02-29 04.05.21.png


  15. 停止してみましょう



    vagrant halt


  16. VirtualBox 上の VM が停止しているのを確認できると思います

    Screenshot 2016-02-29 04.06.05.png


  17. もう一度起動させてみます



    vagrant up --provider virtualbox


  18. もう一度繋いでみましょう



    vagrant ssh


  19. yum update など試してみてください



    $ sudo yum update



終了


所感


  • やはり Windows で Vagrant を使うのは若干ハードルが高いように思いました

  • できれば Mac か Unix 環境で利用されるのが楽で良いかと思います…