WindowsでLaravel環境構築(3)(終了)

00Laravelの環境構築を行います。
前回は、仮想環境に必要な Virtual Box、Vagrantをインストールしました。
今回はLaravelをインストールします。
さくっと進めましょう。

Laravelのインストール

インストールするにあたって、2つほど注意点があります。
・Laravelはウェブサイトからインストーラをダウンロードし・・・という形ではなく、
 コマンドプロンプトからダウンロードします。
・Laravelをインストールする場合、事前にComposerをインストールする必要があります。("WindowsでLaravel環境構築(1)"でダウンロード済み)

では、始めましょう。
コマンドプロンプトを起動し、
「composer global require "laravel/installer"」と入力します。
f:id:mssblog:20160525112624j:plain
入力すると、ComposerがLaravelを探し始めます。
多少時間がかかるので不安になりますが、こんな感じでインストールを行います。
これで、インストールができました。


次に、composer内フォルダにパスを通します。
「コントロールパネル」>「システムとセキュリティ」>「システム」>「(左のところから)システムの詳細設定」でシステムのプロパティを起動。
「詳細設定」タブ>「環境変数」ボタン>「システム環境変数」内の「Path」をクリックして編集します。
Composer>vendorのbinフォルダをPathに指定します。
windows10の場合、アドレスは
C:\Users\<ユーザー名>\AppData\Roaming\Composer\vendor\bin
となります。

Larabelプロジェクトの作成

さて、laravelを作る準備は整いました。
laravelプロジェクトを作成しましょう。
laravelプロジェクトは以下の命令で作成できます。
$ laravel new (プロジェクト名)
ただし、laravelはPHPを使用するので、
PHPが使用できなければ打ち込んだものを確認できません。
"WindowsでLaravel環境構築(1)"で、PHPが実行できる「XAMPP」をインストールしているので、これを利用しましょう。
f:id:mssblog:20160525114802j:plain
「XAMPP」フォルダのうち、phpファイルは「htdocs」内に入れます。
f:id:mssblog:20160525114802j:plain
ここにLaravelプロジェクトを作りましょう。

htdocs内で右クリックし、GitBash Hereをクリックします。
(GitBashをダウンロードしていない場合でも、
 コマンドプロンプトでこのディレクトリに移動すれば同様の処理が可能です。)
f:id:mssblog:20160525115241j:plain

$ laravel new (プロジェクト名)
を入力。
f:id:mssblog:20160525115744j:plain
laravelの作成が始まります。
結構時間がかかるので、気長に待ちましょう。

f:id:mssblog:20160525115823j:plain
作成が終了しました。
「htdocs」内に今作ったファイルが増えているのを確認してください。

これで、Laravelプロジェクトを作成することができました。
では表示できているか確認しましょう。
xampp-control.exeをダブルクリックしてXAMPPを起動。
Apache」「MySQL」をSTARTします。
f:id:mssblog:20160525130246j:plain
次にブラウザを起動し、URLに
http://localhost/<作ったファイル名>
と入力し、エンター。

f:id:mssblog:20160525130620j:plain
このような画面が表示されれば、ひとまず読み込みは成功です。
この中の「public」をクリックしてみましょう。
f:id:mssblog:20160525130903j:plain
こんな画面が表示されれば、Laravelプロジェクトが正常に動作できています。



 他にも以下の方法で表示することができます。
  作成したファイルフォルダに入る。
  「server.php」ファイルがあるフォルダで右クリック>GitBashを起動
  php artisan serve
  と入力し、出力されたURLをブラウザに入力。
 この方法で確認してもOKです。
 終了する場合、GitBashウィンドウで「ctrl」+「c」を押します。

作成した環境を仮想環境に反映

作成したLaravelプロジェクトを仮想環境でも使えるようにします。

コマンドプロンプト
vagrant cox add laravel/homestead
と入力します。
f:id:mssblog:20160525132524j:plain
結構時間がかかりますが、以上のような表記が出ます。
VirtualBoxを利用するので「1」と入力してエンター。

処理が終わったら、Homesteadリポジトリを追加します。
Homesteadリポジトリは、仮想環境の作成に必要なファイルをまとめているものです。
早速githubを使ってダウンロードしましょう。
コマンドプロンプトで以下の入力を行います。
git clone https://github.com/laravel/homestead.git Homestead


次に、「Homestead」フォルダ内でGitBashを起動し
「init.sh」を実行します。
bash init.sh
これによってHomestead.yamlファイルが作成されます。
場所は「Homestead」>「src」>「stubs」に作成されています。


参考:
Laravel Homestead 5.0.0 Laravel



公開鍵と暗号鍵を設定

仮想環境への接続には、公開鍵なるものの設定が必要です。
まず、公開鍵を作成するところからはじめましょう。

 1.公開鍵の作成場所である「.ssh」フォルダに移動します。
  windowsでのアドレスは以下の通りです。
  C:\Users\<ユーザー名>\.ssh


 2.次に、「.ssh」フォルダ内で右クリック > GitBash Here を選択し
  以下のコマンドを入力します。
  ssh-keygen

   このコマンドによって、2つのファイルができます。
   id_rsa:(秘密鍵
   id_rsa.pub(公開鍵)
   この鍵を使って仮想環境に接続します。


 3.では、鍵を仮想環境で使うように設定しましょう。
  「Homestead.yaml」ファイルを書き換えます。
  このファイルの場所は、特に指定していなければ、以下の通りです。
  C:\Users\<ユーザー名>\.homestead

  「Homestead.yaml」ファイルを開き、以下の部分を書き直します。
   authorize
    公開鍵のアドレス (例 ~/.ssh/id_rsa.pub)
   keys
    暗号鍵のアドレス (例 ~/.ssh/id_rsa)

   folders
    - map:元にしたいフォルダのアドレス(例 C:/xampp/htdocs/LaravelTest)
    to:仮想フォルダでのアドレス (例 /home/vagrant/Code)

   sites
    - map: ブラウザでのアドレス (例 map: homestead.app)
    to: 表示したい仮想PC内でのファイル名 (例 to: /home/vagrant/Code/public)


  設定したら上書き保存し、Homestead.yamlのあるフォルダで
  右クリック>GitBashを起動して
  vagrant up
  と入力します。
  これで仮想環境が構築できます。

作った仮想環境の確認をしましょう。
Homestead.yaml ファイル内の「ip」をコピーし、
http:<コピーしたip>/とブラウザに入力します。
構築ができていた場合、
f:id:mssblog:20160601195905j:plain
この画面が表示されます。
表示できていれば、仮想環境の構築は成功です!

仮想環境の削除は、Gitbashでvagrant destroyと打つことでも可能ですが
VirtualBoxを利用して削除することも可能です。
Oracle VM VirtualBox("WindowsでLaravel環境構築(2)"でダウンロード済み)を起動し
現在ある環境を
右クリック>除去で除去します。
f:id:mssblog:20160608194422j:plain


なお、Homestead.yamlを変更した場合、
一度vagrant destroyで仮想環境を削除してからvagrant upするようにしてください。
仮想環境が残っていると、エラーが表示されることがあります。


以上で環境構築は終了です。
お疲れ様でした。(文責:砂川)



参考
http://qiita.com/shizuma/items/2b2f873a0034839e47ce
http://readouble.com/laravel/5/1/ja/installation.html