かめねこ広告

Mac:仮想マシン環境を簡単に管理できるvagrantをインストールしてみた

「かめねこが説明する!実は良く分かっていないシリーズ」です。
どうも最近になってvagrantって見たり聞いたりする事が良く有るのです、気になったので公式サイトを見てみると、簡単に仮想マシン環境を管理できるようになるよ!って書いている様な気がします、英語は良く分かりません。

かめねこは常に仮想マシンを動かしているわけでは無いのですが、ローカル環境上で簡単にテスト運用できるサーバー環境を構築して簡単に管理できてしまう事に魅力を感じたので、vagrantをインストールしてみます。

vagrantで何が出来るのか

vagrantって何?
要は仮想マシン環境を提供してくれるVMwareやVirtualBoxを簡単にCUIから管理できちゃうツールのようです。
かめねこ的な使い方は、本運用しているサーバー環境に対して変更や更新前に実験できる環境が欲しかったので導入します。
vagrantで作った環境は簡単にコピーして引っ越しをしたり、共同でwebサービスを開発する際に、同じ環境を簡単に配布する事が出来るらしいので導入しました。
また別の記事で書きますがsaharaプラグインを使う事で簡単にsandbox化出来てしまうのも魅力です!

インストール Mac(MacOSX 10.8.5)

まずはメインのvagrantをインストールします
公式サイトhttp://www.vagrantup.comへ行ってDOWNLOADをクリック
vagrantのダウンロードリンク画像

最新バージョンが良いと思うので一番上をクリックこの記事を書いている時の最新はv1.2.7です
vagrantのバージョン画像

Macなので「Vagrant-1.2.7.dmg」をクリックします
vagrantのダウンロード説明画像

ダウンロードされたVagrant-1.2.7.dmgをダブルクリックしてMacにマウントします
vagrantのマウント画像

Vagrant.pkgをダブルクリックします

インストーラが起動、「続ける」をクリック
vagrantインストール進捗6

使用許諾契約を読んで「続ける」をクリック
vagrant使用許諾の画像

同意するをクリック
vagrantインストール進捗8

「インストール」をクリックします、インストール先を変更する場合は「インストール先を変更」をクリックします
vagrantインストール進捗9

インストールの制限をしている場合はMacアカウントのパスワードを入力します。
インストール完了
vagrantインストール進捗1

VirtualBoxのインストール

次に仮想化AppのVirtualBoxをインストールします
公式サイトhttps://www.virtualbox.orgに行ってから左側のDownloadsをクリック
virtualBoxのダウンロード2

VirtualBox binariesの下側に・VirtualBox platform packages.と書いてある所のOS X hostsをダウンロードします、この記事を書いている時の最新バージョンはv4.2.16です。
x86/amd64ってリンクをクリック
virtualBoxのダウンロード

ダウンロードされた「VirtualBox-4.2.16-86992-OSX.dmg」をダブルクリックしてマウントします
virtualBoxのマウント画像

1Double click on this icon:って書いている下の「VirtualBox.pkg」をダブルクリック
virtualBoxのインストール

「続ける」をクリックして
virtualBoxのインストール画像3

インストーラが起動したら「続ける」をクリックします
virtualBoxのインストール画像2

標準インストールしてしまいましょう「インストール」をクリックします
virtualBoxのインストール画像1

インストールの制限をしている場合はMacアカウントのパスワードを入力します。
インストール完了です、とりあえず閉じます、開いているFinderも閉じてしまいましょう。

起動の準備をしてみる

vagrantと仮想化Appのインストールが完了したので早速仮想環境を起動してみます!
公式サイトには「導入は簡単だよ!どれくらい簡単?まぁ良いから試してみろよ!」って書いていると思うので公式サイトに従って起動してみます。

まず手始めに、vagrantが使用するBoxファイルをダウンロードします、ダウンロードはvagrantのコマンドを使います。
公式サイトにはvagrant box add base http://files.vagrantup.com/lucid32.boxをとりあえず実行するように!って書いてあります。
このコマンドを実行するとlucid32.boxというBoxファイルがダウンロードされてbaseという名前でvagrantに登録されるそうです、しつこいですが公式サイトに書いているので間違いないでしょう。

