LoginSignup
0
0

More than 3 years have passed since last update.

Laravel HomesteadでVagrant SSHがなかなかできなかった話

Last updated at Posted at 2020-02-26

Railsを今までずっとやっていましたが、Laravelも学び始めた時にまず環境構築からだよなぁと思い、Qiita内の記事を参考にしながらComposerオンリーで作ってみたり、Homesteadを使ってみたりとしておりましたが、Homesteadで一日沼にハマってしまったので、こちらに備忘録的に書いておきたいと思います。
皆様の参考になれば幸いです。

とっても参照してお世話になった記事は 「こちら」からどうぞ!

バージョン情報

PC:Windows10 home 1903
Vagrant 2.2.7
Virtual Box 6.1.2
Composer 1.9.3
Laravel 6.15.1

Vagrant & Virtual Box

上記各々検索して出てきた公式サイトにてダウンロード可能です。

Homesatead

こちらでざっと環境開発に必要なプロセスを載せていきます。
1.ホームディレクトリにて

vagrant box add laravel/homestead

と入力してHomestead専用のVagrant Boxをインストールします。専用のVagrantfileも生成されます。
virtual Boxの番号を聞かれたら3でいいと思います。※この処理に時間がかかります。

2.ユーザーフォルダ直下やCフォルダ直下、デスクトップなどで任意の作業用フォルダを作ります。

3.作業用フォルダ内で

git clone https://github.com/laravel/homestead.git Homestead

と入力しHomesteadを召喚します。

4.Homeasteadフォルダもできるので、移動して

bash init.sh

と入力してHomeasteadの初期化を行います(これをやらないと不具合がでるらしい)Homeastead initialized等の文言が出てきたらOK

5.もしSSH鍵を生成していなかったら、

ssh-keygen

で作っておきましょう。エクスプローラーのユーザ/.ssh内にid_rsaとid_rsa.pubがあればできています。コマンドで

ls -la .ssh

とかでも見ることができます。

6.Homeasteadディレクトリに移動して、

vim homestead.yaml

で下記の用な感じに編集します。

--
ip: "192.168.10.10" #任意のIPアドレス
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/app #任意の作業用フォルダ
      to: /home/vagrant/Code

sites:
    - map: homestead.test #任意のホスト名
      to: /home/vagrant/Code/Laravel/public #Laravelは作成するプロジェクト名、何でも良い

databases:
    - homestead

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

7.vagrantを

vagrant up --provision #provision入れると不具合が起きにくいかと

で起動しましょう。

The specified host network collides with a non-hostonly network!
This will cause your specified IP to be inaccessible. Please change
the IP or name of your host only network so that it no longer matches that of
a bridged or non-hostonly network.

と出てきた場合は、Windows/System32/drivers/etc/hostsを管理者権限のあるエディタで開き、
ipと任意のホスト名を入力してあげましょう。

8.以上が完了したら、

vagrant ssh

を入力することでSSH接続が完了します。vagrant@homesteadというディレクトリ名に変わってると思います。

cd code

composer create-project laravel/laravel --prefer-dist ディレクトリ名 #この処理に時間がかかります

とすることで編集するプロジェクトが立ち上がり、編集が可能になります。
ちゃんとサーバーに接続できてるか確認するために、ipアドレスをブラウザに入力してみましょう。

あれ????できない????

Vagrant SSHができなかった・・・

何回やってもSSH接続ができない!そこで周りの猛者にきいてみたところ、
.ssh/configってなんやこれ?邪魔っぽくね?
というふうに見解をもらったので、すでに生成されているSSH鍵と一緒に右クリック!!!!
新しく鍵を作り直すと、
vagrant ssh
でやっと起動できました~!

image.png

まとめ

Homesteadを利用した環境構築において、
SSHまでやろうとしてもうまく行かない場合は、考えられる原因は
・Windows/System32/drivers/etc/hosts
・Homestead.yaml
・SSH鍵とその仲間.ssh/configファイル
です。ここに入力漏れがないかをみてみましょう。

ありがとうございました。

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