猫でもわかるWeb開発・プログラミング

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

Vagrantを使ってPHP Laravel開発(PHP 7.3, Laravel 5.8 macOS)

f:id:yoshiki_utakata:20181004212834j:plain

はじめに

PHPのWebフレームワークといえばLaravelである。今PHPでWebアプリケーションを開発するならLaravelを使っておけば間違い無い。

LaravelにはHomesteadという開発環境が用意されていて、これを使えばすぐにWebアプリを作成できる。

環境

今回はMacで行うが、Laravel公式ドキュメントを読んで進めればWindowsでも問題なく開発ができる。

  • PHP 7.3
  • Laravel 5.8
  • macOS High Sierra

Laravelプロジェクトの作成

基本的にこちらのドキュメントどおりに進めればよい。

readouble.com

僕のPCにはPHPとcomposer、laravelコマンドは導入済みだったので今回は割愛する。

まずは Laravel new でアプリケーションを新規作成する。

$ ~/.composer/vendor/bin/laravel new lol-personal-data
Crafting application...

(中略。ライブラリのインストールなどが挟まる)

Application ready! Build something amazing.

アプリケーションの動作確認をしてみる。

$ cd lol-personal-data
$ php artisan serve

動いた。

f:id:yoshiki_utakata:20190503232334p:plain

initial commit する。

git init
git add .
git commit -m "initial commit"

Homestead上で動かす

以下のドキュメントを参考に進める。

readouble.com

Virutal Box と Vagrant はインストール済みの前提で進める。

Homesteadの設定をする。

git clone https://github.com/laravel/homestead.git Homestead
cd Homestead
sh init.sh

Homestead.yml をいい感じに設定する。

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ../lol-personal-data
      to: /home/vagrant/code

sites:
    - map: lol-personal-data.local
      to: /home/vagrant/code/public

databases:
    - homestead

Homesteadを起動する。

vagrant up

コードの同期が正しく動作しているか確認する。

vagrant@homestead:~$ ls

code
vagrant@homestead:~$ cd code/

vagrant@homestead:~/code$ ls
app      bootstrap      composer.lock  database      phpunit.xml  resources  server.php  tests   webpack.mix.js
artisan  composer.json  config         package.json  public       routes     storage     vendor  yarn.lock

問題なさそう。 Homestead.yml の内容に対応させて以下を /etc/hosts に追記し、

192.168.10.10 lol-personal-data.local

アクセス: http://lol-personal-data.local/

f:id:yoshiki_utakata:20190504092547p:plain

問題なく動いた。

今日はここまで。

既存のプロジェクトをgit cloneしてHomesteadで動かす場合

既存プロジェクトをgit cloneしてからHomesteadを動かす場合、 composer install などを叩く必要がある。HomesteadのVagrantならcomposerもyarnもインストールされているので、以下の手順を行えば良い。

vagrant ssh
cd code
composer install
yarn install --no-bin-links
cp .env.example .env 
php artisan key:generate