【Web】 Retrospectiva 構築方法

自宅での諸々の作業(プログラミング関係だけでなく)を管理するのにwikiやらtracやら果てはRedmineまで手を出して色々やっていたのだけど、あんまりうまくいってなかった。

  • tracは複数プロジェクト対応できないし動作が重い
  • wikiは使うのが結構面倒
  • Redmineは立ち上げが大変な割に個人使用には向かない

というのが一応それぞれの理由。根気が無いという話もあるが。[E:coldsweats01]

そこで、今回リポジトリをGitに移行したのに合わせてフロントエンドも変更してみました。
色々調べてみた所、Redmineと同じくRoRで動作する retrospectiva というものを発見。この方、どうやらgithubで開発がされているらしく、こちらとしても好都合なんで試しに導入してみる事にしました。

Screenshot_from_20120501_121938
結論から言うと、

  • 立ち上げが容易
  • 設定などが少なくて分かりやすい
  • 複数プロジェクト管理が可能
  • 一応wikiやblog風のエクステンションがある
  • 動作的には結構軽め

という事で、個人的には受け入れられるレベルでした。
後は実際に使ってみて検討します。

以下は構築方法のメモ。

[サーバ環境]
OS: ubuntu 10.04 LTS
ruby: 1.8.7
DB: sqlite3
Webサーバ: apache2

[作業の流れ]

$ sudo apt-get install ruby1.8-dev

ruby1.8-devが無いとretrospectivaのインストールスクリプトでエラーになります。

$ sudo apt-get install curl
$ sudo -s
$ cd /

今回 /retrospectiva ディレクトリにインストールするつもりなので、rootユーザになった上でルートディレクトリで作業しました。

$ curl https://raw.github.com/dim/retrospectiva/master/script/remote/retrospectiva_installer.rb | ruby

直接github.com上のインストールスクリプトを動かしてしまうのが簡単でお薦めです。
以下のようなログが表示されるはず。

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  8914  100  8914    0     0   7625      0  0:00:01  0:00:01 –:–:– 38925

  Retrospectiva Remote Installer
  ==============================

  Unpacking vendor libraries to ‘/retrospectiva/vendor’
  Building GEMs
  Writing database configuration
  Creating database

  Next Steps:

  * Add the following line to your crontab (crontab -e):
     * *  * * *  RAILS_ENV=production /usr/bin/ruby /retrospectiva/script/retro_tasks

  * Run Retrospectiva:
     cd retrospectiva; /usr/bin/ruby script/server -e production

  * Deploy as Apache2/NingX Virtual Host:
     Please visit http://www.modrails.com/ for more information

  * Add Subversion support:
     sudo apt-get install subversion libsvn-ruby

  * Add GIT support:
     sudo apt-get git-core

あとはこのコメント通りに、crontab -e でクーロンに追加しておいてからwebrickで一旦動作確認します。

$ cd retrospectiva
$ ruby script/server –binding=サーバIP -pポート番号 -e production

これでしばらくするとwebrickが起動し、クライアント環境からアクセスできるようになります。

http://サーバIP:ポート番号/

にアクセスして、動作を確かめてください。
初期アカウントは

Username:  admin
Password:   password

となっています。
ちょっと触ってみて、動作に問題がなければ後はapache2の設定を。

$ vi /etc/apache2/conf.d/retrospectiva

以下の設定を記入します。まぁ、ここはVirtualHostの設定なので、ご自由にやっちゃってください。キモはDocumentRootが /retrospectiva/public であるという事位ですね。

<VirtualHost *:80>
    ServerName retrospectiva
    DocumentRoot /retrospectiva/public
    ErrorLog /var/log/apache2/retrospectiva-error.log
    CustomLog /var/log/apache2/retrospectiva-access.log combined

    <Directory /retrospectiva/public>
        Options ExecCGI FollowSymLinks
        AllowOverride all
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

次にディレクトリのパーミッションを変更します。

$ chown -R www-data:www-data /retrospectiva

本当は必要なディレクトリとファイルだけで良いのだけど、面倒なんで全部変えちゃいました。[E:coldsweats01]
それからエクステンションをインストールしておきます。

$ cd /retrospectiva
$ RAILS_ENV=production script/rxm install agile_pm
$ RAILS_ENV=production script/rxm install retro_wiki
$ RAILS_ENV=production script/rxm install retro_blog

これで全てのエクステンションがインストールされます。
大体以上っすかね?

Author: kan
初めてプログラムらしきものを作ったのは幼稚園の時。それから約40年経ち、現在はデジタル回路設計から信号処理、機械学習まで幅広い経験を活かしてシステムアーキテクトとして活動中。超並列処理、デジタル回路とソフトウェアのバランス設計が得意分野。 Linux/Mac/Windows使い。 C/C++を主要言語として、Unity、Qtなどのフレームワーク興味あり。UI/UXデザイン、STL拡張など。 音声処理、画像処理、技術コンサルは仕事でも請け負います。 一般ソフトウェア開発プロセス、医療機器ソフトウェア開発プロセス作成も進行中。