ちなみにBoxファイルとはvagrantで使うOSのイメージファイルのようです、自分でビルドすることも出来るらしいのですが、今回はインストールと起動のテストなので公式がオススメしているBoxファイルを使うことにします。

さて、vagrantはターミナルから操作するので、おもむろにターミナルを起動します、起動方法はspotlightに「ターミナル」って入れたり
ターミナルの起動2

launchpadの検索窓に「ターミナル」って入れると起動するはずです。
ターミナルの起動画像

それではBoxファイルをダウンロードするために下のコマンドを入力します。

vagrant box add base http://files.vagrantup.com/lucid32.box

vagrant box add 説明画像1

enterキーをターーン!!!って押すとダウンロードが始まるので、Progress:が100%になるまで待ちます。
「完了!Box名baseを追加したよ!ちなみにプロバイダーはvirtualboxだから!」って出たら終わったはずです、プロバイダーって何だろう?って思ったので公式サイトを読んでみると仮想化ソフトの種類のようです。
vagrantboxaddの説明画像
次にvagrantのためにディレクトリを作成します、今回はデスクトップにvagranttestを作りますが、もちろん任意の場所に作る事も可能です。
下記のコマンドをターミナルに入力、もしくはコピペします。(DesktopのDは大文字だす!)

mkdir ~/Desktop/vagranttest

デスクトップにフォルダが出来たと思います、ターミナル上で作成したフォルダに移動します

cd ~/Desktop/vagranttest

vagrant initの説明画像
vagrantに起動設定ファイルを作ってもらいます

vagrant init

上記コマンドを実行すると「現在のディレクトリにVagrantfileを作ったよー!vagrant upってコマンド打ったら起動するよ!あ、後でVagrantfile読んでみてね、コメントに色々なオプションの説明も書いてるから!それから公式サイトにも情報あるから見に来いよな!」って書いていると思います、なんとなく、多分そんな感じ。

デスクトップに作成したvagranttestフォルダにVagrantfileというファイルが作成されていたら準備完了です。

それでは起動します。

vagrant「VM(仮想マシン)を起動しまーす、もしかしたら数分かかるかもー」
下記コマンドを入れて15秒ほどで起動するので少し待ちます。

vagrant up

なにやら起動時に色々と設定してくれているみたいですね、ポート番号が22から2222に設定されてるのかな?

vagrantの起動
下記コマンドを実行すると起動している事が確認できます。

vagrant status

さっそくSSHしてみます、下記コマンドをターミナルで実行するとssh出来ます。

vagrant ssh

尚、sshポート番号等の情報を知りたい場合は下記コマンドで確認することが出来ます。

vagrant ssh-config

vagrant sshを使わずにターミナルからsshコマンドで接続する場合はこんな感じでポート指定すると繋がるはずです。

ssh vagrant@127.0.0.1 -p 2222 ちなみにパスワードは vagrant です。

SSHで適当に遊んで、飽きたらsshからログアウトしてシャットダウンを試します。
遊んで飽きたのでsshからログアウトする場合は

exit

vagrantで起動している仮想マシンをシャットダウンする場合は

vagrant halt

vagrant意外と便利そうな感じ!

今回、ダウンロードして使っているlucid32.boxはどうやらOSがubuntuのようです、このまま設定変更したり機能を追加したり、諸々のツールをインストールした後にboxファイルとして書き出す事も出来るらしいです。

なんて便利なツールなんだろうvagrant!これで環境を配布したり引っ越しが容易に出来ます。
近いうちにboxファイルの記事や便利に使えるプラグインの記事を書こうと思います。(まだ使っていないのです><)

vagrantまとめ

確かに公式サイトに書いている通り、簡単にvagrantを使ってsshする所までは到達できました。 かめねこ

コメント