読者です 読者をやめる 読者になる 読者になる

Laravel homesteadで最初のVagrant upが止まる

What?

$ vagrant up
Bringing machine 'homestead-7' up with 'virtualbox' provider...
==> homestead-7: Checking if box 'laravel/homestead' is up to date...
==> homestead-7: Clearing any previously set forwarded ports...
==> homestead-7: Clearing any previously set network interfaces...
==> homestead-7: Preparing network interfaces based on configuration...
    homestead-7: Adapter 1: nat
    homestead-7: Adapter 2: hostonly
==> homestead-7: Forwarding ports...
    homestead-7: 80 (guest) => 8000 (host) (adapter 1)
    homestead-7: 443 (guest) => 44300 (host) (adapter 1)
    homestead-7: 3306 (guest) => 33060 (host) (adapter 1)
    homestead-7: 5432 (guest) => 54320 (host) (adapter 1)
    homestead-7: 27017 (guest) => 27017 (host) (adapter 1)
    homestead-7: 22 (guest) => 2222 (host) (adapter 1)
==> homestead-7: Running 'pre-boot' VM customizations...
==> homestead-7: Booting VM...
==> homestead-7: Waiting for machine to boot. This may take a few minutes...
    homestead-7: SSH address: 127.0.0.1:2222
    homestead-7: SSH username: vagrant
    homestead-7: SSH auth method: private key
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
  • ゲストPCをVirtualbox GUIから直接コンソールをShowすると、以下で止まっている
A start job is running for raise network interfaces (5 mins 8 sec)

Why?

  • VirtualboxNetwork > Adapter 1(NAT) > Advanced > Cable Connected のチェックが外れていただけだった。。

Solution?

  • VirtualboxNetwork > Adapter 1(NAT) > Advanced > Cable Connected のチェックを入れて、再度vagrant up

  • もし再度vagrant upして止まったら一度destroyしてから、再度up

  • 判別手順

    • Vagrantではエラーが出ずに止まる
      • VirtualboxGUIからShowしてコンソールを確認
        • A start job is running for raise network interfaces ネットワークの何かを延々と待っているっぽい
    • Virtualboxにそもそも普通にssh接続できるのか
    • Virtualboxのネットワーク設定がおかしいのか
      • NATとHost-only Adapterは設定されてる?
        • されてる
      • Port Forwardingは設定されてる?
        • ssh Host 2222 -> Guest 22 に設定されてる
      • Virtualbox上でネットワーク設定で通常と違うところは?
        • Cable Connectedが。。。チェックが外れてる。。。

無駄に頑張ったこと

  • (GUIから見る前)Virtualboxが立ち上がる前に死んだと思った
    • VirtualboxGUIから入ってShowすると普通に生きてた
  • ssh認証設定が間違っていると思っていた
    • ~/.homestead/Homestead.yamlssh keyの所在を確認したが、問題ない
    • そもそもauthorisationエラーが出てない
  • Hostsの設定が間違っていると思っていた
    • ~/.homestead/Homestead.yamlのIP設定がおかしいと思った
      • そもそも立ち上げる前なので関係ない
      • ここが間違っているとIPorドメインでアクセスしようとしたときに死ぬはず
  • Vagrant, Virtualbox のバージョンが古いと思った
    • バージョンが古ければエラーが出るはずだけど、一応念を入れて最新にした