http://book.cakephp.org/2.0/ja/installation/advanced-installation.html#cakephp
「複数のアプリケーションでCakePHPを共有する」というのがあります。
エンジニアとデザイナが分散開発したいときに同じファイルを編集してしまい、
デグレードするということもありますので、うまく開発したいところです。
そのためにはソース管理から分けてしまうというのは、ひとつの手だと思いますので、
これを試して、CakePHPのコアライブラリと、phpアプリ部分と、静的なhtml(js,css)を分離したいと思います。
以下が手順です。(sudoが必要な場合もを省略して書いています。)
やりたいこととして、
- CakePHPのコアライブラリを/usr/lib/Cakeに置きます。
- appを/usr/share/nginx/scriptに置きます。
- webrootを/usr/share/nginx/htmlに置きます。
※前提として、この記事の環境までができているところからになります。
$ cd /usr/share/nginx/html/cake_2_5
まずは、コアライブラリを複数のアプリケーションで使えるようなところへ移動します。
$ mv cake_2_5/lib/Cake /usr/lib/
次は、アプリケーションのwebroot(静的なページ)をドキュメントルートにします。
$ mv cake_2_5/app/webroot /usr/share/nginx/html/
/etc/nginx/conf.d/default.confを編集
location / と location ~ \.php$ の2箇所のrootを次のようにします。
root /usr/share/nginx/html/webroot;
confを編集したので、再起動します。
$ service nginx restart
(php)アプリケーション部分を移動します。
$ mv cake_2_5/app /usr/share/nginx/script/
最後に、CakePHPの定数を編集します。
/usr/share/nginx/html/webroot/index.phpを編集します。
編集する定数は、 ROOT 、 APP_DIR 、 CAKE_CORE_INCLUDE_PATH です。
それぞれ以下のようにします。
39行目付近 define('ROOT', DS . 'usr' . DS . 'share' . DS . 'nginx' . DS . 'script');
47行目付近 define('APP_DIR', 'app');
64行目付近 define('CAKE_CORE_INCLUDE_PATH', DS . 'usr' . DS . 'lib');
以上で、設定はできましたので、
ホストPCからブラウザで、http://192.168.33.10/へアクセスすると
CakePHPのデフォルトのページが出るようになります。
もちろん、http://192.168.33.10/postsへアクセスすれば、
ブログチュートリアルで作成したページヘアクセスできます。
0 件のコメント:
コメントを投稿