今回は、Laravelの環境構築にHomesteadを利用してみます。
事前にインストールが必要なVagrant、Git、VirtualBoxはインストール済みのものとします。
インストールに利用するコマンドを以下の順に実行していきます。
# まず、vagrantにLaravel homestead boxを追加する。
> vagrant box add laravel/homestead
# 次に、HomesteadフォルダをCドライブに作成し、Gitで以下のコマンドを実行し、Homesteadをcloneする。
> git clone https://github.com/laravel/homestead.git Homestead
# 先ほど作成したHomesteadフォルダに移動し、初期化する。
> bash init.sh
# SSH接続用のキーを作成する。
# 今回は一旦デフォルトで保存しておく。
ssh-keygen -t rsa -C <メールアドレス>
次に、Homesteadフォルダに存在する、「Homestead.yml」を編集する。
いったん編集するのは、「folders」と、「sites」。
「sites」については、作成したLaravelアプリケーションのpublicフォルダになると思います。
folders:
- map: <ローカルのマッピング対象フォルダパス>
to: <ホスト側のマッピング先フォルダパス>
sites:
- map:
to: /home/vagrant/code/public(ホスト側のマッピング先フォルダパス)
次に、hostsに先ほどsitesに定義した部分を設定しておく。
IPアドレスは、「Homestead.yml」の「ip」に定義されている。
192.168.10.10 sitesで設定したドメイン名
ここから、vagrantを起動していく。
# 作成したHomesteadフォルダに移動し、vagrantを起動する。
vagrant up
# vagrantにssh接続する。
vagrant ssh
# Homestead.ymlに定義したフォルダまで移動し、Laravelのプロジェクトを作成する。
composer create-project laravel/laravel <アプリケーション名> --prefer-dist
# 「sites」等を必要に応じて修正し、vagrantをリロードする(exitで接続を抜けてから実行する)。
vagrant reload --provision
# 作成したアプリケーションフォルダに移動し、サーバーを起動する。
php artisan serve --host 0.0.0.0
ここで、「http://hostsに設定したドメイン名:8000」にアクセスし、Laravel画面が表示されればOK。
nginxを利用する場合、「php artisan serve」ではなく、以下のコマンドを実行する。
# webpackに纏める。
yarn install
yarn upgrade
yarn run dev
# nginxを起動する。
sudo nginx
ここで、「http://hostsに設定したドメイン名:80」にアクセスし、Laravel画面が表示されればOK。