Laravelは、PHPのWebアプリケーションフレームワークです。
利便性の高さから、世界で最も利用(日本では2位)されているPHPフレームワークです。
今回は、Laravelを使った開発に必要な環境(DB、Webサーバー、PHPなど)を揃えてくれるHomesteadについて説明します。
事前準備
Homesteadの使用にあたり、以下のソフトウェアをインストールする必要があります。
インストール手順については、基本的にインストーラーに従って進めれば問題ないのでここでは割愛します。
Boxの作成とHomesteadの準備
Homestead Vagrant Boxのインストール
HomesteadのBoxを追加します。
1 |
C:\vagrant>vagrant box add laravel/homestead |
途中でプロバイダー(仮想化ツールのフロントエンドとなるソフトウェア)を聞かれます。
ここではvirtualboxを使用しているので「2」を選択します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
==> box: Loading metadata for box 'laravel/homestead' box: URL: https://atlas.hashicorp.com/laravel/homestead 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) parallels 2) virtualbox 3) vmware_desktop Enter your choice: 2 ==> box: Adding box 'laravel/homestead' (v1.0.1) for provider: virtualbox box: Downloading: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/1.0.1/providers/virtualbox.box box: Progress: 100% (Rate: 1842k/s, Estimated time remaining: --:--:--) ==> box: Successfully added box 'laravel/homestead' (v1.0.1) for 'virtualbox'! |
Homesteadのインストール
gitリポジトリをcloneし、Homesteadをインストールします。
1 |
C:\vagrant>git clone https://github.com/laravel/homestead.git Homestead |
HomesteadリポジトリをCloneできたら、「Homestead.yaml」設定ファイルを生成するために、init.batを実行します。
1 2 3 4 5 6 |
C:\vagrant>cd Homestead C:\vagrant\Homestead>init.bat 1 個のファイルをコピーしました。 1 個のファイルをコピーしました。 1 個のファイルをコピーしました。 Homestead initialized! |
Homestead設定
init.batの実行により作成された~/.homestead/Homestead.yamlを編集します。
参考:デフォルトのHomestead.yaml設定値
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
--- 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.app to: /home/vagrant/Code/Laravel/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 |
プロバイダの設定
プロバイダとしてvirtualbox以外を使用している場合は、以下の設定でプロバイダを変更します。
1 |
provider: [プロバイダ名(virtualbox,vmware_fusion,vmware_workstation)] |
鍵の設定
HomesteadにSSHでアクセスする際の鍵情報を定義します。
1 2 3 4 5 6 |
# 公開鍵の場所 authorize: ~/.ssh/id_rsa.pub # 秘密鍵の場所 keys: - ~/.ssh/id_rsa |
同期用フォルダの設定
ローカルとvagrant上でファイルをやりとりするための同期用フォルダを設定します。
mapがローカル、toがVagrant上のパスになります。
1 2 3 |
folders: - map: /vagrant/Homestead/Code to: /home/vagrant/Code |
公開フォルダの設定
URLと公開フォルダのマッピングを行います。
下記の設定の場合、http://homestead.app にアクセスすると/home/vagrant/Code/laravel/public配下がdocumentrootになります。
1 2 3 |
sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public |
hostsファイルの設定
ブラウザでhttp://homestead.app にアクセスした際にページが閲覧できるよう、hostsファイルの設定を行います。
Windows環境ではhostsファイルはC:\Windows\System32\drivers\etc\hostsに存在します。
hostsファイルに以下の行を追記します。
ここで記述するIPアドレス、ホスト名はHomestead.yamlで設定している値と合わせてください。
1 |
192.168.10.10 homestead.app |
vagrant up
ここまでの作業で、Homesteadの環境設定が出来上がったので、実際にサーバーを立ち上げてみます。
1 |
C:\vagrant\Homestead>vagrant up |
ステータスが「running」となり、サーバーが立ち上がっていることが確認できました。
1 2 3 4 5 6 7 8 9 10 11 |
C:\vagrant\Homestead>vagrant status Current machine states: homestead-7 running (virtualbox) The VM is running. To stop this VM, you can run `vagrant halt` to shut it down forcefully, or you can run `vagrant suspend` to simply suspend the virtual machine. In either case, to restart it again, simply run `vagrant up`. C:\vagrant\Homestead> |
仮想環境側の設定
仮想環境が立ち上がったので、ターミナルソフトやSSHコマンドで仮想環境側にアクセスします。
ユーザー/パスワードはvagrant/vagrantでアクセス可能です。
Laravel Projectの作成
以下のコマンドでLaravelプロジェクトを作成します。
1 2 |
cd Code/ composer create-project laravel/laravel Laravel |
動作確認
http://homestead.app にアクセスし、ページが表示されることを確認します。