Vagrant(ベイグラント)とVirtualBox(バーチャルボックス)でMacローカル開発環境を構築する方法【初心者向け】

Vagrant(ベイグラント)とVirtualBox(バーチャルボックス)でMacにローカル開発環境を構築する方法を説明します。

仮想マシンとは?

パソコンに中にサーバーが立ち上がっているイメージです。
物理的にはPC内にありますが、振る舞いとしては別のサーバーにアクセスするのと同じです。

 

物理的には同じパソコンの中ですが、ふるまいとしては、別のサーバーにアクセスするのと同じイメージです。
それぞれの環境は隔離されています。極端なことを言えば、仮想環境上のサーバーにウイルスをばらまいても、パソコン本体(ホストOS)には影響がありません。

 

Macに開発環境を構築する方法の流れ

Macに開発環境を構築する大まかな流れは次の通りです。

  • VirtualBoxをインストールする
  • Vagrantをインストールする
  • VagrantでCentOSを起動

VirtualBox(バーチャルボックス)をインストールする

VirtualBoxとは?パソコン 上に仮想的な PC を作成し、別のOS をインストール・実行できるフリーの仮想化ソフトです。
VirtualBox
からインストーラーをダウンロードしインストールします。

VirtualBoxのの詳しいインストール手順は「MacOSにOracle VM VirtualBoxをインストールする手順」を確認してください。

Vagrant(ベイグラント)をインストールする

Vagrantとは?仮想環境を構築・管理し配布することができるツールです。
Vagrantを導入することで、簡単なコマンドで仮想マシンの構築ができるようになります。
Vagrantからインストーラーをダウンロードしインストールします。

インストール手順は「MacにVagrant(ベイグラント)をインストールする手順」を確認してください。


VagrantでCentOSを起動

インストールしたVagrantを使って、CentOSを立ち上げます。
CentOSはLinuxのディストリビューションの一つです。

ターミナル起動

ターミナルを使って操作をします。

ターミナルはMacのアプリケーション>ユーティリティに予めインストールされています。

マック標準のターミナルでもよいのですが、より便利に使うには「iterm2」がおすすめです。

ターミナルを使って、Vagrantに「centos」という名前のboxを追加します。
boxとは仮想マシンのテンプレート(雛形)です。

仮想マシン用のフォルダの準備

複数を仮想マシンを作ることを想定して、まとめるためのフォルダを作っておくましょう。

フォルダ構成の例

例えば、以下のようなフォルダ構成にします。

  • home
    •  vagrant
      • centos6.7

まず、「mkdir」コマンドで「vagrant/centos6.7 」という構成のディレクトリを作成します。

$ mkdir -p vagrant/centos6.7 

「cd」コマンドで「centos6.7」ディレクトリに移動します。

$ cd vagrant/centos6.7 

VirtualBoxにCentOS boxファイルを登録する

以下のコマンドでVirtualBoxにCentOS のboxを追加します。
boxの追加に時間がかかる場合があるので、待ちます。

$ vagrant box add [任意の名前] [URL]
$ vagrant box add centos6.7 https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box

追加したboxを以下のコマンドで確認します。

$ vagrant box list

「centos6.7」と表示されればOKです。

Vagrantfileの作成

Vagrantfileとは仮想マシンの設定用のファイルです。
仮想マシンへの接続情報などが記載されています。

スポンサーリンク

「vagrant init」コマンドを実行して初期化を行います。

$ vagrant init centos 6.7

lsコマンドでディレクトリの中をチェックすると、「Vagrantfile」が作成されたことが確認できます。

$ ls
Vagrantfilesl

次に、仮想マシンに接続するときのIPアドレスの設定をおこないます。

Vagrantfileの仮想マシンのIPアドレスの設定方法その①

以下のコマンドでVagrantfileの仮想マシンのIPアドレスを192.168.33.10に設定します。

sed -i '' -e 's/# config.vm.network "private_network", ip: "192.168.33.10"/config.vm.network "private_network", ip: "192.168.33.10"/' Vagrantfile

Vagrantfileの仮想マシンのIPアドレスの設定方法その②

「vim」とはターミナル上で利用できるメモ帳のことです。
「vim」コマンドを実行すると、テキストエディター「vim」で設定ファイル(Vagrantfile)が開きます。

$ vim Vagrantfile

テキストエディタ「vim」は開いた状態ではノーマルモードです。


入力するため、キーボードの「i」キーをおし(ノーマルモード➔インサートモード)へ切り替えてください。
インサートモードに切り替わると、一番下の表記が、「INSERT」ヘ変わります。
この状態で編集します。

コメントアウトをはずします(#を削除する)
頭にコメントアウト(#)がついている行の設定は無効状態になります。
これをはずすことで設定が有効になります。

修正前:# config.vm.network “private_network”, ip: “192.168.33.10”
修正後:config.vm.network “private_network”, ip: “192.168.33.10”

修正が完了したら、キーボードの「esc」キーか、「Control+C」をおし、(インサートモード➔ノーマルモード)へ切り替えます。
「:wq」と入力し「return」キーで保存して終了します。
すると、「vim」が終了し、元のターミナルの画面に戻ります。

仮想マシンを起動

それでは、仮想マシンを立ち上げてみましょう。
「vagrant up」コマンドでVagrantを起動します。

$ vagrant up

処理が開始されてると、文字列が流れ始めるので、止まるまで待ちます。
始めて立ち上げるときは、時間がかかります。

文字列の動きがとまったら、vagrantの起動完了です。

vagrantの起動状態を確認するために、「vagrant status」コマンドを実行してみましょう。

$ vagrant status

コマンド実行後、「running」と表示されればvagrantが正常に立ち上がっていることを意味します。

Current machine states:
 default running (virtualbox))

バーチャルボックスから起動状態を確認する

vagrantの起動状態はバーチャルボックスからも確認できます。
バーチャルボックスを立ち上げ見てみましょう。

「実行中」となり、仮想マシンが立ち上がっていることが確認できます。
仮想マシンの起動状態をGUIで視覚的に把握することができます。

仮想マシンへログインします。

次に仮想マシンに接続してみましょう。
仮想マシンにログインするには、「vagrant ssh」コマンドを使います。

$ vagrant ssh

プロンプトが[vagrant@localhost ~]$のように変わると、ログインできたことがわかります。

iMac27:~ user$ vagrant ssh
Last login: Tue Jul 4 11:22:56 2017 from 10.0.2.2
Welcome to your Vagrant-built virtual machine.
[vagrant@localhost ~]$
操作している対象を確認するには?

  • 「iMac27:~ user$」 ➔マックを操作している
  • [vagrant@localhost ~]$ ➔仮想マシンを操作している

仮想マシンを終了

仮想マシンを終了する場合、vagrant haltコマンドを使います。

$ vagrant halt

バーチャルボックスでも「電源オフ」になったことが確認できます。

その他のvagrantのコマンド

  • $ vagrant supesnd スリープ
  • $ vagrant resume 復帰
  • $ vagrant reloadリロード
  • $ vagrant desrroy 仮想マシン削除

最後に

Vagrant(ベイグラント)とVirtualBox(バーチャルボックス)でMacローカル開発環境を構築する方法を紹介しました。

開発環境の準備ができたら、次はFTPソフトで仮想マシンに接続してみましょう。以下の記事で詳しく解説しています。

スポンサーリンク








コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です