はじめに
PHPのフレームワークlaravelを使ってみました。
ここ数年で急激に人気上昇しているようです。
詳しくは、Googleトレンドを見ていただければ分かるかと思います。
今回は、公式が提供しているHomesteadという環境を構築をしてみました。
Homesteadでは以下のソフトウェアがデフォルトで入っているそうです。(詳細ページ)
Ubuntu 18.04
Git
PHP 7.2
PHP 7.1
PHP 7.0
PHP 5.6
Nginx
Apache (オプション)
MySQL
MariaDB (オプション)
Sqlite3
PostgreSQL
Composer
Node (Yarn、Bower、Bower、Grunt、Gulpを含む)
Redis
Memcached
Beanstalkd
Mailhog
Elasticsearch (オプション)
ngrok
wp-cli
Zend Z-Ray
Go
Minio
色々入っていて、便利そうですね。
では始めます。
実行環境
- PCスペック
- OS : windows 10 Home
- CPU : corei7 4790
- GPU : GeForce GTX 1060 6GB
- RAM : 16GB
- ソフトウェアバージョン
- PHP : 7.2.6
- laravel : 5.6.26
- VirtualBox : 5.2.12
- Vagrant : 2.1.2
- Git fot Windows : 2.17.1
用意するもの
- 実行環境に記載のあるソフトウェア
- 公開鍵・秘密鍵
- ※この記事では、秘密鍵・公開鍵の生成方法は書いていないため
Homestead環境の構築
Laravelプロジェクト作成
最初にプロジェクトを作成します。
$ laravel new lara_app
VagrantでHomestead用boxを追加
# 仮想環境構築のための基盤(box)を作成
# 以下コマンドを実行後、どのツールを使用するかの選択肢が表示
# 今回はvirtualboxを選択(数字を入力)
$ vagrant box add laravel/homestead
GitでHomesteadのリポジトリをクローン
# Homesteadというディレクトリを作成し、その中にクローンしたものが入る
$ git clone https://github.com/laravel/homestead.git Homestead
# 作成したディレクトリに移動
$ cd Homestead
Homestead設定ファイル作成
「init.bat」をダブルクリック
init.batの中身
以下のコードが入力してあります。(日本語コメントは私が入れました)
@echo off
if ["%~1"]==["json"] (
copy /-y resources\Homestead.json Homestead.json
)
if ["%~1"]==[""] (
copy /-y resources\Homestead.yaml Homestead.yaml
)
# 指定したファイルをコピー
copy /-y resources\after.sh after.sh
copy /-y resources\aliases aliases
# 処理の最後にHomestead initialized!を表示
echo Homestead initialized!
Homestead設定ファイル編集
# 「Homestead.yaml」を開き、編集
# コマンドはvimにしたが、メモ帳で開いても問題ない
$ vim Homestead.yaml
Homestead.yamlの中身と編集内容
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/code
to: /home/vagrant/code
sites:
- map: homestead.test
to: /home/vagrant/code/public
databases:
- homestead
# blackfire:
# - id: foo
# token: bar
# client-id: foo
# client-token: bar
# ports:
# - send: 50000
# to: 5000
# - send: 7777
# to: 777
# protocol: udp
設定項目 | 説明 | 備考 |
---|---|---|
ip | 割り当てるIP | デフォルトOK |
memory | 割り当てるメモリ | デフォルトOK |
cpus | 割り当てるコア数 | デフォルトOK |
provider | 使用しているVM | 今回はVirtualBox |
authorize | SSH公開鍵のパス | デフォルトOK |
keys | SSH秘密鍵のパス | デフォルトOK |
folders | 共有フォルダ設定 | map : 共有元(windows上のプロジェクトのパス to : 共有先(仮想マシンのパス) デフォルトOK |
sites | 公開設定 | map : ホスト名 デフォルトOK to : 公開ルート デフォルトOK |
databases | データベース | デフォルトOK |
blackfire | blackfire設定 | デフォルトOK |
ports | ポート設定 | デフォルトOK |
ホストファイルの編集
hostsファイルにHomestead.yamlで設定したIPアドレスとホスト名を追記します。
hostsファイルは以下の場所に置いてあります。
C:\Windows\System32\drivers\etc\hosts
しかし編集しようとすると、権限がなく読み取り専用となってしまうため、
そのまま開くのではなく編集の仕方を変えましょう。
hostsファイルの編集の仕方
以下の手順に従ってhostsを開きましょう。
①メモ帳を右クリックし、「管理者として実行」で開く
②メモ帳内のメニューバー「ファイル」から「開く」をクリック
③ C:\Windows\System32\drivers\etc\hosts
を選択
他の開き方もあるので、これでダメな場合は、他の方法も試してみてください。
hostsファイルの編集内容
最終行に以下を追加
192.168.10.10 homestead.test
仮想マシン起動
$ vagrant up
ブラウザ確認
以下にアクセスし、Laravelの文字が表示されれば完了です。
感想
公式がboxを用意してくれて、簡単に環境構築できるので助かります。
環境構築が楽でも、フレームワークとして使いにくければ意味がないですが、
Laravelは評価が高く、人気のようなので期待して使ってみます。
ありがとうございました。