最近は、Vgrant で開発環境を作ることが多いのでメモ。
Vagrantは仮想マシンで開発環境構築を簡単にするツールです。
https://www.vagrantup.com/
仮想化ソフトは、VirtualBox を使用します。
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:\vagrant とか
仮想環境の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 = “CentOS7_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-chef-zero
自分の環境ではこの3点をインストールしました。