CakePHPをXserverにインストールする方法




CakePHPをXserverにインストールする際のメモです。

1.ダウンロード
まずCakePHPをダウンロードしましょう。
ダウンロードはCakePHPのホームページからどうぞ。

ダウンロードしてファイルを開いてみると以下のような構成になっています。

cakephp-folder

cakephp-folder

CakePHPファイルのアップロード

まず、Xserverのディレクトリ構成を確認しましょう。
XserverPanel(エックスサーバーのコントロールパネル)の「ACCOUNT」の「サーバー情報」を開きます。
ホームディレクトリは

/home/あなたのID/

となっています。

公開ディレクトリは

/home/あなたのID/ドメイン名/public_html/

となります。

余計なファイルはユーザーから閲覧できない場所に置いた方が良いので、「/app/webroot/」を「Public_html」内に設置。残りのファイルは「Public_html」より上位階層に設置します。

/home/あなたのID/ドメイン名/cake/
/app
/cake
…etc

/home/あなたのID/ドメイン名/public_html/
/css
/files
…etc

CakePHP参照設定

「/public_html/index.php」を変更します。

if (!defined(‘ROOT’)) {
define(‘ROOT’, DS.’home’.DS.'(ユーザID)’.DS.'(ドメイン名)’.DS.’cake’);
}
if (!defined(‘APP_DIR’)) {
define(‘APP_DIR’, ‘app’);

defaineの中にDSの文字がありますが、これは「/」の意味だと捉えて下さい。
CakePHPは「/home/あなたのID/ドメイン名/cake/」に設置したので、上記の変更により設置した場所を参照できるようになります。

※下記(.htaccess)は設定しないでも動きます。動かない場合は下記を変更。

mod_rewriteの設定

フレームワークではアクセスを振り分ける必要があるので.mod_rewriteを変更します。
(URLから判別して任意のページを表示する仕組みなのでこの設定が必要です)
何箇所か変更が必要です。

1.「/public_html/.htaccess」の変更

AddHandler x-httpd-php5 .php .phps

RewriteEngine On
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$
RewriteRule ^(.*).html$ index.php?url=$1 [QSA,L]

参考:(デフォルト)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$
RewriteRule ^(.*).html$ index.php?url=/pages/$1 [QSA,L]
 
2.「/cake/.htaccess」の変更

RewriteEngine on
RewriteBase /cake
RewriteRule ^$ /public_html/ [L] 
RewriteRule (.*) /public_html/$1 [L] 

 
3.「/cake/app/.htaccess」

RewriteEngine on
RewriteBase /cake/app 
RewriteRule ^$ /public_html/ [L]
RewriteRule (.*) /public_html/$1 [L] 

上記作業が終わったら、ドメイン名でアクセスしてみてください。

CakePHPの設定

ドメインにアクセスすると、
いきなり、エラーメッセージが多数。(あせらなくて大丈夫です)
PHPのバージョンの問題らしいので、PHPのバージョンを最新のものにする。
XserverPanelメニューの「ホームページ」項目の中に「PHP Ver. 切り替え」項目があるので、そちらで最新のバージョンに切り替える。

「app/tmp」ディレクトリを書き込み可能にします。(777に変更)

これでだいぶエラーメッセージは減ります。

CakePHPインストール画面_1

CakePHPインストール画面_1

さて、赤と黄色部分が問題ありそうです。
1つずつ解決していきます。

Notice (1024): Please change the value of ‘Security.salt’ in app/Config/core.php to a salt value specific to your application [CORE/Cake/Utility/Debugger.php, line 713]

メッセージを見るとSecurity.saltの値を変えて下さいとあります。
「app/Config/core.php」を開きます。
185行目に

/**
* A random string used in security hashing methods.
*/
Configure::write(‘Security.salt’, ‘DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi’);

と記載されています。
この「DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi」という文字列を変更しましょう。

Notice (1024): Please change the value of ‘Security.cipherSeed’ in app/Config/core.php to a numeric (digits only) seed value specific to your application [CORE/Cake/Utility/Debugger.php, line 717]

上記のSecurity.saltのすぐ下です。
189行目に

/**
* A random numeric string (digits only) used to encrypt/decrypt strings.
*/
Configure::write(‘Security.cipherSeed’, ‘76859309657453542496749683645’);

と記載されている箇所を見て下さい。
「76859309657453542496749683645」という数字を他の数字に変更しましょう。

ファイルの文字を変更してアップロードした後に、画面を更新してみると2つの赤いメッセージが消えました。
これでOKですね。

Your database configuration file is NOT present.
Rename APP/Config/database.php.default to APP/Config/database.php

「APP/Config/database.php.default」を「APP/Config/database.php」に変更しなさいって書いてあります。
ファイル名を変更しましょう。
そしてファイルの中の

public $default = array(
‘datasource’ => ‘Database/Mysql’,
‘persistent’ => false,
‘host’ => ‘localhost’,
‘login’ => ‘user’,
‘password’ => ‘password’,
‘database’ => ‘database_name’,
‘prefix’ => ”,
//’encoding’ => ‘utf8′,
);

の部分を自分のMySQLの情報に変更します。

CakePHPインストール画面_2

CakePHPインストール画面_2

上記のようにすべて緑になれば、DBにも接続できているということです。
これでインストールと設定は完了ですね。

人気記事一覧


関連記事一覧

This entry was posted in Xserver(エックスサーバー), 設定 and tagged , , , , . Bookmark the permalink.

CakePHPをXserverにインストールする方法 への1件のコメント

  1. ケイ より:

    最近、cakephpを勉強し始めた者ですが、
    非常に参考になりました。
    ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">