2018/10/12
Laravelには仮想マシン(VM)用のパッケージが用意されています。
このパッケージをHomestead(ホームステード)と呼びます。
Homesteadを設定するには仮想マシンを構築しなければなりません。
仮想マシンを構築するためにVagrant(ベイグラント)とVirtualBoxというソフトを入れます。
今回はHomesteadを入れる前にVagrantとVirtualBoxをインストールして仮想マシンを構築してみようと思います。
Vagrant・virtualBoxについて
VirtualBoxとは、使用しているPC上に仮想的なPCを作成し別のOSをイントールをして実行することができる仮想化ソフトです。
例えば使用中のパソコンがWindows10だとします。
VirtualBoxをインストールするとこのWindows10とは別にCentOSを動作させることができます。
それではVagrantの役割はなんでしょうか?
VagrantはVirtualBoxで構築する仮想マシンの設定や作成方法などを手助けしてくるソフトです。
Vagrant自体には仮想化に関する機能は搭載されていないので、VirtualBoxのような仮想化ソフトが必要になるのです。
つまりVirtualBoxは仮想マシン、Vagrantはその仮想マシンを操作するためのソフトウェアといえます。
ここでもう1つ覚えておきたいのが「Box」という概念。
Boxとは、仮想マシンを作成する際に必要なOSのディスクイメージファイル等が入ったファイルの集まりのことです。
いわば、仮想マシンのテンプレートみたいなものです。
チュートリアルでは仮想マシン作成時にネットワーク上で配布されているBoxを使用します。
チュートリアル
実現したいこと
ここでは、VagrantとVirtualBoxを使って以下の作業を行ってみたいと思います。
- Windows7上で仮想マシンの作成・起動 (CentOS 6.5の仮想マシンを作成します)
- SSHで仮想マシンにログイン
手順
Vagrantの利用の手順として、まずは利用したいOSの仮想マシーンファイル(Boxファイル)を入手することから始まります。
- 作業用ディレクトリでVagrantfileを作成し、仮想マシン・イメージ(box)を指定
- コマンドラインで「vagrant up」を実行
Windowsの場合はまずはコマンドプロンプトを立ち上げます。
ホームフォルダ(C:\User\ユーザー名\)で以下を実行してみます。
#コマンドプロンプトで「MyVagrant」のフォルダを作成 mkdir MyVagrant #「MyVagrant」のフォルダの中に移動 cd MyVagrant #「mycentos」のフォルダを作成 mkdir mycentos #「mycentos」のフォルダの中に移動 cd mycentos # 以前までは「vagrant box add box名 URL」としてBoxを追加していた。 # 現在では次のコマンドだけで「Boxの追加+初期化」を同時におこなってくれる。 # 「vagrant init ベンダー名/Box名」 vagrant init bento/centos-6.7 # 実行したディレクトリにCentOSの「Vagrantfile」が作成されるのでメモ帳で開く。 # Vagrantファイル内の、IPアドレス設定が記述されている箇所のコメントアウトを外す。 # 具体的には「config.vm.network "private_network", ip: "192.168.33.10"」 の行のコメントアウトを外せばOK。 #コマンドプロンプトに戻り次のコマンドを入力。 #↓のコマンドでVagrantマシンが起動される。 vagrant up
WindowsからCentOS(仮想マシン)にアクセスするためにSSHクライアント(PuTTYごった煮版)をインストール。
ホスト名に「192.168.33.10」を入力してログイン。
コマンドラインの画面が立ち上がりユーザ名とパスワードを聞かれる。
ユーザ名、パスワード共に「vagrant」と入力するとVagrantで立ち上げたCentOS(仮想マシン)に無事ログインすることができました。
はまったところ
バージョンによる不具合
Vagrant 1.8.5は正常に起動しませんでした。
またVagrant 1.8.4はVirtualBOX5.1に対応していませんでした。
最終的に
・vagrant 1.8.4
・virtualbox 5.0.26
のコンビで上手くいきました。
Vagrant の旧バージョンリスト
https://releases.hashicorp.com/vagrant/
VirtualBox の旧バージョンリスト
https://www.virtualbox.org/wiki/Download_Old_Builds
Vagrantは「vagrant_1.8.4.msi」をインストールしてください。
BIOSの設定を変更しないとvagrantが起動しない
Vagrantが起動しなかった場合、PC本体のBIOSのVT-x(仮想化支援機能)が無効になっている場合があります。
この場合はBIOSを立ち上げてVT-xを有効にする必要があります。
まずはVirtualCheckerという確認ソフトでVT-xが有効になっているか確認してみてください。
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。