VirtualBox + Vagrant で CentOS 環境構築[macOS]

macOS 上に VirtualBoxVagrant を使った仮装環境( CentOS )の構築方法です。

環境

macOS Sierra(version 10.12.3)

VirtualBox

VirtualBox は仮想化ソフトです。今回の場合だと Mac OS 上で Linux OS を動かせるようになります。
下記からダウンロードします。
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp

Vagrant

Vagrant を使うと仮装環境( 今回の場合だと VirtualBox )上に簡単な設定で複製可能な環境を構築、配布できるようになります。
下記からダウンロードします。
https://www.vagrantup.com/downloads.html

準備

# 何らかの version が表示されれば OK
$ VBoxManage -v
5.1.22r115126
$ vagrant -v
Vagrant 1.9.4

仮装環境起動

# ベースとなるイメージファイルをダウンロード ( http://www.vagrantbox.es/ から使いたい box を選択 )
# ベースとなるイメージファイルは vagrant ユーザー作成、sshd 起動など必要最低限のものだけ設定されているようです。
$ vagrant box add centos7.2 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box
# カレントディレクトリに Vagrantfile を作成
$ vagrant init centos7.2
# 起動
$ vagrant up
# ssh ログイン
$ vagrant ssh
Last login: Tue May  2 10:09:20 2017 from 10.0.2.2
[vagrant@localhost ~]$

後片付け

# Vagrant 管理している仮装環境の確認
$ vagrant status
Current machine states:

default                   running (virtualbox)    // 起動中

# 仮装環境破棄
$ vagrant destory
$ vagrant status
Current machine states:

default                   not created (virtualbox)    // 仮装環境無し

発生したエラー

ヘルプが見れない

$ vagrant -h
/opt/vagrant/embedded/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- vagrant-share/helper/api (LoadError)


https://github.com/mitchellh/vagrant/issues/8519通りに下記でとりあえず解決
vagrant-share は別端末からインターネットで仮装環境にアクセスするためのプラグインのようです。何で解決するんだろ。。

$ vagrant plugin install vagrant-share --plugin-version 1.1.8