最近は、Vgrant で開発環境を作ることが多いのでメモ。

Vagrantは仮想マシンで開発環境構築を簡単にするツールです。
https://www.vagrantup.com/

仮想化ソフトは、 を使用します。
Windowsには、Hiper-Vが入っていますが、VirtualBoxを使用します。
Hiper-Vでもできるけど、VirtualBoxを使用する場合は、Hiper-Vは無効化してください。
Hiper-Vが有効になっていると、VirtualBoxで仮想環境を作成するときに64bitOSが選択できなくなります。

VirtualBoxのインストール

VirtualBox のサイトからダウンロード
https://www.virtualbox.org/wiki/Downloads
ダウンロードしたexeファイルを実行しインストール

Vagrantのインストール

https://www.vagrantup.com/downloads.html
ダウンロードページからインストールするOSのものをダウンロード。
ダウンロードしたmsiファイルを実行しインストール。

Vagrantを使うための準備

はじめに、Vagrantを使って仮想環境を作るためのもとになるフォルダを作成します。
D:\ とか

仮想環境のBOXはすでに作成済みのものが http://www.vagrantbox.es/https://atlas.hashicorp.com/boxes/search で公開されている。
会社で開発環境を作る場合には、自分で作ったほうがいいかもしれない。信頼できると思うけど、なんとなくね。

Vagrantfileを作成

コマンドプロンプトを起動(PowerShellでもどちらでも)
先ほど作成したフォルダへ移動

> d:
> cd D:\vagrant
もしくは/dスイッチを使用して
> cd /d d:\vagrant
> vagrant init

vagrant init コマンドで vagrant ファイルが作成される。

Vagrantfileを編集

作成された vagrant ファイルをテキストエディタで開きます。
15行目あたりに

config.vm.box = “base”

というのがあります。
ここの「base」部分をこれから作る環境のわかり易い名前などにする。または自分で作成したbox名にする。
ここでは、CentOS7環境を作るので下記のようにしました。

config.vm.box = “_dev”

次にCentOS7のboxファイルをダウンロードするために上記の作成済みBOXファイルのあるサイトから任意のBOXファイルのダウンロードURLを追加します。

config.vm.box_url = "https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box"

vagrant ファイルの変更は、とりあえずこれだけなのでこれで保存します。

自前でBOXを作成している場合は、上記の追記は不要です。
自前でBOXファイルを作成する方法は別に記載します。
自分では、BOXファイルは自前で作成してます。

仮想環境の起動

コマンドで仮想環境を起動させます。

vagrant up

初回の up コマンドでは、vagrant ファイルに記述しているBOXファイルをダウンロードし、仮想環境を構築していきます。
ここで VirtualBox を起動すると新しい仮想環境が作成されるのがわかります。

コマンドラインSSHクライアントの準備(Windowsの場合)

BOXファイルを公開サイトからダウンロードして仮想環境を作った場合、ログインアカウントが不明ですよね。
しかし、Vagrantの仮想環境へは基本的にSSHでログインできるように「vagrant」アカウントが作られているはずです。

Windowsのデフォルト状態では、sshコマンドは存在しないので、接続ができないのでSSHクライアントソフトをインストールする必要があります。
ここでは、Git for Windows をインストールすることにします。
https://git-for-windows.github.io/

下記のサイトにインストールについて詳細がありますので参考に
http://d.hatena.ne.jp/m-hiyama/20140203/1391381365

sshでログイン

インストールした、「Git Bash」ショートカットからsshクライアントを起動する。
vagrantfileのあるディレクトリに「cd」で移動。

cd d:\vagrant
移動後、SSHでログイン
vagrant ssh
パスワードは不要です。
rootユーザーへ切り替える
sudo su

これで専用のユーザーを作成すればよいです。
そうすれば、TeraTermやputtyなどでログインできます。

Vagrantの基本コマンド

バーチャルマシンを起動してない場合は、起動する。(コマンドプロンプトで実行)
vagrant up

バーチャルマシンのシャットダウンコマンド
vagrant halt

バーチャルマシン再起動
vagrant reload

バーチャルマシン現状確認
vagrant status

Pluginの確認
vagrant plugin list

Pluginのインストール
vagrant plugin install [プラグイン名]

Vagrant Pluginのインストール

Chefを使う場合に必要なプラグインをインストール

vagrant plugin install vagrant-omnibus
vagrant plugin install vagrant-vbguest
vagrant plugin install vagrant--zero

自分の環境ではこの3点をインストールしました。

カテゴリー: Vagrant