続・CakePHPをハッスルサーバーで公開する設定(独自ドメインを使用)
CakePHPをレンタルサーバで公開する設定について。具体的にはハッスルサーバにおける公開設定について。
契約時に割り振られたサブドメインをそのまま利用する構成であれば、難なく設定できてしまった。構成としてはこんな感じ。
home └─{アカウント名} └─public ├─cakephp ← これがコア! ├─app ← ここにアプリケーション ├─log ├─ml ├─webalizer └─www └─webroot ← appのなかにあるフォルダ「webroot」
独自ドメインを用いない公開設定については昨日の記事があります
今日は独自ドメインで
今日は特に使っていなかったドメインがたまたまあったので、それに割り当ててみることにした。
home └─{アカウント名} └─public ├─cakephp ← これがコア! ├─app ← ここにアプリケーション ├─log ├─ml ├─webalizer └─www ├─webroot2 ←ここに独自ドメインを割り当てる └─webroot ← appのなかにあるフォルダ「webroot」
昨日、作ったwebrootフォルダのコピーしてフォルダ名を変えただけ、中はまったく触っていない。ハッスルサーバのコントロールパネルからドメインに割り当てるフォルダを「www/webroot2」に設定した。
これでドメインのURLでアクセスしてみたところ、あっけなく動作した。細々した動作確認はとっていない。
.htaccessをいじりまくって悪戦苦闘していたことを思うと、ずいぶんあっけなかったけど、あれは必須ではなく推奨レベルなんだろうか。セキュリティ上問題があるとか。
とにかく、CakePHPのコアとアプリケーション部分をユーザがアクセスできないドキュメントルートより上に配置し、主要なファイルはCSSくらいしか格納していないwebrootフォルダだけをドキュメントルート配下に置くこと。ハッスルサーバに関していえば、あまり難しくなかった。変更したのは、webroot直下にあるindex.php内の定数のみ。
昨日書いたことと同じだけど、フォルダ構成はこうなってる。
- CakePHPのコアのフォルダ
- /home/{アカウント名}/public/cakephp
- Appフォルダ
- /home/{アカウント名}/public/app
- Appのなかにあるwebrootフォルダ
- /home/{アカウント名}/public/www/webroot
条件はこう。
- CakePHP 1.3.3
- appフォルダはbakeでプロジェクトだけ焼いて作ったもの
- ローカルではxamppを使用
webroot/index.phpの33行目あたりにある
define('ROOT', dirname(dirname(dirname(__FILE__))));
こう変える
define('ROOT', DS . 'home' . DS . '{アカウント名}' . DS . 'public');
46行目あたりにあるこれ
define('APP_DIR', basename(dirname(dirname(__FILE__))));
これをこう変える*1
define('APP_DIR', 'app');
53行目あたり
define('CAKE_CORE_INCLUDE_PATH', ROOT);
をこう変更*2
define('CAKE_CORE_INCLUDE_PATH', DS . 'home' . DS . '{アカウント名}' . DS . 'public' . DS . 'cakephp');
以上の3箇所の値を変更。
参考にしたサイト
- http://book.cakephp.org/ja
- ブログ系の情報
- http://d.hatena.ne.jp/fashion0208/20080301
- [cakePHP]レンタルサーバxserverへの導入 インストール編: PHPを使ったWebサイト構築 備忘録
- CakePHPをさくらのレンタルサーバで公開した。 | 陽のあたらない美術館
- さくらレンタルサーバでcakePHPを使いたい! | ウェブページを作ろう!!
- 【CakePHP】環境作り。XSERVERで注意すること。 | プラプラ式技術系 Access流!
- http://www.garacter.com/notes/CakePHP+Note:%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/pi:177
- http://blog.goo.ne.jp/cgeryuji/e/b6dc293005edbf203ae4fe375a2eac11
- 最終的にはこの記事を読んでその通りにしたらうまくいったと思ってる
公式からブログ関連で得られる情報まで、概ね3箇所の.htaccessは変えないといけないと言っているのが気になる。判断するにはApacheや.htaccessの機能についてよく理解していないといけないのかなー。