CandyCaneをローカル環境にインストールしてみた

kocorono完全盤(紙ジャケット仕様)
Redmine - Wikipedia
RedmineというRuby on Railsで実装されたプロジェクト管理のためのWebアプリケーションがある。そのCakePHP版がCandyCane。

けっこう前からあるプロジェクトであまり動きがなかったように見えたけど、最近更新があったようなので、試しに自宅のUbuntuサーバにインストールしてみた。LAMP環境はすでに構築済み。

環境とインストール先

見ると分かるが、candycaneはコア同梱で配布されており、CakePHPのバージョンは1.2.5。そのまま使ったほうがいいのかもしれないが、僕はCakeのコアだけ"/usr/share"以下に設置しているので、1.2系の最新版である1.2.10を別にダウンロードしておいた。実際に使うサービスとしてインストールするなら、コアのバージョンをわざわざ変える必要はない。コア同梱で配布しているわけだし。今は学習用だからいいんです。

/usr/share/cakephp$ ls -l
合計 8
drwxr-xr-x 5 root root 4096 2011-05-18 08:44 1.2.10
drwxr-xr-x 7 root root 4096 2011-04-05 13:54 1.3.8
/usr/share/cakephp$

これらのディレクトリにはCakePHPのサイトで配布されているアーカイブをそのまま展開している。
CandyCaneのインストール先はこんな感じで。

App
/home/username/www/cakephp/candycane
Webroot
/home/username/www/public/candycane

ドキュメントルートは"/home/username/www/public"を設定している。
OSはUbuntu 10.10、LAMP環境は"sudo tasksel"から導入したもので、phpmyadminと他いくつか必要に応じてモジュールを有効にしている。

ダウンロード・解凍

リポジトリから最新版のtar.gzをダウンロードする。
アーカイブを展開する。

~/work$ tar xzvf yandod-candycane-v0.7-14-g1ba868f.tar.gz -C ~/www/cakephp

展開してできたディレクトリをリネームする。

~/work$ cd ~/www/cakephp
~/www/cakephp$ mv yandod-candycane-1ba868f candycane
~/www/cakephp$ 

Webrootを移動して、"webroot/index.php"を編集する

"webroot"ディレクトリだけ、実際のドキュメントルート以下に移動する。

~/www/cakephp$ cd candycane
~/www/cakephp/candycane$ mv webroot ~/www/public/candycane

"webroot/index.php"のなかで、CakePHPのコアとAppの場所を指定しているから、配置を変えたら編集する必要がある。編集が必要なのは3箇所。defineで定義してある定数・ROOTとAPP_DIRとCAKE_CORE_INCLUDE_PATHの3つを次のように書き換える。

/**
 * The full path to the directory which holds "app", WITHOUT a trailing DS.
 *
 */
	if (!defined('ROOT')) {
		define('ROOT', '/home/username/www/cakephp');
	}
/**
 * The actual directory name for the "app".
 *
 */
	if (!defined('APP_DIR')) {
		define('APP_DIR', 'candycane');
	}
/**
 * The absolute path to the "cake" directory, WITHOUT a trailing DS.
 *
 */
	if (!defined('CAKE_CORE_INCLUDE_PATH')) {
		define('CAKE_CORE_INCLUDE_PATH', '/usr/share/cakephp/1.2.10');
	}

他の記述に従うなら、スラッシュ(/)は"DS"としたほうがいいかもしれない。問題は起きていないけど、これでOSの差異を吸収しているんだっけ。とりあえずこれで、"http://localhost/candycane/"でアクセスできるようになる。

権限を変更する

"http://localhost/candycane/"へアクセスすると、"tmp"と"config"2つのディレクトリのパーミッションを"777"にするように指示された。

~/www/cakephp/candycane$ chmod -R o+w tmp config

Apacheの実行ユーザー"www-data"がアクセスできれば、それで良い。
これでインストールを進められるようになる。

後は画面のメッセージに従って進める

CandyCaneのために使うMySQLのデータベースを用意しておく。インストーラーからDB接続情報を入力するように求められる(DB名・ユーザー名・パスワード・ホスト・テーブルの接頭句)。そのまま進めていけばインストールが完了。最後にインストーラ用のファイルを削除するかどうかを確認するメッセージが出てくるけど、学習用ってことを考えたら残しておいていいけど消してしまった。