RubyやAjax,AIRなど活用した国産タスク共有システム「9arrows」,オープンソースとして公開へ ↑で紹介されている奴をWindowsに入れてみた。ちょいと苦労したので、メモを残してみる。
まず、環境の設定から。
PostgreSQLのインストール
9arrowsは、Railsアプリケーションでは珍しく?PostgreSQLを使ってる。MySQLかと思ってたのに意外だった。
ということで、PostgreSQLをダウンロードしてインストールする。
バージョンは8.3.3を入れた。
2008/09/10時点で、最新のWindows版バイナリへのリンクがすべて404になってたのでびっくりした。どうもリンクは8.3.3-1へつながってるけど、本当のファイルは8.3.3-2になってるようだ。
ディレクトリリストを表示して、そこからダウンロードで事なきを得た。
インストール後は、PostgreSQLのインストールフォルダのbinへパスを通しておく。
Rubyのインストール
当然Rubyもインストールしないといけない。自分は、One-Click Ruby Installer for Windowsをいつも愛用してるのでインストールした。
Railsのインストール
Railsも当然入れないといけない。ただしバージョンは2.1とのこと。
gem install -v=2.1.0 rails
このコマンドでバージョン指定でさくっとインストール。
ruby-postgresのインストール
PostgreSQLに繋ぐので当然インストール。
gem install ruby-postgres
9arrowsのダウンロード
ついに9arrowsのダウンロードだけど、2008/09/10時点でダウンロードできるアーカイブは、不完全っぽい。
rake db:migrateしてもrake db:schema:loadしてもカラムの無いテーブルが作られるだけになってる。なので、Subversionのリポジトリからダウンロードする。
svn checkout http://9arrows.googlecode.com/svn/trunk/ 9arrows-read-only
設定~起動
必要なものはインストールできたので、設定とかに入っていこうと思う。
まずはDBの準備から。DBは9arrows_development,9arrows_test,9arrows_productionがあれば良さそう。
とりあえず動かすだけならdevelopmentだけでも大丈夫かな。
pgAdminからさくっと作った。
database.ymlを開いて、ユーザ名とパスワードを自分のものに書き換える。
rake db:schema:loadを叩くとDBが準備される!と思ったら下のようなエラーが出た。悲しい。
下のサイトによると、PostgreSQLについてきてるdllをRubyについてきてるものと置き換えれば動くらしい。
http://d.hatena.ne.jp/h4y/20080228/1204206048
ssleay32.dllとlibeai32.dllをRubyのbinへコピーして再度実行すると、今度は成功した。データもばっちり入っていた。
次にメールの設定。デフォだとsendmailの設定が有効になってるので、とりあえずenvironment.rbからコメントアウト。
# Mailer option
# sendmail comment out!
=begin
ActionMailer::Base.delivery_method = :sendmail
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.smtp_settings = {
:address => "",
:port => 25,
:app_default_from => ""
}
=end
メールサーバとか特に立てたりしてるわけでもないので、gmailを使うことにした。Gmail optionsという部分があるので、コメントを外してそれっぽい感じにしてみた。
# Gmail options
require "smtp_tls"
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => 'gmail.com',
:user_name => "k.ota.0130@gmail.com",
:password => "ぱすわぁど",
:authentication => :plain
}
これで必要な設定は一通り終わったはずだ。ということなので早速実行!
ruby script\server
を実行すると、さくっと動くはず。ブラウザでhttp://localhost:3000にアクセスすると…
動いた!!デフォルトユーザでユーザ名ninearrows、パスワードninearrowsが定義されてるらしいのでログインしてみた。
プロジェクト作成画面まできた。大丈夫っぽい。最後に自分のアカウントを作ってみようと思う。ログイン画面に戻って、新規ユーザ登録を行う。
エラー画面になったorz
どうも、主キーが重複してるらしい。DBに定義されているシーケンスを見ると全部1のままになっている。
DBにデータは何件か入っているはずなのにおかしい。rake db:schema:loadがそこまで面倒見てくれないということなのだろうか?
とりあえずシーケンスの現在値をすべて100に変えて再実行。
今度はうまくいった!gmailからユーザ作りましたよメールもちゃんと来た。
プロジェクトを作ってカレンダーを表示してみたところ。
とりあえずちゃんと動いてるっぽい。ちょっと個人でちょびちょび使ってみよう。