投稿に至った訳
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/
#Mac/Windows 共通
// 以下コマンド
composer
Compsoerのコマンドやらタイトルやらが流れ始めたら導入完了です。
Vagrantを導入する
以下URLから導入したら早いと思います。
https://www.vagrantup.com/downloads.html
Vagrant Boxを導入する
これを自分の立ち上げたいディレクトリで叩く
vagrant box add laravel/homestead
shellが走るとクエスチョンが発生するのでチョイスはVagrant
のあるナンバーを叩いてください。
Homesteadを導入
自分が環境構築したい環境下で以下コマンド
git clone https://github.com/laravel/homestead.git Homestead
Laravelを導入
ようやくここで本題のLaravelです。思ったより長い。
Homestead上にプロジェクトをそのまま落とす関係上、composerから
cd Homestead
でHomestead直下に入ってから以下コマンド
composer create-project --prefer-dist laravel/laravel useProjectName "5.5.*"
Laravelの必要なパッケージがインストールされるまで眺めましょう
お好きなエディタをインストールしてください(してあるならそれでOKです)
初学者はAtomなどおすすめします。(個人的オススメ)
最近だとIDEはPhpStormは非常におすすめです。
※有料なのでお財布とご検討ください。
書き換え
Homesteadを作成するためのファイルを作成します
// Mac / Linux...
bash init.sh
// Windows...
init.bat
Homestead直下にあるHomestead.yaml
をエディタで開いてください。
いろいろと書いてありますが以下の場所を次のように変更ください
- Windows
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
folders:
- map: \Users\MyNameDir\Laravelのあるディレクトリまで\MyLaravelName
to: /home/vagrant/MyLaravelName ← 仮想環境上のディレクトリ
sites:
- map: homestead.test ホスト名(あとでhostsに登録します)
to: /home/vagrant/Code/Laravel/public
秘密鍵を作成する
Vagrantで立ち上げる時は秘密鍵を参照する必要があるので作成します
秘密鍵用ディレクトリの作成
mkdir c:\Users\myNameDir\.ssh
Windowsの方
Windowsのcmdとpowershellには鍵を作成するコマンドが存在しないので、GitBashを導入する
https://gitforwindows.org/
ダウンロードができたらGitBashを起動してコマンドライン上で以下を叩く
ssh-keygen -t rsa -b 4096 -C "myMailAddress" -f ~/.ssh/id_rsa
あとは流れに沿ってパスフレーズを設定すれば完了です。
Mac
Macはterminal上で操作可能なのでそのまま以下コマンドで作成
ssh-keygen -t rsa -b 4096 -C "myMailAddress" -f ~/.ssh/id_rsa
あとは流れに沿ってパスフレーズを設定すれば完了です。
ここまでやってだいたいほとんどの導線が出来上がりました。
あとは Vagrant up
ですべてを動かす準備ができます。
hostsにローカルIPを設定する
ローカルIPは Homestead.yaml
に設定されてあります。
ipとドメインを並べてドメインでアクセスできるようにしましょう。
192.168.10.10 homestead.test
お疲れさまでした。これでLaravelの環境構築は終了となります。
あとはドメインにアクセスすればLaravelの初期ページにいけるでしょう。
twbs/bootstrapを導入する
composerで構築したLaravelディレクトリの直下に入ってコマンドを叩きます
#特にバージョンを気にしないのであれば
compsoer require twbs/bootstrap
#何かしらの制約があってバージョンを指定する場合
composer require :4.2.1
あとがきと反省
一筆書きな感じで書きました。
この記事を随時更新していきます。
正直もう少し画像とかを差し込んで作りたいなとか思っているので、早い段階で更新する予定(希望的観測)
他にもエラーが出たらどうするんだよみたいなところもケースに考慮してない、すごくうまくいくパターンしかありませんのでNGパターンも追加したいなーと。
そもそもこれでエラーを吐いたことないからどうやってエラーを吐くんだろう
反省その1
・意味の分からんチェック漏れで大幅な行間を汲み取れになっていた
→本当に申し訳ありません……寝ぼけてたんですかね。
それとも案件先の謎の圧迫抜き打ちテストで精神を削られたからですかね