Laravelを利用した開発をするにあたり、ローカル環境としてはHomesteadを利用することが推奨されています。
利点
Laravelを利用したPHP開発をするにあたって必要なものがすべてまとまっている。
→いちいちインストール・設定をする必要が無い。
具体的には以下のようなソフトウェアが含まれている。
- Nginx
- PHP 5.6
- MySQL
- Redis
- Memcached
- Beanstalk
インストール方法
事前にインストールが必要なソフトウェア
1. homesteadの取得
1 2 3 4 |
<span class="pln">$ vagrant box add laravel</span><span class="pun">/</span><span class="pln">homestead $ mkdir ~/Homestead $ cd ~ $ <span class="pln">git clone https</span><span class="pun">:</span><span class="com">//github.com/laravel/homestead.git Homestead</span> </span> |
(このインストール方法からわかるように、homesteadはlaravel開発用に作成されたVargrantのboxです。)
2. 各種設定
~/Homestead/Homestead.yamlを修正します。
SSHの設定(authorize, keys)
authorize に公開鍵の場所を, keysに秘密鍵の場所を指定する。(Linux,Mac であればデフォルトでOK)
SSH Keyが無い場合は作成する
Linux, Mac の場合
1 |
<span class="pln">ssh</span><span class="pun">-</span><span class="pln">keygen </span><span class="pun">-</span><span class="pln">t rsa </span><span class="pun">-</span><span class="pln">C </span><span class="str">"your@email.com"</span> |
Windowsの場合
Gitをインストールし、Git Bashを導入した上で、Linux, Mac の場合に記載したコマンドを実行する。
作成したコードの置き場所の設定(folders)
folders で開発したコードをローカル端末のどこに置き(map)、それを仮想サーバのどこにマッピングするのか(to)設定を行う。
仮想サーバ上の場所(to)は特に指定する必要がない限りデフォルトでOK。
ローカル(map)も特に変更する必要は無いが、マッピング元となるフォルダ(Code)が無い場合は作成する。
仮想サーバへのアクセスに関する設定(sites)
ローカル端末でアクセスする際のアドレス(map)とそのアドレスを入力した際にアクセスする仮想サーバのパス(to)を設定する。
mapに記載の値は、hostsファイルへ追加する必要が有る。
hostsファイルの位置は、Mac,Linuxの場合、/etc/hosts
Windowsの場合、C:\Windows\System32\drivers\etc\hosts
追加する行は以下のようなイメージ
1 |
<span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><span class="pln"> homestead</span><span class="pun">.</span><span class="pln">app</span> |
3. 仮想サーバの立ち上げ
~/Homestead/に移動し、以下のコマンドを実行する。
1 |
$ vagrant up |
これで、sitesに追加した名称 + :8000でブラウザを使ってアクセスすることが出来るようになります。
デフォルトのhomestead.appの場合、以下のURLになります。
http://homestead.app:8000
[tip] アクセスしても正常に表示されない場合
no input file specified とだけ表示される場合は、以下のコマンドを実行することで正常に表示できる可能性があります。
1 |
$ vagrant provision |
基本的な使い方は以上ですが、詳細は以下のサイトに記載があります。
- Homesteadの公式サイト
- VirtualBox(32bitのハードウェアを仮想化環境として提供する)
- Vargrant(VirtualBox等の上位レイヤーで動き、各種ソフトウェアがインストールされた環境を提供する)