LoginSignup
4
10

More than 5 years have passed since last update.

Windows7にVirtualBoxとVagrantで仮想環境を構築する

Last updated at Posted at 2017-05-04

Windows7にVirtualBoxとVagrantで仮想環境を構築する手順です。

1. 背景

新しく開発環境を構築しようと思いました。
その際、VirtualBoxとVagrantでの仮想環境が使いやすいと聞き、採用。
情報を検索すると比較的多くヒットしたので、これを参考にすればすんなり行くかと思ったのですが、ゲストOS起動段階で、以下のエラーが発生。

The executable 'cygpath' Vagrant is trying to run was not
found in the %PATH% variable. This is an error. Please verify
this software is installed and on the path.

メッセージの通り、単にCygwinが入ってなかったことが原因だっただけなので、特に難しいことはありませんでした。しかし、Cygwinが必要という情報は日本語では出てこなかったので一応、私の環境で行った手順を記述します。

2. 前提条件

  • ホストOS:Windows 7 Professional(64ビット)
  • ゲストOS:CentOS 7.0 x64
  • VirtualBox:5.1.22
  • Vagrant:1.9.4

3. 各種インストール

3-1 VirtualBoxのインストール

以下から、Windows用のインストーラをダウンロードする。
https://www.virtualbox.org/wiki/Downloads
普通に「Windows hosts」を選べばOK。

ダウンロード完了後、実行してインストールする。
いろいろ聞かれるけど、通常はそのまま進めていけば問題なし。

不要かもしれないけど、念のためエクステンションパックも導入。
Oracle VM VirtualBox Extension Pack の横にある
「All supported platforms 」を選択してダウンロード&インストール。

3-2 Vagrantのインストール

以下から、Windows用のインストーラをダウンロード。
https://www.vagrantup.com/downloads.html
「Universal (32 and 64-bit)」をクリックしてダウンロード。

こちらもダウンロード完了後、実行してインストール。
こちらも特に変更せずにインストールすれば問題なし。

3-3. Cygwinのインストール

以下から、インストーラをダウンロード。
https://www.cygwin.com/

こちらもダウンロード後、実行してインストールするだけなのですが、
少し複雑なので、わからない方は他の記事等を検索して、インストールしてください。
また、パスを通しておく必要もあるので、ご注意。

4. 仮想マシンの作成

4-1. ゲストOSをVirtualBoxへ登録する

コマンドプロンプトを起動し、以下のようなコマンドを実行する。
vagrant box add {登録名} {ファイルURL}

私の場合、CentOS7.0なので、以下のコマンドを実行。

vagrant box add CentOS70 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box

なお、別のゲストOSを登録する場合は、以下を参照。
http://www.vagrantbox.es/

4-2. vagrantfileの編集

まず、任意の場所にフォルダを作成する。
ここでは、C:¥Users¥userにCentOSフォルダを作成したものとして進めます。

続いて、以下のコマンドを実行して、vagrantファイルを作成する。
ただし、2行目の"CentOS70"は、4-1での登録名に適宜修正して実行すること。

C:¥Users¥user> cd CentOS
C:¥Users¥user¥CentOS> vagrant init CentOS70

CentOSディレクトリ内に作成されたvagrantファイルを以下のように編集する。

vagrantfile
#コメントアウトを外す
config.vm.network "private_network", ip: "192.168.33.10"

5. ゲストOSの起動・停止

5-1. 起動

以下のコマンドを実行して、ゲストOSを起動する。

C:¥Users¥user¥CentOS> vagrant up

※なお、ここでCygwinが入っていないorパスが通っていないと、記事冒頭に記載したエラーが発生しました。

5-2. ゲストOSへの接続

TeraTerm等を使ってゲストOsへSSH接続する。
接続情報は以下の通り。

  • 接続先:192.168.33.10
  • ポート:22
  • SSHバージョン:SSH2
  • ユーザ名:vagrant
  • パスワード:vagrant

5-3. 停止

以下のコマンドを実行して、ゲストOSを停止する。

C:¥Users¥user¥CentOS> vagrant halt

6. その他の環境設定

vagrantファイルを編集することで、様々な設定を行えます。
以下に例を挙げます。

vagrantfile
#ホストOSとゲストOSでディレクトリを共有する
#複数共有した場合は、そのまま複数行記述するだけ
config.vm.synced_folder "ゲストOS側のパス", "ホストOSのパス"

#ゲストOSの使用メモリを変更する
#コメントアウトを外して、値を変更する
   vb.memory = "1024"

ゲストOS起動中の場合は、以下のコマンドでリロードする。

C:¥Users¥user¥CentOS> vagrant reload

余談

今回、CentOS 7.0を選択したのですが、どうやらCentOS 7.0では
serviceコマンドとchkconfigコマンドが非推奨らしく、systemctlコマンドが推奨されているようです。

chkconfigコマンドは
systemctl {enable/disable} {service name}

serviceコマンドは
systemctl {start/stop/restart/status} {service name}

のように実行するみたいです。

例えば、Apacheの起動は以下のようになります。

#systemctl enable httpd
#systemctl start httpd
4
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
10