LoginSignup
2
2

More than 5 years have passed since last update.

Vagrant1.8.6でCentOS6.7 #1.8.7以降について追記あり

Last updated at Posted at 2016-10-25

準備

  • 前提
    • Windows 7 64bit
  1. BIOS設定変更
  2. Cygwinのsshコマンドインストール
    1. https://cygwin.com/setup-x86_64.exe
    2. opensshを選択してインストール実行
    3. Windows環境変数Pathに「C:\Cygwin64\bin」を追加
  3. VirtualBoxインストール (5.1.8~5.1.30は動作確認済)
  4. Vagrantインストール (1.8.5~2.0.1は動作確認済、1.3.1については後述)
  5. Vagrant pluginインストール
    • コマンドプロンプトにて以下を実行
      • vagrant plugin install vagrant-vbguest

以下はVagrant1.8.6で不要になった

  1. Vagrant1.8.5バグ対策
    • C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.8.5\plugins\guests\linux\cap\public_key.rb
      • 56行目と57行目の間に以下の行を追加
        • chmod 0600 ~/.ssh/authorized_keys

Vagrantfile作成

文字コードはUTF-8で

Vagrant.configure("2") do |config|
  # Vagrant公式Box https://atlas.hashicorp.com/bento
  config.vm.box = "bento/centos-6.7"
  # VirtualBox独自設定
  config.vm.provider "virtualbox" do |vb|
    # メモリ
    vb.memory = "2048"
    # CPU
    vb.cpus = 2
    # サスペンド復帰時に時刻をホストと同期
    vb.customize ["guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 10000]
  end
  config.vm.provision "shell", inline: <<-EOT
    # タイムゾーン設定
    rm /etc/localtime
    ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
    # カーネルアップデート (Vagrantで共有フォルダマウントのため)
    yum update -y kernel
    # NTPサーバ設定
    yum -y install ntp
    cd /etc
    mv ntp.conf ntp.conf.org
    sed 's|\\(^server .*$\\)|#\\1|' ntp.conf.org >  ntp.conf
    echo                                         >> ntp.conf
    echo 'server ntp.nict.jp'                    >> ntp.conf
    echo 'server ntp1.jst.mfeed.ad.jp'           >> ntp.conf
    echo 'server ntp2.jst.mfeed.ad.jp'           >> ntp.conf
    echo 'server ntp3.jst.mfeed.ad.jp'           >> ntp.conf
    service ntpd start
    chkconfig ntpd on
  EOT
end

実行

コマンドプロンプトにて、上記のVagrantfileがあるフォルダに移動して以下を実行

Vagrant 2.0.0未満の場合

vagrant up & vagrant up & vagrant reload & vagrant reload

何度もupとかreloadとかやってるけど、これでやっと/vagrantにホストOSとの共有フォルダをマウントできるし時計も合う

Vagrant 2.0.1以上の場合

後述

ログイン

Tera TermでSSHでvagrant/vagrantでログイン(ポート番号はvagrantのログに2222とか2200とか表示されている)
rootのパスワードもvagrant

Vagrantバージョン

2.0.0

  1. vagrant upの途中で止まってしまう
  2. 共有ディレクトリがマウントできない
    • vagrant plugin uninstall vagrant-vbguest して解決
    • しかし2回めのvagrant upでやはりマウントできないので vagrant plugin install vagrant-vbguest して解決
  3. vagrant up 一発でOKになった

1.9.3以上

明示的にポートフォワード設定を行った場合に、The requested address is not valid in its context. - connect(2) for "0.0.0.0" port 2200 (Errno::EADDRNOTAVAIL)みたいなエラーになる
https://github.com/mitchellh/vagrant/issues/8395#issuecomment-288379271 に「host_ip: "127.0.0.1"」を書き加える対策あり
しかし、VirtualBoxが古い(4.2.18とか)場合、他マシンから接続できないことがあり、VM起動後にVirtualBoxManagerからホストIPを「0.0.0.0」に変更して解決した

1.3.1

  1. notepad(メモ帳)でVagrantfileを開いてkernel update前に以下を追記&BOM付きで保存(notepadなのでBOM付きに変わる)
    • yum install -y ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.6/x86_64/updates/security/kernel-devel-2.6.32-573.el6.x86_64.rpm
  2. vagrant up & vagrant provision & vagrant reload
    • 2台分書いてある場合はvagrant up digsv1 & vagrant up digsv2 & vagrant provision & vagrant reloadみたいにする

2210からのポートフォワード

明示的に22ポートへのポートフォワード設定を行った場合に、フォワード元が2210だとvagrant upがタイムアウトすることがあり、2203とか2211とかにずらすと解決した

2
2
0

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
2
2