よろしい,ならば9Arrowsだ
9arrows.com | Home
最近公開されたばかりで良く耳にして,こういうのならTracやredMineよりも使い道があるかなとインストールしてみた(結局はどれも使い方次第だと思うけど^^;).でまぁ勿論環境を整えないと行けないので過程をつらつら.インストールしたのは勿論FreeBSD 7.0-RELEASE.
【FreeBSD】PostgreSQL環境を構築する(PostgreSQL 8.3.x)
参考にしたのはこのサイトと,同梱されているREADME-ja.
PostgreSQL
インストール
RailsなのにMySQLじゃないのは結構珍しい気がする.何はともあれportsから.最近リモートログインばかりで使ってないけど,入れているKDEが8.1のクライアントを使っているらしく,最新版とコンフリクトを起こすのでバージョンを合わせてインストール(理由がない限りは最新版の8.3の方がいい).make configの設定はデフォルト.
% cd /usr/ports/databases/postgresql83-server % sudo make config % sudo make install clean
設定
インストールが出来たらpgsqlユーザと/usr/local/pgsqlのディレクトリが生成されるので,これらで設定を行う.
% su root # pgsqlになるために必要(一般ユーザからsu pgsqlだとパスが分からない). # su pgsql
その後,Postgreでクラスタと呼ばれるデータの格納先を作成し初期化する(このモードタブやヒストリーが聞かないのでやりにくいw).
$ cd /usr/local/pgsql $ mkdir data $ initdb -D ./data --encoding=utf-8
問題なければ"Success"と出てくる.で,起動させたいのだけど
postmaster -D ./data or pg_ctl -D ./data -l logfile start
何かSuccessの下に2つ方法が提示される.postmasterがバックエンドサーバで,pg_ctlが細かな設定を含めてpostmasterを起動するフロントエンドのようだ.ということでpg_ctlから起動する.
$ pg_ctl -D /usr/local/pgsql/data start
ちゃんと動いたのであれば,9Arrows用のユーザを作成する.
$ createuser 9arrows -P Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) y Shall the new role be allowed to create more new roles? (y/n) n
次はこのユーザを所有者としてデータベースを作成する(testとproductionも).
$ createdb -O 9arrows -U 9arrows 9arrows_development
これで基本は終わり
ログ
syslog経由で取得する(どうかと思うがまぁ負荷少ないし).
% cd /var/log % sudo touch pgsql.log % sudo chmod 777 pgsql.log
そして/etc/syslog.confの先頭に以下を記述する(下に書くとどこかに引っかかるw).
LOCAL0.* /var/log/pgsql.log
後は/usr/local/pgsql/data/postgresql.confをpgsqlユーザで編集する.
log_destination = 'syslog' syslog_ident = 'postgres' log_statement = 'all'
両方とも再起動すればOK.
Ruby関係
gemからインストール.
% sudo gem install rails -v=2.1.0 -r % sudo gem install ruby-postgres -r
9Arrowsはソースを直接ダウンロードして解凍する.
% cd src % wget http://9arrows.googlecode.com/files/9arrows-all-0.9.0.1.tar.gz % tar zxvf 9arrows-all-0.9.0.1.tar.gz -C ~/work
9Arrows
データベースのマイグレーション
設定を上の設定に合わせる.config/database.ymlを編集.
development: adapter: postgresql database: 9arrows_development username: 9arrows password: 9arrows_password host: localhost # ditto
後はお決まり.
% rake db:schema:load
メール
デフォルトはsendmailなのだけど,そんなの設定してないので他の設定を使う.sendmailの設定をコメントアウトして,下にあるGMailのsmtpの設定を有効にする(最初研究室のメールサーバを使おうと思ったけど,メールが送られてこなかった.ActionMailer分からないので断念).
# Gmail options ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.raise_delivery_errors = true ActionMailer::Base.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => 'gmail.com', :user_name => "your_account@gmail.com", :password => "your_password", :authentication => :plain }
起動
% ruby script\server
とした後http://localhost:3000/にアクセスすればいい.デフォルトでユーザ名/パスが"ninearrows"というユーザがいる.でも新規登録した時のユーザIDはメールアドレスという.まぁmixiみたいにidで識別してるようなので仕方ないのかな.
感想
メインとなるDashBoardはこんな感じで,結構すっきりしている.上の方にプロジェクトで使えるページがあるけど,WBSで各タスクを更新したりすると,ガントチャートやカレンダーにも反映されてビジュアルでも確認することが出来る.
まぁでも一学生に企画書とかはないので,使うなら大抵この辺スキップして使うことになるのかなと(削除することで工程から省くことが出来る).
以下気になった所.
- ユーザって削除出来ない?
- 必須項目には印が欲しい.
- 期限と期間とかの違いがよく分からない(これは恐らく俺のせい).
- README-jaに書かれてるパーミッションにしなくても普通に動く.
- メールに書かれている仮パスワードいらなくない?
- サインアップと同時にログインしてるので,ページに飛ぶと変更することが出来る
- うっかりログアウトしてしまった人を想定してるのかな…
- Mongrel + productionでたまに激重な時がある
- というか以下のエラーが出た(偶然嵌っただけか…)
ActionController::RoutingError (No route matches "/javascripts/user/edit.js" with {:method=>:get}):
まだバージョン0.9.0だしこれから洗練されて行くのを期待しよう.ということで,研究室内では使えるので使いたい人はアカウントを勝手に作ってほげほげして下さい.