VagrantでFuelPHP環境構築　その2

## VagrantでFuelPHP環境構築　その2

この記事は[VgrantでFuelPHP環境構築その1](http://qiita.com/ave/items/e9e0729897cb23ce2606)の続きです。
前回までで

* Vagrantで仮想環境構築
* Apache,PHPのインストール、ローカルとサーバ上の同期

まで大体完了しました。

## Fuelをインストール⊂(ﾟДﾟ⊂⌒｀つ≡≡≡

<pre>
$ ssh fuel-centos
$ cd /vagrant
$ cd project
</pre>
その1で　/vagrant/project をシンボリックリンクのターゲットとしたのでそこに移動

新規にディレクトリ作成し、そこにFuelをインストールしたいので移動
<pre>
$ mkdir fuel
$ cd fuel/
</pre>

### oilコマンドインストール  
<pre>
$ curl get.fuelphp.com/oil | sh
</pre>
FuelPHPのインストールにはoilコマンドが必要となるので、インストール

***curlって***

* curlは HTTPなどのプロトコルでのダウンロードやアップロードする機能を持っているコマンド

curl の後にURLを書くとそのURLにアクセスし、コンテンツのHTMLをダウンロードして標準出力へ出力が行われる仕組み
今回のこのコマンドの場合、 curl でfuelphpのページの内容を取得して、
oilをインストールするシェルスクリプトの内容を実行してます
（標準出力した後にシェルを実行するコマンドに出力が引き渡されています）

### oilコマンド実行

<pre>
$ oil create fuelphp
</pre>
↑ここでの fuelphp はプロジェクト名のこと
任意でプロジェクト名を指定すると、プロジェクトが作成されそこにインストールされる

あれ・・
<pre>
$ oil create fuelphp
which: no git in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin)
For this installer to work you'll need to install Git.
        http://git-scm.com/
/usr/bin/oil: line 18: git: コマンドが見つかりません
/usr/bin/oil: line 19: cd: ./fuelphp: そのようなファイルやディレクトリはありません
/usr/bin/oil: line 20: git: コマンドが見つかりません
/usr/bin/oil: line 22: git: コマンドが見つかりません
/usr/bin/oil: line 23: git: コマンドが見つかりません
Could not open input file: composer.phar
Could not open input file: composer.phar
Could not open input file: ./fuelphp/oil
</pre>

仮想環境内でインストール実行していたので、Gitがなかったエラー出現。。
<pre>
// Gitインストール
$ sudo yum install git
</pre>

再度コマンド叩く

<pre>
$ oil create fuelphp
Initialized empty Git repository in /vagrant/project/fuel/fuelphp/.git/
remote: Counting objects: 15318, done.
remote: Total 15318 (delta 0), reused 0 (delta 0), pack-reused 15318
Receiving objects: 100% (15318/15318), 5.34 MiB | 562 KiB/s, done.
Resolving deltas: 100% (6169/6169), done.
Already on '1.7/master'
Updating to version 
...（中略）...         
Could not fetch https://api.github.com/repos/fuel/core/contents/composer.json?ref=29cd7d850cecb6bb4419dec93cac71a507f86038, please create a GitHub OAuth token to go over the API rate limit
Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+localhost.localdomain+2015-12-06+1302
to retrieve a token. It will be stored in "/home/vagrant/.composer/auth.json" for future use by Composer.
Token (hidden): 
</pre>
・・・とこのようにトークンを聞かれる場合が。

