I ♥ WordPress

さくらで CakePHP
2007/09/17 03:21 posted by kunkichi

ちょっと作りたいアプリケーションを思いついたので、最近流行の CakePHP をさくらインターネットで使ってみようと。その時のメモ。

ちなみにうちのディレクトリ構成はこんな感じ。+/home/example ・・・ ホームディレクトリ
  |
  +cake ・・・ cake ディレクトリ
  |
  +apps ・・・ CakePHPで作成するアプリケーション用ディレクトリ
  | |
  | +app1 ・・・ CakePHPで作成するアプリ1のappディレクトリ
  | | |
  | | +config, docs, libs, scriptsディレクトリとファイル
  | |
  | +app2 ・・・ CakePHPで作成するアプリ2のappディレクトリ
  |   |
  |   +config, docs, libs, scriptsディレクトリとファイル
  |
  +www ・・・ ウェブで公開されるディレクトリ(DocumentRoot)
    |
    +app1 ・・・  CakePHPで作成するアプリ1 の webroot
    |
    +app2 ・・・  CakePHPで作成するアプリ2 の webroot
    |
    +other ・・・  CakePHP以外のアプリを使う場合のディレクトリ
ちなみに以下のサイトを参考にさせてもらいました。

ディレクトリ構成的には、

  • 複数のアプリを同じcakeライブラリで使い回せるよう、cakeディレクトリを/home/UserName 配下に置く。

辺りのところは、I Love PHP さんとこで紹介されているのと同じポリシーなんだけど、

  • セキュリティ的な観点から、appディレクトリはDocumentRoot(さくらの標準では、/home/UserName/www)からは見えないところに置く。DocumentRootに配置するのは、webrootディレクトリのみ。
  • CakePHPで複数のアプリを作成するので、appディレクトリはアプリごとにコピーして配置。
  • 同様に、webrootディレクトリもアプリごとにコピーして配置。各アプリへのアクセスは、http://www.○○○.com/app1/ みたいな感じでアクセス。
    CakePHP以外のアプリをインストールする場合も同様のポリシー。

というところを追加してみました。

最近はホスティングもドメインも安くなってきたけど、それでもやっぱり余計な出費は抑えたい、一つの契約でいろいろやりたい、というお金がない人向けの設定(笑)。でも結構ニーズあるかと。

手順は以下。

ソースのダウンロードと展開
# cd ~/tmp
# wget http://cakeforge.org/frs/download.php/502/cake_1.1.17.5612.tar.gz
# tar zxvf cake_1.1.17.5612.tar.gz
# cd cake_1.1.17.5612

CakePHPライブラリの配置
# cp -r cake /home/example/.

アプリ用ディレクトリにappディレクトリを配置
# mkdir /home/example/apps
# cp -r app /home/example/apps/app1

公開ディレクトリにwebrootディレクトリを配置
# mv /home/example/apps/blog/webroot /home/example/www/app1

設定ファイルの編集
# vi /home/example/www/app1/index.php変更箇所は以下。CakePHPのマニュアルによると、ディレクトリのパスは’/abc/def’と指定するより、DS.’abc’.DS.’def’が推奨と書いてあるので、それに併せてます。
・・・
define('ROOT', DS.'home'.DS.'UserName'.DS.'apps');
・・・
define('APP_DIR', 'app1');
・・・
define('CAKE_CORE_INCLUDE_PATH', DS.'home'.DS.'UserName');
・・・

mod_rewriteの設定
# vi /home/example/app1/.htaccess
    RewriteBase   /app1

データベースの設定
# cd /home/example/apps/app1/config
# cp -pi database.php.default database.php
# vi database.php
変更箇所は以下。
・・・
class DATABASE_CONFIG
{
    var $default = array( 'driver'   => 'mysql',
                          'connect'  => 'mysql_connect',
                          'host'     => 'mysqlXX.db.sakura.ne.jp',
                          'login'    => 'UserName',
                          'password' => 'password',
                          'database' => 'UserName',
                          'prefix'   => 'app1_');
 
    var $test = array('driver' => 'mysql',
・・・
}

prefixをつけているのは、複数のアプリを作る場合にややこしくなりそうなので。

あ、そうそう、うちではビルドしたphp5で確認してます。さくら標準のphp4でも同様に動くかどうかは不明。

ではぼちぼち作っていきます。

コメント&トラックバック

トラックバックURL

thanks!

2007/12/7 金曜日10:36:38 posted by Michelle

[技術メモ][さくらインターネット]さくらインターネットでC…

プランは「さくらのレンタルサーバ プレミアム」、CakePHP 1.1系(1.1.19.6305)利用(いまさらながら、、、 1.2系でも同様の手法でするだろう。 / (more…)

2008/9/16 火曜日12:08:37 posted by zero’s memo

[…] ・Cafe Chantant Blog を参考にさせて頂きました。 […]

2009/7/16 木曜日23:14:33 posted by CakePHPをさくらインターネットにインストール - Getting OUT

[…] | PHPを使ったWebサイト構築 備忘録 さくらで CakePHP | cafe chantant blog Category: プログラミング […]

2009/10/4 日曜日12:39:32 posted by GENIUS CODE » CakePHPをさくらインターネットに設置する

[…] で、さくらで CakePHPさんを参考にアプリケーションを設置してみました。 […]

2010/10/3 日曜日2:05:29 posted by CakePHP開発

[…] 通常だと、ドキュメントルートにCakePHPを一つ配置する形になるが、 それだと不便すぎるので、複数配置できる構成にした。 CakePHPマニュアルでいう、応用インストールだ。 CakePHPマニュアル参照 参考: http://www.cafechantant.com/blog/2007/09/17/%E3%81%95%E3%81%8F%E3%82%89%E3%81%A7-cakephp/ […]

2011/5/10 火曜日15:27:55 posted by CakePHPを複数配置した | (新)なんとなく・なにげなく

Within the spa team structure coach handbags for cheap then coaching for high awareness and responsibility is likely to deliver

2012/1/1 日曜日13:41:52 posted by ゲスト

there would not be so many people such emptiness in their lives coach handbags for cheap Sometimes a coach forces his goaltenders to become inappropriately competitive

2012/1/4 水曜日7:43:23 posted by ゲスト





このページの先頭へ