でぐちやドットコム技術ブログ

でぐちやドットコムの技術系ブログです。

Mac+VagrantでLaravelの開発環境を構築する

PHPでサイトを作りたく、いままではPHPフレームワークとしてFuelPHPを使用していくつか簡単なサイトを作りましたが、FuelPHPってあまり流行っていないみたいなのでLaravelを使ってみることにしました。

まずは、開発環境の構築を行うのですがMac + Vagrantで構築したのでそのメモです。

基本的には、以下の公式(?)ページの手順にしたがって構築していきます。 Laravel Homestead

boxの追加

まずはVagrantのboxの追加です。

$ vagrant box add laravel/homestead

どの仮想環境か聞かれるので、virtualboxを選択します。

This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) hyperv
2) parallels
3) virtualbox
4) vmware_desktop

Enter your choice: 3

結構時間がかかりますので気長に待ちます。私の環境では15〜20分程度かかりました。

Hometeadのインストール

ホームディレクトリにHomesteadをインストールします。

$ cd ~
$ git clone https://github.com/laravel/homestead.git Homestead

githubのリリースページを確認し、最新の安定版をチェックアウトします。(今回はv7.0.1が最新)

$ cd Homestead
$ git checkout v7.0.1

初期化用のスクリプトを実行します。Homestead.yamlが作成されます。(古い記事だと、.homesteadと言うフォルダが作成されることになっていて少し変わっていますので注意です。)

bash init.sh

Homesteadの設定

作成されたHomestead.yamlを編集します。

foldersの部分を編集します。

map:のところにローカル環境のプロジェクトのパスを設定します。今回は~/Projects/laravelとしました。

sites:のto:のパスも変更しています。

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

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Projects/laravel
      to: /home/vagrant/code

sites:
    - map: homestead.test
      to: /home/vagrant/code/laravel/public

databases:
    - homestead

Hostsファイルの設定

/etc/hostsファイルを編集して以下の設定を追加します。

192.168.10.10   homestead.test

この設定でhttp://homestead.testにアクセスして動作確認できるようになります。

以上でHomesteadの設定は完了です。

プロジェクトのインストール

vagrant upで起動して、vagrant sshでアクセスしてプロジェクトを作成していきます。初回はvagrant upで時間かかります。

$ vagrant up
$ vagrant ssh

/home/vagrant/code/と言うディレクトリができているので、そこにcomposerでインストールします。

$ cd /home/vagrant/code
$ composer create-project laravel/laravel --prefer-dist

以上で完了です。 ローカルのwebブラウザでhttp://homestead.testにアクセスしてページが表示されるはずです。

Laravelのバージョン確認

インストールしたLaravelのバージョンを確認するには、プロジェクトをインストールしたディレクトリに移動して、php artisan -versionコマンドで確認できます。

$ ~/code$ cd laravel/
$ ~/code/laravel$ php artisan -version
Laravel Framework 5.5.28