疑問文

PythonとかRubyについて、疑問や学びをまとめる場所

勉強しないと。しないと。

Vagrantで開発環境構築

macのローカルを開発用途でごちゃごちゃしたくなかったので Vagrantで仮想の開発用環境を作ることにしました。

Vagrant

Vagrant Vagrant日本語ドキュメント

Vagrantは、 あなたとあなたのチームの生産性/柔軟性を最大限にする手助けをするために、 簡単な環境設定/複製可能なマシン/業界標準の技術で構築された1つの一貫したワークフローによって制御される可搬的な開発環境を提供します。
その恩恵を得る為に、Vagrantは先人の知見に基づいています。 マシン(開発環境のマシン)は、ViretualBox, VMWare, AWS, そのほかのプロバイダにより提供されます。 そして、シェルスクリプト/Chef/Puppet といった業界標準的に提供されているツール類は、 マシン上のソフトウェアを自動的にインストール/設定するために使用されます。

仮想環境を作る際に、VirtualBoxとかを単一で使ってごちゃごちゃと作る手間を軽減して
あっさり作ってポイ捨てすることができるものだと理解。
日本語ドキュメント、とてもありがたいですね。

手順

mac内に環境を構築するので、基本はGUIです。

VirtualBoxのインストール

Downloads – Oracle VM VirtualBox

VirtualBox 4.3.20 for OS X hosts x86/amd64

ここからダウンロードができる。(2015/02/07現在)
インストールはパッケージを開いてひたすら従っていけばOK。

Vagrantのインストール

Download Vagrant - Vagrant

MAC OS X
Universal (32 and 64-bit)

ここからダウンロードができる。(2015/02/07現在)
インストールはパッケージを開いてひたすら従っていけばOK。

完了したら、ターミナルからvagrantコマンドが使えるかどうか確認。

$ vagrant --version
Vagrant 1.7.2

Boxのインストール

仮想環境のベースになるもので
これをテンプレートに、それぞれの環境を作る。
vagrant box add {box_name} {source_url}を打ち込む。
↓ に置いてあるものを使えるらしい。
A list of base boxes for Vagrant - Vagrantbox.es

$ vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box

$ vagrant box list
centos65 (virtualbox, 0)

仮想環境の初期化

入口にしたい任意の場所にディレクトリを作成。

$ mkdir -p ~/Vagrant/dev-env
$ cd ~/Vagrant/dev-env

仮想環境作成準備、すなわち初期化。
initの引数として先ほど作成したBoxを指定。
完了したらVagrantfileという設定ファイルが作成されるはず。

$ vagrant init centos65

$ cat Vagrantfile

仮想環境の起動

事前にVirtualBoxを起動しておきます。
LaunchPadか何かから起こすだけでOK。
(「新規」とかで何かを準備しておく必要もなし)

やっと起動できます。

$ vagrant up

仮想環境の使用

sshで入れます。

$ vagrant ssh

まとめ

お手軽でしたが、複数起動したりsshの設定変えたりするには
Vagrantfileをもっとゴニョゴニョするらしいです。
これだけ簡単なら、そりゃ普及するよなあ…とボソリ。