1.ダウンロード
まずCakePHPをダウンロードしましょう。
ダウンロードはCakePHPのホームページからどうぞ。
ダウンロードしてファイルを開いてみると以下のような構成になっています。
CakePHPファイルのアップロード
まず、Xserverのディレクトリ構成を確認しましょう。
XserverPanel(エックスサーバーのコントロールパネル)の「ACCOUNT」の「サーバー情報」を開きます。
ホームディレクトリは
となっています。
公開ディレクトリは
となります。
余計なファイルはユーザーから閲覧できない場所に置いた方が良いので、「/app/webroot/」を「Public_html」内に設置。残りのファイルは「Public_html」より上位階層に設置します。
/app
/cake
…etc
/home/あなたのID/ドメイン名/public_html/
/css
/files
…etc
CakePHP参照設定
「/public_html/index.php」を変更します。
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」の変更
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」の変更
RewriteBase /cake
RewriteRule ^$ /public_html/ [L]
RewriteRule (.*) /public_html/$1 [L]
3.「/cake/app/.htaccess」
RewriteBase /cake/app
RewriteRule ^$ /public_html/ [L]
RewriteRule (.*) /public_html/$1 [L]
上記作業が終わったら、ドメイン名でアクセスしてみてください。
CakePHPの設定
ドメインにアクセスすると、
いきなり、エラーメッセージが多数。(あせらなくて大丈夫です)
PHPのバージョンの問題らしいので、PHPのバージョンを最新のものにする。
XserverPanelメニューの「ホームページ」項目の中に「PHP Ver. 切り替え」項目があるので、そちらで最新のバージョンに切り替える。
「app/tmp」ディレクトリを書き込み可能にします。(777に変更)
これでだいぶエラーメッセージは減ります。
さて、赤と黄色部分が問題ありそうです。
1つずつ解決していきます。
メッセージを見るとSecurity.saltの値を変えて下さいとあります。
「app/Config/core.php」を開きます。
185行目に
/**
* A random string used in security hashing methods.
*/
Configure::write(‘Security.salt’, ‘DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi’);
と記載されています。
この「DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi」という文字列を変更しましょう。
上記のSecurity.saltのすぐ下です。
189行目に
/**
* A random numeric string (digits only) used to encrypt/decrypt strings.
*/
Configure::write(‘Security.cipherSeed’, ‘76859309657453542496749683645’);
と記載されている箇所を見て下さい。
「76859309657453542496749683645」という数字を他の数字に変更しましょう。
ファイルの文字を変更してアップロードした後に、画面を更新してみると2つの赤いメッセージが消えました。
これでOKですね。
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の情報に変更します。
上記のようにすべて緑になれば、DBにも接続できているということです。
これでインストールと設定は完了ですね。
人気記事一覧
- MySQL 最大の値・最新の日付データを1つ抽出する方法(MAX)
- [CakePHP] XformHelperの使い方
- Linux: スワップファイル(swp)の削除方法
- HTMLのForm methodとactionについて
- PHPでカンマ区切りデータを配列に入れる方法 (explode)
- [エラー対処] failed to open stream: No such file or directory
- [CSS]ブロック要素(div)の高さを、内部のfloat要素に合わせて自動調整する
- [vsftp] FileZillaから接続できない場合の対処法
- PHP5.1→PHP5.3へバージョンアップする方法(CentOS)
- PHPでテキストを1行ずつ読み込む方法(file_get_contents,explode)
最近、cakephpを勉強し始めた者ですが、
非常に参考になりました。
ありがとうございます。