9arrows入れてみた.

9arrowsというBTSが発表さていたので導入までやってみましたよ.
国産のBTS,しかもRuby On Rails製と聞いて
早速試してみようと思ったのは新しいもの好きの性?

OSはUbuntu 8.04 JeOSをチョイス.

  • シンプルな構成から始めないと余計な依存関係に邪魔されそう.
  • CentOS5.2はパッケージに古いものがあったときに転びそう

OS選択の理由はこんなところです.

9arrowsはsubversionでチェックアウトできるらしいので
まずはsubversionのインストール*1

以下,bashヒストリレベルしか残っていないけど,
誰かには役に立つかもと公開.

# apt-get install subversion
$ pwd
/home/user_name/
$ svn checkout http://9arrows.googlecode.com/svn/trunk/ 9arrows

あまりファイル数は無い様子.
READMEを読むと,まずはファイルパーミッションを変えろとの事.

$ cd 9arrows
$ chmod -R 777 directry_name

パーミッションを変えたリスト

  • log
  • public/attach
  • public/javascripts/comp
  • public/stylesheets/comp
  • tmp

さらにREADMEを読むとDB serverはPostgreSQLらしい.
ちなみにDBは9arrows_development, 9arrows_test, 9arrows_production
を用意すればよいとのこと.

動作環境を整えるためにrubyPostgreSQLをインストール

# apt-get install ruby rubygems postgres
$ ruby -v
1.8.6.....
$ sudo su postgres
$ createDB 9arrows_development
$ createDB 9arrows_test
$ createDB 9arrows_production
$ psql
> ALTER USER postgres with password 'postgres'
> \q

9arrowsのDB設定をみると,
ユーザ,パスは"postgres"だったのでその設定に合わせておいた.
# postgresをパッケージからインストールすると初期化しなくてよいから便利.

Ubuntuリポジトリにあるrailsは古かったのでインストールしない
# rails1.6だったかな?
rubygemsを使ってrails周りをインストール.
最新のrailsはver 2.1.1だったはずだけど,9arrowsの要求に合わせてver 2.1.0をインストール.

# gem install ri rdoc rake
# gem install --v=2.1.0 rails -y

# パッケージのrubygemsを入れた場合,
# gem自身をupdateすると泣き目にあうよ!
# => /usr/bin/gemが無いよー!と怒られる.

ここまで揃えてしまえば,あとはテーブルの初期化すればいいんだなーと思ったらここでこける.

$ rake db:schema:load
...DBにつなげられないよっ!なメッセージ

そーいや昔(rails 1.1)のころと変わって,
DB接続周りは別途インストールだったかなぁと記憶の片隅を探ってみた.

# gem install activerecord-postgresql-adapter #=> ありませんよ!

あらら?

# gem install postgres #=> includeパスが違うよ!

あらー.

# gem install postgres --
     --with-pgsql-include-dir=/usr/local/pgsql/include
     --with-pgsql-lib-dir=/usr/local/pgsql/lib

だめぽ.

# gem install rails postgresql-pr

ここで落ち着く.# 話によると動作が遅いらしいけどいっか.


気を取り直して...

$ pwd
/home/user_name/9arrows
$ rake db:schema:load
...おっけ!
$ ./script/server webrick --port=3000

動いたー!!
メモリ256Mbほどを割り当てたVMware上のOSでも
わりと軽快に動作してくれるみたいですよ.

続いてApache2+Passeger(mod_rails)でも動かしてみようしたけど...
失敗してファイル丸見えだったからまた今度改めて挑戦するとします:^)

[追記]smptサーバの設定も忘れてたのでそれもまた今度.

*1: この時点でネットワーク設定やらaptリポジトリの設定は済んでいるのが前提.