Laravelの環境を最速で作ってみよう(5.5 LTS版で)


投稿に至った訳

SESで行った現場でスクラッチ開発だったのですが、『あ、Laravelで作りたいんだけど環境構築からよろしく』という話になり、そして一人で作る必要が出てきて必死に調べました。
そうしたら、わりと簡単に作れる方法を一筆書きでやれそうな雰囲気を感じたので、備忘録兼、別のところでも使えるように書き残そうと思いました(小並感)


この記事で役立てそうな人

  • 環境構築を1回以上経験している
  • 環境構築苦手
  • ドキュメントを読むとなぜか頭痛が痛い()状態になってしまう人
  • 毎回環境構築で1日も2日も掛けてしまう人 向けのサプリメントとして容量用法を正しくお使いください。

完成フロー

PHP 導入(7.2.*)

Composer 導入(最新版)

VirtualBox 導入(最新版)

Vagrant 導入(最新版)

Vagrant Box 導入(最新版)

Homestead 導入(最新版)

Laravel 導入(5.5)

Vagrant環境構築

Laravel環境構築完了


ついでにComposer requireを用いてtwbs/bootstrapも生成してみようかと思います。

PHPを導入する

正直面倒なのでMacの人はMAMP、Windowsの人はXamppをインストールしてください。
LaravelはPHPのバージョン依存があるため7.0以上、セキュリティサポート面も細かく考えているのであれば7.2以上を推奨します。
サポート周りの情報を取りまとめてくださった方がいらっしゃるのでこちらからご覧ください。
(@bezeklik 様、ありがとうございます。)
どちらも7.2.*のPHP.iniを持ってこれればyumやbrewで.pearを得たりしてもOKです。


Composerを導入する

Mac/Windows

以下をインストールしてやった方がはやいです。
https://getcomposer.org/download/

command
#Mac/Windows 共通
// 以下コマンド
composer

Compsoerのコマンドやらタイトルやらが流れ始めたら導入完了です。


Vagrantを導入する

以下URLから導入したら早いと思います。
https://www.vagrantup.com/downloads.html


Vagrant Boxを導入する

これを自分の立ち上げたいディレクトリで叩く

command
vagrant box add laravel/homestead

shellが走るとクエスチョンが発生するのでチョイスはVagrantのあるナンバーを叩いてください。


Homesteadを導入

自分が環境構築したい環境下で以下コマンド

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

Laravelを導入

ようやくここで本題のLaravelです。思ったより長い。

Homestead上にプロジェクトをそのまま落とす関係上、composerから
cd HomesteadでHomestead直下に入ってから以下コマンド

command
composer create-project --prefer-dist laravel/laravel useProjectName "5.5.*"

Laravelの必要なパッケージがインストールされるまで眺めましょう


お好きなエディタをインストールしてください(してあるならそれでOKです)

初学者はAtomなどおすすめします。(個人的オススメ)
最近だとIDEはPhpStormは非常におすすめです。
 ※有料なのでお財布とご検討ください。


書き換え

Homesteadを作成するためのファイルを作成します

command
// Mac / Linux...
bash init.sh

// Windows...
init.bat

Homestead直下にあるHomestead.yamlをエディタで開いてください。

いろいろと書いてありますが以下の場所を次のように変更ください


  • Windows
homestead.yaml
folders:
 - map: C:/Users/my_name_dir/Laravelのあるディレクトリまで/MyLaravel
 to: /home/vagrant/MyLaravelName ← 仮想環境上のディレクトリ

sites:
 - map: homestead.test ホスト名(あとでhostsに登録します)
 to: /home/vagrant/Code/Laravel/public
  • Mac
homestead.yaml
folders:
 - map: \Users\MyNameDir\Laravelのあるディレクトリまで\MyLaravelName
 to: /home/vagrant/MyLaravelName ← 仮想環境上のディレクトリ

sites:
 - map: homestead.test ホスト名(あとでhostsに登録します)
 to: /home/vagrant/Code/Laravel/public

秘密鍵を作成する

Vagrantで立ち上げる時は秘密鍵を参照する必要があるので作成します

秘密鍵用ディレクトリの作成

command
mkdir c:\Users\myNameDir\.ssh

Windowsの方

Windowsのcmdとpowershellには鍵を作成するコマンドが存在しないので、GitBashを導入する
https://gitforwindows.org/

ダウンロードができたらGitBashを起動してコマンドライン上で以下を叩く

command
ssh-keygen -t rsa -b 4096 -C "myMailAddress" -f ~/.ssh/id_rsa

あとは流れに沿ってパスフレーズを設定すれば完了です。

Mac

Macはterminal上で操作可能なのでそのまま以下コマンドで作成

command
ssh-keygen -t rsa -b 4096 -C "myMailAddress" -f ~/.ssh/id_rsa

あとは流れに沿ってパスフレーズを設定すれば完了です。


ここまでやってだいたいほとんどの導線が出来上がりました。
あとは Vagrant up ですべてを動かす準備ができます。


hostsにローカルIPを設定する

ローカルIPは Homestead.yaml に設定されてあります。
ipとドメインを並べてドメインでアクセスできるようにしましょう。

hosts
192.168.10.10 homestead.test 

お疲れさまでした。これでLaravelの環境構築は終了となります。
あとはドメインにアクセスすればLaravelの初期ページにいけるでしょう。


twbs/bootstrapを導入する

composerで構築したLaravelディレクトリの直下に入ってコマンドを叩きます

command
#特にバージョンを気にしないのであれば
compsoer require twbs/bootstrap

#何かしらの制約があってバージョンを指定する場合
composer require :4.2.1

あとがきと反省

一筆書きな感じで書きました。
この記事を随時更新していきます。
正直もう少し画像とかを差し込んで作りたいなとか思っているので、早い段階で更新する予定(希望的観測)
他にもエラーが出たらどうするんだよみたいなところもケースに考慮してない、すごくうまくいくパターンしかありませんのでNGパターンも追加したいなーと。

そもそもこれでエラーを吐いたことないからどうやってエラーを吐くんだろう

反省その1
・意味の分からんチェック漏れで大幅な行間を汲み取れになっていた
 →本当に申し訳ありません……寝ぼけてたんですかね。
 それとも案件先の謎の圧迫抜き打ちテストで精神を削られたからですかね