cakePHP 初期設定 | jectoのブログ

jectoのブログ

コンピュータ関連の
記事を載せています。
@ 日常生活とかも

PHPで人気のフレームワークを使ってみようと思い

初期設定の手順を防備録として残します。


cakePHPは、オープンソースのPHPフレームワークである。

cakePHP以外にも、 symfonyやZend Frameworkがある


ライブラリ、クラス、実行時の構造基盤などで構成されていて、

Ruby on Rails フレームワークに触発されている。


本環境構造化し、すばやい仕方で作業しつつも、柔軟性を失わないようにできること

アジャイル開発をするには、もってこいである


さて、本題にもどってインストールから初期設定までの方法をしめす。


まず、本環境を以下に示す。

SUSE linux 10.2

Apache 2.2.6

php 5.2.5

cakePHP1.1.20(安定版)


上記PHP実行環境はできているものとする


1.まず、cakePHPをダウンロードする

  cakePHPのホームページ

  上部にある download からインストールする。


2.インストール後、展開したフォルダ

  cake_X.X.XX_XXXXのフォルダ内にあるすべての

  フォルダ・ファイルを

  apacheルーとディレクトリ配下の任意のディレクトリ

  に置く。

  ここでは、/usr/local/apache2/htdocs/cake/ にコピーした

cakeディレクトリは独自に作成した


3.パーミッションの設定

   app/

tmp/

cashe/

models/

persistent/

views/

sessions/

logs/

tests


赤字の部分の配下を707のパーミッションにする

   私はcake関連のファイル類をすべて755にした。

その後、app/tmp/cache/modelsディレクリで書き込みエラーが

でたので、このフォルダを777に変更した


4.mod_rewriteの設定

  Apacheの設定ファイル httpd.confの下記部分を有効にする

 

LoadModule rewrite_module modules/mod_rewrite.so



.htaccessが使えるようにするのを確認(赤字の部分)


 

  <Directory "/usr/local/apache2/htdocs">

      Options All

AllowOverride All

Order allow,deny

Allow from all

</Directory>



5. 下記3つの.htaccessファイルを作成する

cake/.htaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]

RewriteBase /cake/
</IfModule>


cake/app/.htaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]

RewriteBase /cake/app
</IfModule>


cake/app/webroot/.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
RewriteBase /cake/app/webroot
</IfModule>


6. cakePHPでmysqlデータベースを使えるようにする

cakePHPのファイルで app/config/database.php.default をコピーし

   app/config/database.phpを作成し、編集する。

   配列変数 $defaultが特別な処理をせずに接続をおこなうので、これを

   編集する 連想配列要素の

   host データベースのあるホスト名

   login データベース接続ユーザ

password 接続ユーザのパスワード

database データベース名


7.結果の確認 

   データベースの接続

htttp://ホスト/cake/index.phpで下記の黒字部分

     が表示されればOK


jectoのブログ-cakePHPデータベース接続


cakePHPのmod_rewriteの設定確認

   cake/app/controllers/tasks_controller.phpを作成し、内容を下記とする

<?php
  // app/controllers/tasks_controller.php
 class TasksController extends AppController {
 var $name = 'Tasks';
 var $uses = array('Task');
 function index() {
 $this->set('tasks',
$this->Task->findAll(null, null,

     'Task.created ASC'));
}
}

?>

http://ホスト名/cake/tasksにアクセスし下記の内容が表示されればOK


jectoのブログ-cakePHP_modRewrite