【Web】 Retrospectiva 構築方法
自宅での諸々の作業(プログラミング関係だけでなく)を管理するのにwikiやらtracやら果てはRedmineまで手を出して色々やっていたのだけど、あんまりうまくいってなかった。
- tracは複数プロジェクト対応できないし動作が重い
- wikiは使うのが結構面倒
- Redmineは立ち上げが大変な割に個人使用には向かない
というのが一応それぞれの理由。根気が無いという話もあるが。
そこで、今回リポジトリをGitに移行したのに合わせてフロントエンドも変更してみました。
色々調べてみた所、Redmineと同じくRoRで動作する retrospectiva というものを発見。この方、どうやらgithubで開発がされているらしく、こちらとしても好都合なんで試しに導入してみる事にしました。
- 立ち上げが容易
- 設定などが少なくて分かりやすい
- 複数プロジェクト管理が可能
- 一応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 --:--:-- 38925Retrospectiva Remote Installer
==============================Unpacking vendor libraries to '/retrospectiva/vendor'
Building GEMs
Writing database configuration
Creating databaseNext 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
本当は必要なディレクトリとファイルだけで良いのだけど、面倒なんで全部変えちゃいました。
それからエクステンションをインストールしておきます。
$ 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
これで全てのエクステンションがインストールされます。
大体以上っすかね?