Vagrant + VartualBoxでWindows上にローカル開発環境を構築してみよう

vagrant_download
Pocket

「自分のPCはWindowsだけど、Linuxの開発環境が欲しい」

「サーバ間の処理をしたいため、複数の開発環境が欲しい」

など、開発環境を構築する際、色々な要件があると思います。そういう時に便利なツールが、「Vagrant」です。

Vagrantとは、仮想環境構築ツールのことで、開発環境やテスト環境を構築に適しています。Vagrantを使うことにより、冒頭の要件を満たす開発環境を構築することができます。また、Vagrantは仮想化ソフトウェアと組み合わせる必要があるため、VMwareやVartualBoxなどと組み合わせて使う必要があります。

今回は、Vagrant+VartualBoxを使って、Windows上にCentOS7の開発環境を構築してみます。各ツールのインストールから、開発環境にログイン可能になるまでの手順を紹介していきます。

スポンサーリンク

Vagrantインストール

Vagrant公式サイトのDOWNLOADからWindows版のインストーラをダウンロードします。ダウンロードしたインストーラを実行し、インストーラの指示に従いインストールします。

vagrant_download

VirtualBoxインストール

Virtualbox公式サイトのDownloadsからWindows版のインストーラをダウンロードします。Vagrant同様、ダウンロードしたインストーラを実行し、インストーラの指示に従いインストールします。

vartualbox_download

Vagrantで開発環境を構築

Vagrant+VartualBoxのインストールが完了しましたら、VagrantでCentOS7の開発環境を構築してみましょう。開発環境の構築というのは、厳密に言いますと、VartualBoxに仮想マシンを作成するということです。

仮想マシンを作成するには「box」が必要です。boxとは、仮想マシン起動の際にベースとなるイメージファイルです。今回はVagrant Cloudにあるboxを使います。Vagrant Cloudとは、Vagrantで使えるboxを提供するクラウドサービスです。

Vagrantコマンド一覧

まず、Vagrantコマンド一覧を見てみましょう。基本的な操作は、表のコマンドを覚えておけば十分かと思います。他のコマンドについては「vagrant -h」で確認するか、VagrantのCOMMAND-LINE INTERFACEを確認してみましょう。

コマンド 説明
vagrant init vagrntの初期化(Vagrantfileの作成)
vagrant up 仮想マシン起動
vagrant status 仮想マシンの状態確認
vagrant halt 仮想マシン停止
vagrant destroy 仮想マシン削除
vagrant ssh 仮想マシンにログイン
vagrant ssh-config 仮想マシンのログインに必要な設定情報を確認
vagrant -h Vagrantコマンドの確認

Vagrantの設定ファイルを作成・編集

それでは、Vagrantの設定ファイルを作成してみましょう。Vagrantの設定ファイルは「Vagrantfile」というファイルです。まず、任意の場所に作業用フォルダを作成し、vagrantの初期化(Vagrantfileの作成)をします。

$ mkdir centos7 #作業用フォルダ作成
$ cd centos7 #作業用フォルダへ移動
$ vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

次に、Vagrantfileの編集をします。メモ帳などテキストエディタで以下の箇所を編集します。

編集箇所 説明
config.vm.box = "[box名]" 使用するboxを設定
config.vm.network "private_network", ip: "[IPアドレス]" 仮想マシンにホストからのアクセス用IPアドレス設定
config.vm.synced_folder = "[ホストOS]", "[仮想マシン]", "[オプション] ホストOSと仮想マシンの共有フォルダ設定

boxは先ほど紹介しました「Vagrant Cloud」から「centos/7」を使います。

IPアドレスはデフォルトで「192.168.33.10」が記載されています。仮想マシンの作成が1台目であれば、コメントアウトを削除して使用しましょう。2台目以降はIPを変更する必要があります。

共有フォルダは使う予定がなければ、コメントアウトを削除し、「disabled: true」のオプションを付与して無効にします。

===
  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://atlas.hashicorp.com/search.
  config.vm.box = "centos/7" #「centos/7」というboxを記載
===
  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  config.vm.network "private_network", ip: "192.168.33.10" #先頭の「#」(コメントアウト)を削除
===
  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"
  config.vm.synced_folder ".", "/vagrant", disabled: true #「disabled: true」のオプションで、共有フォルダ設定を無効

なお、共有フォルダをWindowsで使用する場合は、ホストOSに「rsync」をインストールするか、ゲストOSに「Guest Additions」をインストールする必要があります。また、明示的に共有フォルダ設定を無効にしないと、Vagrant起動時に以下のエラーが表示されます。共有フォルダの設定は「共有フォルダを使える状態にする」または「共有フォルダを無効にする」ことが必須です。

$ vagrant up
# 「共有フォルダを使える状態」または「共有フォルダを無効」をしていない場合、
# rsyncが見つからないというエラーが表示される
"rsync" could not be found on your PATH. Make sure that rsync
is properly installed on your system and available on the PATH.

仮想マシンを起動

Vagrantfileの編集が完了しましたら、仮想マシンを起動します。初めて起動する際にはboxのダウンロード、仮想マシンの作成を行った後、起動します。

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'centos/7' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0

仮想マシンにログイン

Windowsはデフォルトでsshが使えないため、sshクライアントソフト(Tera Termなど)をインストールするか、OpenSSHをインストールする必要があります。

sshが使えるようになりましたら、「vagrant ssh」で仮想マシンにログインできます。

$ vagrant ssh
[vagrant@localhost ~]$

sshがインストールされていない場合は、以下のエラー内容が表示されます。

$ vagrant ssh
# sshが実行できないというエラーが表示される
`ssh` executable not found in any directories in the %PATH% variable. Is an
SSH client installed? Try installing Cygwin, MinGW or Git, all of which
contain an SSH client. Or use your favorite SSH client with the following
authentication information shown below:

sshクライアントソフトを使う場合は、以下の内容で仮想マシンにログインできます。

項目
IPアドレス 「config.vm.network」で設定したIPアドレス
ポート 22
ユーザ名 vagrant
パスワード 無し(rootのパスワードは「vagrant」)
秘密鍵 .vagrant/machines/default/virtualbox/private_key

パスワードや秘密鍵の場所はboxによって異なります。基本はパスワードを聞かれましたら「vagrant」で問題ないです。秘密鍵の場所は「vagrant ssh-config」コマンドの「IdentityFile」で確認できます。

まとめ

Vagrant+VartualBox を使い、WindowsにCentOS7の開発環境を構築をしました。boxを変更することにより、ubuntuなど異なるOSで開発環境を構築することもできます。

Vagrant+VartualBoxをインストールするだけで、手軽に開発環境を構築・削除ができますので、ぜひ試してみましょう。

スポンサーリンク

feedly、RSSをフォローする