CakePHP設定手順

前提

- vagrant up,vagrant ssh でサーバーにログインしている事
- CakePHP 2.5.5 をダウンロードし、サーバの下記の場所にアップロードしていること

/var/www/html/cakephp/


##1.tmpフォルダのパーミッションを変更する
cd /var/www/html/cakephp/app/ で移動し、以下のコマンドを実行

chmod -R 777 tmp


##2.mod_rewriteの設定を行う
参考：http://book.cakephp.org/2.0/ja/installation/url-rewriting.html

こんな画面になっているのはリンク切れのせいなので、リンク切れを解消するべくmod_rewriteの設定を行う

![スクリーンショット 2014-10-31 15.12.58.png](https://qiita-image-store.s3.amazonaws.com/0/36890/052e26bd-0e27-818f-8c24-a4f175ccf1d4.png "スクリーンショット 2014-10-31 15.12.58.png")


###2-1.システムのhttpd.confを編集
```httpd.conf

<Directory />
    Options FollowSymLinks
    AllowOverride All  # <- None を Allに修正☆☆☆
</Directory>
<Directory /var/www/html/cakephp>　	# <- ここから追加☆☆☆
    Options FollowSymLinks
    AllowOverride All
    Order Allow,Deny
    Allow from all
</Directory>							# <- ここまで☆☆☆

```

```httpd.conf
    AllowOverride All # <- None を Allに修正☆☆☆
```
###2-2. /var/www/html/cakephp/下の.htaccessの内容が下記と同じか確認する
相違点があれば修正

```/var/www/html/cakephp/.htaccess
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

```

###2-3. /var/www/html/cakephp/app/下の.htaccessの内容が下記と同じか確認する
相違点があれば修正

```/var/www/html/cakephp/app/.htaccess
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$    webroot/    [L]
   RewriteRule    (.*) webroot/$1    [L]
</IfModule>
```

###2-4. /var/www/html/cakephp/app/webroot/下の.htaccessの内容が下記と同じか確認する
相違点があれば修正

```/var/www/html/cakephp/app/webroot/.htaccess
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
```

##3. 一旦サーバーを再起動
```ターミナル
[vagrant@localhost ~]$ exit; //←入力
logout
Connection to 127.0.0.1 closed.
Eriko-no-MacBook-Air:Vagrant ei17ringo$ vagrant reload //←入力

```

##4. saltとcipherSeedを初期値から別なものに変更

```/var/www/html/cakephp/app/Config/core.php
/**
 * A random string used in security hashing methods.
 */
	Configure::write('Security.salt', 'XXXX'); // <- XXXXの部分が任意

/**
 * A random numeric string (digits only) used to encrypt/decrypt strings.
 */
	Configure::write('Security.cipherSeed', 'YYYY'); // <- YYYYの部分が任意

```

##5. database.php.defaultをdatabase.phpに修正し、データベース設定ファイルを作成
![スクリーンショット 2014-10-31 18.35.30.png](https://qiita-image-store.s3.amazonaws.com/0/36890/5ea105ab-b434-b967-14af-b13706c08065.png "スクリーンショット 2014-10-31 18.35.30.png")

内容を書き換え、サーバへアップ（事前にcakephpデータベースを作成しておく)


```database.php
class DATABASE_CONFIG {

	public $default = array(
		'datasource' => 'Database/Mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'root',  // <-ユーザー名☆☆☆
		'password' => 'mangoshake', // <- パスワード☆☆☆
		'database' => 'cakephp', // <- DB名☆☆☆
		'prefix' => '',
		//'encoding' => 'utf8',
	);

	public $test = array(
		'datasource' => 'Database/Mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user',
		'password' => 'password',
		'database' => 'test_database_name',
		'prefix' => '',
		//'encoding' => 'utf8',
	);
}


```

##6.DebugKitプラグインの設定
###6-1.ダウンロードした後Pluginフォルダに配置
配置後、同じ階層のサーバーへアップロード
![スクリーンショット 2014-10-31 18.44.15.png](https://qiita-image-store.s3.amazonaws.com/0/36890/4165308c-9673-172a-81c4-e2e3e20ae849.png "スクリーンショット 2014-10-31 18.44.15.png")


###6-2.bootstrap.phpにプラグインの読み込み設定を追加

```/var/www/html/cakephp/app/Config/bootstap.php

//↓ファイル末尾に追加
CakePlugin::load('DebugKit');

```

###6-3.AppControllerにプラグインの実行設定を追加

```/var/www/html/cakephp/app/Controller/AppController.php
class AppController extends Controller {

	public $components = array('DebugKit.Toolbar');  // ← 追加

}

```


最後は下記のような表示になればOKです
![スクリーンショット 2014-10-31 19.05.34.png](https://qiita-image-store.s3.amazonaws.com/0/36890/94a864d5-cc2d-95f8-26c6-1865a2631bf9.png "スクリーンショット 2014-10-31 19.05.34.png")