Entries


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

-件のコメント

コメントの投稿

新規

※設定NGワードは『http』です

投稿した内容は管理者にだけ閲覧出来ます

-件のトラックバック

トラックバックURL
http://pugiemonn.blog6.fc2.com/tb.php/1371-81d05c8f

CakePHPの練習:複数サイトを配置してみる


CakePHPでいくつかのサイトを作ろうとするとソースの重複部分を使い回したいような気がしてきます。

ということで以下のエントリーを見つけました。

CakePHPで複数のアプリケーションを管理する
http://helog.jp/php/cakephp/1061/

サブドメインやマルチドメインに対応したレンタルサーバで複数のCakePHPで構築したサイトを公開する場合に、一番には複数のCakePHPをインストールすればよいと考えます。しかし、リソースが無駄に使用されるようで嫌ですよね。
当然ともいえる事のようですが、CakePHP1.3では複数のWebサイトを管理できます。


CakePHP1.3ではできるみたいです。

これがCakePHP2でそのまま使えるとボクには都合がいいです。ちょうどCakePHPの練習:CakePHPの2.0.0 Stableが出たらしいからインストールしてみるに書いたようにインストールしたところですので、それをコピーしてやってみたいです。

詳細はコチラです。

CakePHPのディレクトリ構成を変えてセキュリティ強化
http://helog.jp/php/cakephp/1046/
具体的な手順としては以下の3ステップです。
1ステップとして、全てのCakePHPファイルを公開フォルダの1つ上の非公開の階層、例えば「/cakephp」に移動します。
2ステップとして、「/cakephp/app/webroot」の全てのファイルを公開フォルダ、例えば「/public_html」に移動します。
3ステップは、「/public_html/index.php」に記述されているパスを以下のように書き換えます。



ボクの場合は、sparechange.chocospot.comとdigitem.chocospot.comという名前でサブドメインの開発環境をローカルに用意したいと思います。
CakePHPを配置するディレクトリ名は参考サイトと同じcakephpという名前にします。
/Library/WebServer/Documents/dev.chocospot.com/cakephp/

こんな感じです。
次に各サブドメイン用のディレクトリを作ります。
/Library/WebServer/Documents/dev.chocospot.com/sparechange/
/Library/WebServer/Documents/dev.chocospot.com/digitem/

Webサーバがアクセスするの上記のそれぞれのディレクトリです。2つのディレクトリ内には参考サイトにあるように/Library/WebServer/Documents/dev.chocospot.com/cakephp/app/webroot/以下のファイルを全てコピーします。
スクリーンショット(2011-10-21 7.09.00)
こんな感じになりました。.htaccessをコピーし忘れて動かなくてはまりました。

サブドメインごとにアクセスするappディレクトリを用意します。/Library/WebServer/Documents/dev.chocospot.com/cakephp/app_sparechange/と
/Library/WebServer/Documents/dev.chocospot.com/cakephp/app_digitem/という名前のディレクトリを作って、/Library/WebServer/Documents/dev.chocospot.com/cakephp/app/以下を丸ごとコピーしてapp_sparechangeとapp_digitemという名前の2つのディレクトリ先に配置します。

最後に、
/Library/WebServer/Documents/dev.chocospot.com/sparechange/index.phpと/Library/WebServer/Documents/dev.chocospot.com/digitem/index.phpを編集します。これはもともとapp/webroot/index.phpです。
sparechange/index.phpのほうの変更

digitem/index.phpのほうの変更

つまりAPP_DIRにapp_sparechangeのようにCakePHPのappディレクトリの名前を指定すると、ウェブサーバが指定した名前のappディレクトリを見に行ってくれるみたいです。

設定したサブドメインにそれぞれアクセスするとエラーが出ましたけどtmp/ディレクトリのパーミッション以下を777にしたらエラーは全部消えました。
スクリーンショット(2011-10-21 14.48.35)
動作確認はControllerにpublic $scaffold;を書いて終了です。書き込みなど問題なかったので動くんじゃないかと思います。

このやり方はつまりvendorsやpluginsを複数アプリケーションで共有できるということなんですかねたぶん。
参考サイトのまんまですけどCakePHP2で動いて良かったです。とりあえずこの構成ですすめてみようと思います。

ありがとうございます。

でわでわ

0件のコメント

コメントの投稿

新規

※設定NGワードは『http』です

投稿した内容は管理者にだけ閲覧出来ます

0件のトラックバック

トラックバックURL
http://pugiemonn.blog6.fc2.com/tb.php/1371-81d05c8f

Appendix

プロフィール

川崎修

  • Author:川崎修
  • インターネット大好き!
    調布周辺で自宅警備してます



    メール:pugiemonn@gmail.com
    skype:pugiemonn
    twilog:Twilog
    mixi:mixi
    facebook:facebook
My Profile by iddy
FC2ブログ

カレンダー

09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

最近の記事

Twitter

コミュニティ

ブログ内検索

ブロとも申請フォーム

この人とブロともになる

Adsense

月別アーカイブ

はてぶ数

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。