Chocolatey + VirtualBox + Vagrant Shareを使ってみた(Windows)
10分でセットアップできる簡単手順
Vagrant Shareとは
仮想環境として構築したVagrantを外部(インターネット)で簡単に公開できる仕組みです。ロケフリみたいな仕組みっていえばピンとくるかもね。
Chocolatey の導入
Chocolateyは、Windows版 yum っていう感じのコマンドラインからアプリをインストールできるパッケージ管理システムです。これを導入しておくといちいちアプリをぐぐったりしなくていいのとバージョンアップも簡単ですのでまずはインストールします。
- https://chocolatey.org/サイトに行き、dos窓用(C:> のやつ)をコピーする。
- dos窓を表示する。
- ペーストしてコマンドを実行する。
VirtualBox と Vagrant の導入
導入したChocolateyで VirtualBox と Vagrant をインストールします。バージョンについては、特に気になければChocolateyのライブラリにある最新パッケージが適用されます。
dos窓を開いて、下記のコマンドを叩くだけ。
C:\> cinst virtualbox
C:\> cinst vagrant
Vagrant Share
Vagrant Shareを使えるのは、1.5以上らしいので。念のためバージョンを確認してみます
C:\> vagrant -v
Vagrant 1.5.4
Vagrant Cloudにユーザ登録
Vagrant Cloudのページにアクセスしユーザ登録します。
Vagrantfile
Vagrant Shareを試す場合、httpサービスが起動していないとだめなので、下記のようにさらっとhttpdをインストールして起動するまでをコマンドラインで実行するようにしてみます。あとCentOSが好きなのでそこらへんよろしくw
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "centos65"
config.vm.box_url = "https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.provision "shell", inline: <<-EOT
yum -y update
yum install -y httpd
rm -rf /var/www
ln -fs /vagrant /var/www
mkdir /var/www/html
echo "<h1>Hello, Vagrant Cloud.</h1>" > /vagrant/html/index.html
service httpd start
EOT
end
あとは、いつものup
C:\> vagrant up
Vagrant login
Vagrant Cloudに登録した情報で、login します。
C:\> vagrant login
...
If you don't have a Vagrant Cloud account, sign up at vagrantcloud.com
Username or Email:
Password (will be hidden):
You're now logged in!
Vagrant Share
Vagrant Shareで公開をします。このとき構築したVagrantでhttpサービスが起動していないと怒られるの注意が必要ですわ。
C:\> vagrant share
うまくいくと、ずらずら…って
==> default: Your Vagrant Share is running! Name: delicate-lion-6691
==> default: URL: http://delicate-lion-6691.vagrantshare.com
一時URLが発行されるのでそれをシェアしたい人に送ればok、このURLは固定ではないので毎回URLが変更されるので注意が必要です。
で、公開しっぱなしだとアレなので(ほっといても1時間?で切れるらしいけど)、ctrl+c で中断すればシェアが解除されるっていう仕組み。
ここまで10分…とはいわないけど
Chocolatey の導入とVagrant Cloudに登録する手間があるので10分では無理かもしれないけど、20分あれば簡単に作れると思います。
Discussion