📝

Chocolatey + VirtualBox + Vagrant の簡単セットアップ (Windows)

2021/04/05に公開

10分でセットアップできる簡単手順 :smile:

Windows8 に Vagrantを入れてみる,そしてGitHubにアクセス

最近は、LAMP環境も使い捨てというかCIツール(Jekinsとか)と組み合わせてテスト駆動型で仮想環境を作成・破棄なんていうのが流行っていたりもしますが、Vagrant 使うとさっくり仮想環境(以下 VM)を作成できるよというので試してみました。また作成した Vagrant 環境から Github にアクセスできるようにしてみます。

Vagrant の設定

Chocolatey の導入

Chocolateyは、Windows版 yum っていう感じのコマンドラインからアプリをインストールできるパッケージ管理システムです。これを導入しておくといちいちアプリをぐぐったりしなくていいのとバージョンアップも簡単ですのでまずはインストールします。

  1. https://chocolatey.org/サイトに行き、dos窓用(C:> のやつ)をコピーする。
  2. dos窓を表示する。
  3. ペーストしてコマンドを実行する。

VirtualBox と Vagrant の導入

導入したChocolateyで VirtualBox と Vagrant をインストールします。バージョンについては、特に気になければChocolateyのライブラリにある最新パッケージが適用されます。
dos窓を開いて、下記のコマンドを叩くだけ。

C:\> cinst virtualbox
C:\> cinst vagrant

ゲストOSをインストールする

Vagrant公式サイト からインストール対象のゲストOSを選択しておきます。また Vagrant で作成するVMは、 Windowsローカルのディレクトリ単位で作成 されるため適当なディレクトリでVagrantでVM作成するとインスタンスが沢山されてしまうので注意(ディスクも沢山あるなら気にしないでいいけどねw)。
まずは、VM としてCentOSを起動してみる

  • Chef ,Puppet が始めからインストールされていない素の CentOS 6.5 x86_64(2014/5時点で) を入れてみます。※Chef, Puppet は、後記するので「ふーんー」位で流しておいてok
  • vagrantの公式ドキュメントをみておく。
$ vagrant box add {title} {url}
$ vagrant init {title}
$ vagrant up
  • 実際のコマンド(これだけ)
C:\> cd C:\Users\<user名>
C:\> mkdir vagrant
C:\> cd vagrant
C:\> vagrant box add centos6.5 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box
C:\> vagrant init centos6.5
C:\> vagrant up

ゲストOSにアクセスしてみる

「vagrant up」コマンド実行後、下記のように表示されていることを確認する。

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: C:/Users/<user名>/.vagrant.d/insecure_private_key

ターミナルソフト teraterm, putty などでゲストOSにアクセスしてみます。

Host: 127.0.0.1
Port: 2222
id:vagrand ← pw も同じ

複数のVMを起動してみる

用途に応じたVMを複数起動したい場合は、Vagrantfile に以下のように記述する。Vagrant起動ホスト(ここでは、windows)の、port:2222, 2223 に それぞれ web1, web2 の ssh(22)を forward する定義として記述してみる。

Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "CentOS6.5"
  config.vm.box_url = "https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box"
 
  config.vm.define :web1 do |web1|
    web1.vm.network :forwarded_port, guest: 22, host: 2222, host_ip: "127.0.0.1", id: "ssh", auto_correct: true
  end
 
  config.vm.define :web2 do |web2|
    web2.vm.network :forwarded_port, guest: 22, host: 2223, host_ip: "127.0.0.1", id: "ssh", auto_correct: true
  end
end

web1, web2 を起動してみる。コマンドは vargrant up web1 vargrant up web2

web1, web2 にアクセスしてみる。

web1 Host: 127.0.0.1, Port: 2222
web2 Host: 127.0.0.1, Port: 2223

明示的にプライベートネットワークアドレスを設定したい場合、プライベートネットワークアドレスの指定を追加

web1.vm.network :private_network, ip: "192.168.1.11"
web2.vm.network :private_network, ip: "192.168.1.12"

vagrant コマンド

起動コマンド vagrant up
終了コマンド vagrant halt
仮想環境box vagrant box list
仮想環境の状態 vagrant status
環境を破棄したいとき vagrant destroy

ここまで10分…とはいわないけど

Chocolatey の導入とVagrant 10分では無理かもしれないけど、20分あれば簡単に作れると思います。

古いChocolateyから最新版にアップデートしたときの不具合

The default install location has been changed to 'C:\ProgramData\chocolatey'.
This install will be updated to that location in the next version. It
is strongly suggested you move this installation to the new location
as soon as possible to limit write access from all users. Do not forget
to update PATH & ChocolateyInstall environment variables.

のエラーというか間違ってるぜいわれるので、下記を参照にしながら対処する。
https://github.com/chocolatey/chocolatey/wiki/Migrate-Old-Chocolatey-Directory-to-ProgramData

GitHubで編集を提案

Discussion