[こちらのサイト](http://blog.a-way-out.net/blog/2015/06/26/fuelphp-1-7-3-installation-trouble/) に詳しく解説されていますが、
FuelPHPは1.6以降ライブラリやパッケージの管理に Composer を利用しており、それをインストールで使用する際GitHub APIのレート制限に引っかかっているらしい

ので、GitHubでトークン発行し、そのまま処理を続行
インストール完了すると、
<pre>
$ cd fuelphp
$ ls -la
合計 1300
drwxr-xr-x 1 vagrant vagrant     510 12月  6 12:55 2015 .
drwxr-xr-x 1 vagrant vagrant     102 12月  6 12:54 2015 ..
drwxr-xr-x 1 vagrant vagrant     442 12月  6 12:55 2015 .git
-rw-r--r-- 1 vagrant vagrant     521 12月  6 12:55 2015 .gitignore
-rw-r--r-- 1 vagrant vagrant     168 12月  6 12:55 2015 .travis.yml
-rw-r--r-- 1 vagrant vagrant   91033 12月  6 12:55 2015 CHANGELOG.md
-rw-r--r-- 1 vagrant vagrant     150 12月  6 12:55 2015 CONTRIBUTING.md
-rw-r--r-- 1 vagrant vagrant    1070 12月  6 12:55 2015 LICENSE.md
-rw-r--r-- 1 vagrant vagrant    1795 12月  6 12:55 2015 README.md
-rw-r--r-- 1 vagrant vagrant    3243 12月  6 12:55 2015 TESTING.md
-rw-r--r-- 1 vagrant vagrant    2090 12月  6 12:55 2015 composer.json
-rwxrwxr-x 1 vagrant vagrant 1201432 12月  6 12:55 2015 composer.phar
drwxr-xr-x 1 vagrant vagrant     170 12月  6 12:55 2015 fuel
-rw-r--r-- 1 vagrant vagrant    1832 12月  6 12:55 2015 oil
drwxr-xr-x 1 vagrant vagrant     238 12月  6 12:55 2015 public
</pre>

Fuelのディレクトリ群が自動生成され、インストール完了！
（今回は FuelPHP 1.7 をインストールしました）
あともう少し！

* Composerをアップデート

<pre>
$ php composer.phar update
</pre>

## ブラウザから表示してみる

### VirtualHostの個別設定

<pre>
$ cd /etc/httpd/conf/
$ ls -la
合計 64
drwxr-xr-x 2 root root  4096 12月  7 16:40 2015 .
drwxr-xr-x 4 root root  4096 12月  5 20:09 2015 ..
-rw-r--r-- 1 root root 34773 12月  7 16:39 2015 httpd.conf
</pre>
/etc/httpd/conf/ 下にhttpdの設定ファイルがあるので開いてみる

<pre>
$ vi httpd.conf 
</pre>

220行目付近に
<pre>
Include conf.d/*.conf
</pre>
の記述があると思われ
<img width="570" alt="スクリーンショット 2015-12-08 2.01.28.png" src="https://qiita-image-store.s3.amazonaws.com/0/49828/bcddf10e-f8e1-5dac-d08c-c458370e1fb8.png">
これは conf.d/配下の .conf 拡張子の設定ファイルを読み込むことを意味しています
今回はVirtualHostを使って、ServerNameやIP毎に個別の設定を記述したい場合（複数設定したい場合）向けに設定ファイルを個別に作成します

/etc/httpd/conf/httpd.conf の一番下に記述されているVirtualHost設定の記述例にならって作成してみる

<pre>
$ cd /etc/httpd/conf.d
$ vi vhosts-test.conf
</pre>
今回は vhosts-test.conf というファイルを作成しここを読み込ませます

```
Listen *:10080
NameVirtualHost *:10080

<VirtualHost *:10080>
    DocumentRoot /var/www/project/fuel/fuelphp/public
    ErrorLog logs/fuelphp_error.log
    CustomLog logs/fuelphp_access.log combined
    <Directory /var/www/project/fuel/fuelphp/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
```
ポートは今回10080に設定し、作成完了
httpdの設定ファイル作成＆修正の際は、Apacheの再起動を忘れずに！
<pre>
$ sudo service httpd restart
</pre>


### 画面を表示

[FuelPHP環境構築その1](http://qiita.com/ave/items/e9e0729897cb23ce2606)でVagrantFileの編集の際、IPの記述箇所のコメントアウトを外したのを覚えてますか？

>  config.vm.network :private_network, ip: "192.168.33.10"

このIPにさっきのポートNo.を指定しブラウザから叩いてみましょう

<img width="794" alt="スクリーンショット 2015-12-08 2.21.18.png" src="https://qiita-image-store.s3.amazonaws.com/0/49828/5269bee7-c56b-9b02-0c9b-6145282cf715.png">

192.168.33.10:さっきのポート　でこの画面が表示されればインストール後の動作確認が完了ﾟ･*:.｡..｡.:*･゜ヽ( ´∀｀)人(´∀｀ )ノ･゜ﾟ･*:.｡..｡.:*
おつかれさまでした。

この後Fuelを使っていく際のVirtualHostの設定でのエイリアスやRewriteCondの設定まで詳しく触れられなかったので、それはまた次回
（このシリーズは終わりです）
快適なFuelPHPライフは今始まったばかりだ！