Help us understand the problem. What is going on with this article?

VirtualBox:Vagrant:仮想環境を構築する

More than 5 years have passed since last update.

VirtualBoxとVagrantをインストール

$ brew cask install virtualbox
$ brew cask install vagrant
#vagrantバージョン確認コマンド (正常にインストールされたか確認)
$ vagrant --version

Vagrantにboxの追加

Vagrantには、boxと呼ばれる仮想環境にいれるテンプレート(OS)がたくさん用意されている。box追加コマンドを利用してOS環境を追加することができる。

box追加コマンド

$ vagrant box add [任意のbox名] [ダウンロードURL]

各テンプレート(OS)ごとのboxファイルダウンロードURL一覧
http://www.vagrantbox.es/

「centos-6.4」box 追加コマンド

$ vagrant box add centos-6.4 https://github.com/2creatives/vagrant-centos/releases/download/v6.4.2/centos64-x86_64-20140116.box

追加済みbox 確認コマンド (正常に追加されたか確認)

$ vagrant box list

実行結果
centos-6.4 (virtualbox, 0)

Vagrantの初期化

実際に、vagrantの立ち上げ(=仮想環境の立ち上げ)を行う前に、初期化を行い、
Vagrantfile と呼ばれる設定ファイルを生成します。

Vagrant 初期化コマンド

$ vagrant init [box名]

「centos-6.4」というboxを利用して、Vagrantを初期化します。

$ vagrant init centos-6.4

Vagrantfileを設定する

localから仮想環境にアクセスできるようにするためにVagrantfileの下記の項目を設定する。
- config.vm.box
- config.vm.network
- config.vm.provider

$ vi  /Vagrantfile

以下の内容になるようにコメントアウトを外す。

VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.box = "centos-6.4"
    config.vm.network "private_network", ip: "192.168.33.10"
    config.vm.network "forwarded_port", guest: 80, host: 80
    config.vm.network "forwarded_port", guest: 443, host: 443
    config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
        vb.gui = true
  #   # Customize the amount of memory on the VM:
        vb.memory = "1024"
    end
end

Vagrantfileを反映させるにはVagrantの再起動が必要

Vagrant 実行コマンド

$ vagrant up     # 起動(= 仮想環境の立ち上げ)
$ vagrant halt   # シャットダウン
$ vagrant reload # 再起動

vagrant upして
http://192.168.33.10/ にアクセスしてみる。

仮想環境にログイン

仮想環境ログインコマンド

$ vagrant ssh

plugin

vagrant-hostsupdater

vagrant-hostsupdater を利用すると、vagrant 実行時に /etc/hosts を書き換えてくれる。

$ vagrant plugin install vagrant-hostsupdater

vagrant-cachier

$ vagrant plugin install vagrant-cachier

pluginを設定したVagrantfile

VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.box = "centos-6.4"
    config.vm.network "private_network", ip: "192.168.33.10"
    #port 80 443
    config.vm.network "forwarded_port", guest: 80, host: 80
    config.vm.network "forwarded_port", guest: 443, host: 443
    ### vagrant-hostsupdater:使用したいホスト名を追加
    config.hostname = "example.com"
    config.hostsupdater.aliases = ["example.com", "dummy.com","dummy-dummy-dummy.com"]
    ###

    config.vm.provider "virtualbox" do |vb|
        vb.gui = true
        vb.memory = "1024"
    end
end

vagrantを起動してhttp://example.com にアクセスできることを確認する。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away