Edited at

CakePHP開発環境をMac OS X Yosemite上のVirtualBox+LAPPに作る

More than 3 years have passed since last update.


目的


  • Mac OS X Yosemite上のVirtualBoxにLAPP(Linux + Apache + PostgreSQL + PHP)をインストールしてCakePHP開発環境を作る。


ゴール


  • ローカルからブラウザでアクセスしCakePHP 2.3.9の初期画面が表示される状態にする。


用意するアプリケーションなど


インストール


VirtualBox


  • 2015/02/21時点で入手可能な VirtualBox-4.3.22-98236-OSX.dmg をダウンロードしインストーラに従ってインストールする。


LAPP


  • 2015/02/21時点で入手可能な bitnami-lappstack-5.4.37-0-ubuntu-14.04.zip をダウンロードし展開する。


  • Virtual Boxを参考に設定する。


  • 初めての起動直後にパスワードを変更。

  • 起動したらifconfigでIPを確認しsafariなどでアクセスするとCongratulations!が開く。


設定


phpPgAdmin


CakePHP


異なるバージョンのCakePHPにする


CakePHP 2.3.9インストール



  • CakePHP 2.3.9にする上でソースコードを入手。

  • VirtualBox上の/opt/bitnami/frameworksに展開。

  • 元の/opt/bitnami/frameworks/cakephpをsymbolic linkにしてバージョンを変えられやすくしておく。

  • Apacheの起動で必要なbitmaniの設定が含まれる/opt/bitnami/frameworks/cakephp/confも忘れずにsymbolic linkにする。

mv /opt/bitnami/frameworks/cakephp /opt/bitnami/frameworks/cakephp-2.6.1

chmod -R 0777 /opt/bitnami/frameworks/cakephp-2.3.9/app/tmp
ln -s /opt/bitnami/frameworks/cakephp-2.3.9 /opt/bitnami/frameworks/cakephp
ln -s /opt/bitnami/frameworks/cakephp-2.6.1/conf /opt/bitnami/frameworks/cakephp/conf


  • Noticeの出ている項目の初期値を変える

vi /opt/bitnami/frameworks/cakephp-2.3.9/app/Config/core.php 


  • 下記2箇所を分かり難い値にする。

Configure::write('Security.salt', '');

Configure::write('Security.cipherSeed', '');


PostgreSQLに接続可能にする


  • CakePHP 2.3.9のDB接続設定を変える。

cp /opt/bitnami/frameworks/cakephp-2.3.9/app/Config/database.php.default /opt/bitnami/frameworks/cakephp-2.3.9/app/Config/database.php 

vi /opt/bitnami/frameworks/cakephp-2.3.9/app/Config/database.php


  • 各項目は必要に応じて変える。初期設定状態で接続を試みる。

public $default = array(

'datasource' => 'Database/Postgres',
'persistent' => false,
'host' => 'localhost',
'port' => '5432',
'login' => 'postgres',
'password' => 'bitnami',
'database' => 'postgres',
'prefix' => '',
//'encoding' => 'utf8',
);


"/cakephp"ではなく"/"でアクセス可能にする



  • Configurationの項目3を参考に設定する。

  • 設定後問題なければ"/cakephp"にアクセスするとMissing Controllerに変わる。


その他


TimezoneをJSTに変える

sudo cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime 

vi /opt/bitnami/php/etc/php.ini


  • php.iniにあるdate.timezoneの値も変える。


php.ini

date.timezone = "Asia/Tokyo"