こんにちは、制作の奥田です。
最近、PHPのフレームワークとして人気急上昇中のLaravelを使って開発をしました。
最新版のLaravel5はまだまだドキュメントが少なく試行錯誤しながらではありますが、少しずつブログに書いていければいいなと思います。
Laravelはローカル開発環境としてHomestead(ホームステード)というVagrantboxを提供してくれているので今回はHomesteadを使ってローカル開発環境を構築してみたいと思います。
手順は大体ここに書いてあるとおりです。
Table of contents
- VirtualboxとVagrantのインストール
- Vagrant boxの追加
- Homestead CLIのインストール
- Homestead.yamlの編集
- Vagrant boxを起動する
- Laravelプロジェクトの作成
- 参考にさせていただいた記事
Laravel
Laravel は、MVCのWebアプリケーション開発用の無料・オープンソースのPHPで書かれたWebアプリケーションフレームワークである。LaravelはMITライセンスの下でリリースされており、そのソースコードはGitHubにホスティングされている。マイクロソフトの.NETの開発に関わっていたTaylor Otwell が開発した。
PHPフレームワークのに2013年12月の人気調査によると、Laravelは2014年における最も有望なPHPフレームワークの1つとして挙げられた。LaravelはPHP 5.3以上を対象とする新しいプロジェクトである。http://laravel.com/
VirtualboxとVagrantのインストール
まずは仮想環境としてVirtualboxとVagrantが必須なのでそれらをインストールします。
下記よりダウンロードしてインストールします。
Vagrant boxの追加
ターミナルを起動し、下記コマンドを実行します。
$ vagrant box add laravel/homestead
途中でプロバイダーは何を使うか聞かれるので 1 のVirtualboxを選択します。1 と入力しEnterを押します。
==> 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) virtualbox 2) vmware_desktop Enter your choice:1
するとダウンロードが開始されるのでしばらく待ちます。(15分ほどかかります)
==> box: Adding box 'laravel/homestead' (v0.3.0) for provider: virtualbox box: Downloading: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.3.0/providers/virtualbox.box ==> box: Successfully added box 'laravel/homestead' (v0.3.0) for 'virtualbox'!
Homestead CLIのインストール
公式ドキュメントではGitでcloneしていますが、Homesteadコマンドが使えるようなのでComposerを使ってインストールします。
Composerがない場合は以下のコマンドでインストールし、Composerを使えるようにします。
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer
Homestead CLIのインストール
composer global require "laravel/homestead=~2.0"
~/.composer/vendor/bin/homesteadが追加されるので、homesteadコマンドが使えるように ~/.composer/vendor/binにパスを通します。
$ PATH=~/.composer/vendor/bin:$PATH
起動時にもパスが通るように.bash_profileを作成し以下を記述しておきます。
$ vi ~/.bash_profile export PATH=~/.composer/vendor/bin:$PATH
Homestead.yamlの編集
以下を実行すると、Vagrantfileではなく ~/.homesteadにHomestead.yamlというYamlファイルが作成されるのでそこに設定を記述します。
homestead init
普通にエディターで開いてもいいですが以下のコマンドでHomestead.yamlをエディターで開くことができます。
homestead edit
--- 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 variables: - key: APP_ENV value: local
秘密鍵・公開鍵はなければ作成してください。(ssh-keygen)
foldersは共有ディレクトリの場所を指しています。(必要であれば任意で変更してください。)
mapはローカルの、toはVagrant側のディレクトリを指定します。
sitesはドキュメントルートの場所を指定ます。
Laravelというプロジェクトを作成した場合、ドキュメントルートはLaravel/publicになります。
Vagrant boxを起動する
まず共有ディレクトリを作成しておきます。
$ mkdir ~/Code
開発環境のアドレスをhomestead.appに指定したので、hostsファイルを編集します。
$ sudo vi /etc/hosts
以下を一番下に追記し保存します。
192.168.10.10 homestead.app
下記のコマンドでVagrant boxを起動します。
$ homestead up
これでhttp://homestead.appにアクセスすると、「No input file specified.」と表示されますが、Vagrant boxは正常に起動できています。
Laravelプロジェクトの作成
下記のコマンドでVagrantにssh接続できます。
$ homestead ssh
先ほどYamlで指定したとおり、ホームディレクトリにCodeディレクトリが作成されているのでそこに移動し、Larave5のプロジェクトを作成します。
$ cd ~/Code $ composer create-project laravel/laravel Laravel --prefer-dist
これでhttp://homestead.appにアクセスすると、以下の表示になり、Laravel5の開発環境の構築完了です。