CandyCane | candycane をインストールしてみる

828 views
Skip to first unread message

custar

unread,
Dec 1, 2009, 4:32:41 AM12/1/09
to CakePHP-ja
candycane のインストールを試みる。

os .......... windows xp
xampp ....... 1.7.1 (php 5.2.9)
cakephp ..... 1.2.5

candycane に関する予備知識ゼロ状態からのインストール作業開始。

custar

unread,
Dec 1, 2009, 4:50:37 AM12/1/09
to CakePHP-ja
windows 環境なので webroot/index.php をちょっと編集。

db へのアクセスくらい準備しておくか、と思い
config/database.php を作り、
http://localhost/candycane/ にアクセス。

css が邪魔してメッセージが見えにくいが

Undefined variable: currentuser [APP\views\layouts\base.ctp, line
31]
Error: Database table projects for model Project was not found.

などなどエラーが出ている。
行き成り currentuser はないので、手順を間違ったことに気付く。


改めて config/routes.php を見ると、

// for quick install
if (!file_exists(APP.'config'.DS.'database.php')) {
Router::connect('/', array('controller' => 'install', 'plugin' =>
'install'));
}
else {
Router::connect('/', array('controller' => 'welcome', 'action' =>
'index'));
}

と書いてある。installer があったのか。

config/database.php を消し、http://localhost/candycane/ に再アクセス。

Install candycane
Step 1: Database

が現れる。なるほど。

username, password, database name を入力し Submit するが同フォームが再表示されるだけ。
config/database.php が作られてもいない。

ここで期待するのは config/database.php の生成だが、
permission で config/ ディレクトリへのファイル生成を禁止されている状態だと思うが、
メッセージがないから不明。ソースを読むしかないか。

続く...

custar

unread,
Dec 1, 2009, 5:18:25 AM12/1/09
to CakePHP-ja
db に繋がっていなかった。
予め dump から作っておいた db name (candycane) に不要な文字が含まれていたのが原因。

そして、permission denied も期待通り。
一時的に permission を緩くして再実行。

rename(database.php.install, database.php) はテスト段階なので、
敢えて copy() に変更しておき、最後に unlink() として後始末することにした。

Step 2: Run SQL

次に進んだ。

続く...

custar

unread,
Dec 1, 2009, 5:22:09 AM12/1/09
to CakePHP-ja
あ、Step2 でも dump.sql を予め仕込んでいたのが裏目に出た。

dump.sql のデータがここで insert されるのか。

custar

unread,
Dec 1, 2009, 5:26:02 AM12/1/09
to CakePHP-ja
Click here to delete installation files
... 失敗。

そりゃ、パーミッションがない。

custar

unread,
Dec 1, 2009, 5:30:30 AM12/1/09
to CakePHP-ja
Welcome page: http://localhost/candycane/

に早速アクセスしてみると、

SQL Error: 1146:
Table 'candycane.{default_prefix}' doesn't exist
[CORE\cake\libs\model\datasources\dbo_source.php, line 525]

ふむ。

config/database.php
---
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => '...',
'password' => '...',
'database' => 'candycane',
'prefix' => '{default_prefix}',
'encoding' => 'utf8',
);

あぁ、prefix が置換に失敗している。

custar

unread,
Dec 1, 2009, 5:36:16 AM12/1/09
to CakePHP-ja
plugins/install/controllers/install_controller.php
---
function database() {
...
// write database.php file
$content = str_replace('{default_host}', ...
$content = str_replace('{default_login}', ...
$content = str_replace('{default_password}', ...
$content = str_replace('{default_database}', ...
if($file->write($content) ) {

'prefix' => '{default_prefix}' の置換がない。

custar

unread,
Dec 1, 2009, 5:38:57 AM12/1/09
to CakePHP-ja
取り敢えず、手で編集。

http://localhost/candycane/ に再アクセスして表示できた。

custar

unread,
Dec 1, 2009, 5:49:34 AM12/1/09
to CakePHP-ja
New Project で片っ端にチェックボックスを on にしたら、
エラーが出てしまった。

ま、目的は果たしたので問題なし。


...終わり。

custar

unread,
Dec 1, 2009, 5:52:18 AM12/1/09
to CakePHP-ja
ちなみに、失敗していることへのメッセージが出ない。

custar

unread,
Dec 6, 2009, 2:11:55 PM12/6/09
to CakePHP-ja
redmine の basecamp theme を適用てみたが、
class, id, html が何かしら違うのか、
色だけ変わって、正しく反映されなかった。

- A 37signals basecamp theme for Redmine
http://www.redmine.org/boards/1/topics/1524

redmine と candycane の両方で普通に効いてそうな
Alternate の css で diff を取ってみると
修正点が見えてくるかもしれない。

custar

unread,
Dec 6, 2009, 2:20:13 PM12/6/09
to CakePHP-ja
css そのものの変更を忘れていた。

1c1
< @import url(../../../stylesheets/application.css);
---
> @import url(../../../css/application.css);

他に細かな違いがあったが、取り敢えず効いた。

custar

unread,
Dec 6, 2009, 2:25:52 PM12/6/09
to CakePHP-ja
6c6
< #content, #main.nosidebar #content {...}
---
> #content {...}

64,66c64,66
< input[type="text"], input[type="password"], textarea, select {...}
< input[type="text"], input[type="password"] {...}
< input[type="text"]:focus, input[type="password"]:focus,
textarea:focus, select:focus {...}
---
> input[type="text"], textarea, select {...}
> input[type="text"] {...}
> input[type="text"]:focus, textarea:focus, select:focus {...}

この程度の差異は無視。
Reply all
Reply to author
Forward
0 new messages