Homesteadを使ってLaravel開発環境を作る

社内でも徐々にLaravelプロジェクトが勢力を増してきており、さすがに少しくらい知っておかないとまずいだろう、という状況に。
ということで、改めてPHP + Laravelを勉強してみることにした。

まずは開発環境を作らないと始まらないので、公式ページを参考にしながら導入していきます。

構築環境
作業PC環境は以下の通り。
・Windows10
VirtualBox インストール済み
Vagrant インストール済み
PHP + Composerインストール済み
・コマンドラインインターフェースとしてGitBashを使用

VagantBox追加
公式手順はこちら
https://laravel.com/docs/5.6/homestead#installation-and-setup

GitBashから以下のコマンドを実行

vagrant box add laravel/homestead


ダウンロードがクッソ遅いので、寝る前にやるのがよさそう・・・

が、しばらくしたら「OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054」というエラーが出てダウンロードがストップ・・・
最終的には、以下のコマンドでvagrant Boxのインストールを行いました。

vagrant box add laravel/homestead https://vagrantcloud.com/laravel/boxes/homestead/versions/6.0.0/providers/virtualbox.box

参考:https://laracasts.com/discuss/channels/laravel/openssl-ssl-read-ssl-error-syscall-errno-10054

HomeSteadファイル取得

設定ファイルをGitから取得します。
自分の環境では「C:\Projects\PHP\Laravel」にて作業を行いました。

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

ファイルが取得出来たら、フォルダ内に存在する「init.bat」を実行します。
実行前にカレントフォルダを作業フォルダに変更しておきます。
また、.batファイルなので、このコマンドはGitBashではなく、コマンドプロンプトから実行しました。

C:\Users\shetl>cd C:\Projects\PHP\Laravel\Homestead
C:\Projects\PHP\Laravel\Homestead>init.bat
        1 個のファイルをコピーしました。
        1 個のファイルをコピーしました。
        1 個のファイルをコピーしました。
Homestead initialized!

Homestead.yamlファイル変更
上記init.bat実行後、同フォルダ内に「Homestead.yaml」が作成されているので、このファイルをカスタマイズします。

自分の場合、「folders」の設定のみ以下のように変更し、以下はデフォルト設定としました。

folders:
#    - map: ~/code
    - map: C:/Projects/PHP/Laravel/Code
      to: /home/vagrant/code

hostsファイル変更
先ほどのHomestead.yamlで設定した、「192.168.10.10」というipと、「homestead.test」というホスト名を関連付けするため
Windowsのhostsファイルを編集します。
対象ファイルは「C:\Windows\System32\drivers\etc\hosts」となります。
下記設定を追加します

192.168.10.10     homestead.test

hostsVagrantBox起動
HomesteadのVgrantBoxを起動してみます。
Homesteadフォルダに移動し、以下のコマンドを実行

vagrant up

問題なければ、仮想マシンが起動します

仮想マシンを落とすときは

vagrant halt

で停止します。

Laravel/Installerのインストール
最初に書いときますが、Laravelインストーラーの導入は失敗しました!! Windows上で実行したのがダメだったのか・・・

次の手順で、laravelインストーラの設定に入りますが、かなりはまりました。
https://readouble.com/laravel/5.5/ja/installation.html

composer global require "laravel/installer"

コマンドを実行するとこんなエラーが

GitHubのSSL検証を無効にすることで対応しました。
https://qiita.com/TKR/items/5f23fe5a341e228cf9b5
それでもダメ―

php.iniの設定を見直してみました
https://qiita.com/amama-nagigi/items/09f2c6d6ca6ed19a89b5

一回消して、再実行

composer global remove "laravel/installer"
composer global require "laravel/installer"

これでもダメ・・・

結局どうしたかというと、Windows10をクリーンインストールしました!
どうやっても直らなかったよ・・・

Laravel/Installerのインストール
クリーンインストールしたら、あっさり入りました・・・

プロジェクト作成
公式の手順通りに行います。
https://laravel.com/docs/5.6/installation

laravel new blog

自分の環境では、以下のフォルダ構成になるようにインストールしました。
C:\Projects\PHP\Lalavel\blog

上記に合わせて、Homestead.hamlの設定も変更しました。
※変更箇所抜粋

folders:
    - map: C:\Projects\PHP\Lalavel\blog
      to: /home/vagrant/code

とりあえず以上
これでHomesteadを利用した開発環境の構築は完了です。
・vagrantは立ち上げたか
・hostsファイルは編集したか
・Homestead.yamlのフォルダ設定が正しいか
を確認し、ブラウザで以下にアクセスします。
http://homestead.test/

このような画面が出れば、ひとまず完了です

これでやっと環境ができたので、以下の本で本格的にLaravel勉強ができそうです。