目的
- Mac OS X Yosemite上のVirtualBoxにLAPP(Linux + Apache + PostgreSQL + PHP)をインストールしてCakePHP開発環境を作る。
ゴール
- ローカルからブラウザでアクセスしCakePHP 2.3.9の初期画面が表示される状態にする。
用意するアプリケーションなど
-
異なるバージョンのCakePHP(後述)
インストール
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
- How to enable sshd?を参考にsshdを起動するように設定。
- phpMyAdmin and phpPgAdmin > On Linux and Mac OS X: を参考に設定。
CakePHP
- Activation and Testingを参考に設定。
異なるバージョンの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"