概要
Laravel HomesteadというLaravel公式の仮想マシンで、
Laravel開発環境を構築してみました。
ここではその構築手順を記載します。
このLaravel Homesteadでは必要なソフトウェアが仮想環境内に入っていて、
ローカルマシンにそれぞれインストールせずに環境構築を完了できます。
Laravel公式ページで推奨されているやり方です(2019/04/01当時)。
注意事項、留意点
- 基本的には公式ドキュメントを参考にしてます
- というよりほぼそれを見て構築しました。
- 他の仮想化ソフトウェアでもOKらしいです(VMWareなど)が、無料なのでVirtualBoxを使いました。
前提条件
- バージョン
- OS: MacOS 10.14.2
- VirtualBox: 6.0.4
- Vagrant: 2.2.4
- laravel: 5.8
- 更新日
- 2019/04/17
実際の手順
1. VirtualBoxのインストール(インストールしてない場合のみ)
-
VirtualBoxからダウンロードします
- お使いのOSのhostsを選んでクリックし、ダウンロードします
- ダウンロードされたdmgファイルをクリックします
- pkgファイルのアイコンが表示されるので、それをダブルクリックしします
- そのあとはインストール画面に則ってインストールします
- 「安全でないアプリケーション」等が出てインストールできない場合は、以下を確認してください
- 左上のアップルマーク →「システム環境設定」 →「セキュリティとプライバシー」
- 左下の鍵マークをクリックしてインストールの許可を行ってください
- 「安全でないアプリケーション」等が出てインストールできない場合は、以下を確認してください
- VirtualBoxがアプリケーションに表示されていればOKです
2. Vagrant のインストール(インストールしてない場合のみ)
-
Vagrantからダウンロードします
- お使いのOSを選んでクリックし、ダウンロードします
- ダウンロードされたdmgファイルをクリックします
- pkgファイルのアイコンが表示されるので、それをダブルクリックします
- そのあとはインストール画面に則ってインストールします(怒られたらVirtualBoxと同様に対応してください)
- ターミナルで
vagrant -v
を叩いて、バージョン情報が表示されればOKです(こちらはアプリケーションに出ません)
3. Homestead Vagrant Boxのインストール
- Laravel用のボックス(ベースとなるイメージ)であるHomestead Vagrant Boxを以下コマンドでインストールします
- これを叩くことで、複数の環境で laravel/homestead ボックスを呼び出せるようになります
vagrant box add laravel/homestead
- 途中provider を選択する箇所があるので、VirtualBoxを選択します
- 問題なくいけば成功です
- Vagrantのバージョンが古い場合に失敗する可能性があるらしいので、その場合はバージョンを確認してみてください
4. Homesteadのインストール
- Homestead をリポジトリからクローンします
git clone https://github.com/laravel/homestead.git ~/Homestead
- masterだと安定しない可能性があるため、バージョンタグがついたHomesteadをチェックアウトします
(私が見た時の最新バージョンはv8.2.0
でした)
cd ~/Homestead
git checkout v8.2.0
-
Homestead.yaml
設定ファイルを生成する用のバッシュコマンドを実行します
(init.sh
ファイルの中をみたらわかりますが、resourceディレクトリ内のyamlファイルをコピーしているだけです)
bash init.sh
5. Homesteadの設定
-
Homestead.yaml
内のprovider
をvirtualbox
に書き換えます
(デフォルトがvirtualbox
になっていたので書き換え不要でしたが、一応確認しましょう)
provider: virtualbox
-
Homestead.yaml
内のfolders
を書き換え、共有フォルダを設定します
(ここでは/laravel/environment_homestead/
ディレクトリを作って、この中のディレクトリ全てをHomestead環境と同期するようにします)
folders:
- map: ~/laravel/environment_homestead
to: /home/vagrant/code
type: "nfs"
6. Nginxの設定
-
Homestead.yaml
内のsites
を書き換え、Nginxを設定します
(ここではstartlaravel
という名前のlaravelプロジェクトをあとで作成することを前提としています)
sites:
- map: homestead.test
to: /home/vagrant/code/startlaravel/public
7. hostsファイルの書き換え
-
/etc/hosts
ファイルに以下を追加し、ローカルドメインへのリクエストをHomesteadに転送されるようにします
192.168.10.10 homestead.test
8. Vagrantの起動、ssh接続
- 以下コマンドでvagrantを起動します
vagrant up
- 以下コマンドでssh接続します
vagrant ssh
9. vagrant内でLaravelプロジェクトを作成
- 以下コマンドで
code
ディレクトリに移動して、laravelプロジェクトを作成します
(ここではstartlaravel
というプロジェクトを開始しますが、何でも構いません。ただし6で行ったNginxの設定と同じディレクトリルートにしましょう)
vagrant@homestead:~$ cd code
vagrant@homestead:~/code$ composer create-project --prefer-dist laravel/laravel startlaravel
10. サイトを開く
参照
以下のサイトを参考にしました。