Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
79
Help us understand the problem. What is going on with this article?
@murachi1208

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

More than 5 years have passed since last update.

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

79
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
murachi1208
社内では「お手伝い、この!はげ!(スキンヘッドですYO)」と呼ばれてるしがないオッサンエンジニア。調べたことをこつこつ投稿しています。 ※内容は個人的趣味範囲であり所属組織とは関係ありません。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
79
Help us understand the problem. What is going on with this article?