oinume journal

Scratchpad of what I learned

Redmine 2.3系でチケット一覧に親チケットの題名が出てうざいので直した

--- app/helpers/queries_helper.rb  (リビジョン 12068)
+++ app/helpers/queries_helper.rb   (作業コピー)
@@ -124,7 +124,7 @@
     when 'FalseClass'
       l(:general_text_No)
     when 'Issue'
-      value.visible? ? link_to_issue(value) : "##{value.id}"
+      value.visible? ? link_to_issue(value, :subject => false) : "##{value.id}"
     when 'IssueRelation'
       other = value.other_issue(issue)
       content_tag('span',

Redmineによるタスクマネジメント実践技法

Redmineによるタスクマネジメント実践技法

RedmineでCSVのユーザ情報をまとめて登録するスクリプト

Web上からチマチマ登録するのもあれだったので、CSVのユーザ情報を一括で users テーブルにぶち込むためのスクリプトを作りました。作った後にタイムゾーンとかの設定が users テーブルじゃなくて user_preferences にあることを知りましたが、あまり細かいことを追求する時間はなかったので、とりあえずcodereposにアップしました。ご自由にお使い下さい。

 

Redmine(というかRails)的にこういう類のスクリプトをどこに保存するべきかわからなかったので、codereposには platform/redmine/contrib というディレクトリをでっち上げています。「作法的にはここだろ」というものがあれば教えてもらえると嬉しいです。

 

Railsは ver 1.2以来さわっていなかったのですが、ActiveRecordは以外に変わっていなかったのですんなり書けました。でもPerl の手癖が抜けなくて 変数宣言に my つけたり、行末にセミコロンつけたり(これは動くけど)で大変でした。

 

[rakuten]book:13937889[/rakuten]

Redmine 0.8.1をPhusion Passengerで動かす

はじめに - Phusion Passengerとは

Redmine 0.8.0をインストールの記事を書いた直後に0.8.1がリリースされていたので、アップデートがてらPhusion Passengerを使ってApacheでRemineを動かしてみたいと思います。Phusion Passengerとは、別名mod_railsとも呼ばれるApacheモジュールとして実装されたRailsの実行環境で、インストールや設定が簡単なのが特徴です。

 

Phusion Passengerのインストール

まずは passenger をビルドするために Apache の apxs などをインストールしておきます。例によって環境は Ubuntu 8.10 です。

 

$ su -

# aptitude install apache2-dev ruby1.8-dev

# export APXS2=/usr/bin/apxs2

 

終わったらpassengerのインストールです。といっても以下のコマンドを実行するだけですが。

 

# gem install passenger

# passenger-install-apache2-module

 

 

インストールが完了すると下記のように Apachehttpd.conf に書き込む設定内容が表示されるので、これを /etc/apache2/sites-available/default にコピペします。

 

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so

PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6

RailsRuby /usr/bin/ruby1.8

 

あとは DocumentRoot を Redmine のインストールディレクトリ下の public に設定します。

Redmineが/var/www/redmineにインストールされている場合は

 

DocumentRoot /var/www/redmine/public

 

と設定します。なお、DocumentRoot を /var/www に設定しておき、http://localhost/redmine/ のように Redmine をサブディレクトリとして扱いたい場合は以下のようにRedmine のインストールディレクトリにシンボリックリンクを張ります。

 

# ln -s $REDMINE_ROOT/public /var/www/redmine

 

そして Apache の設定ファイルに

 

RailsBaseURI /redmine

 

を追加します。これで /redmine/ のURLでアクセスできるようになります。

というわけで設定が終わったら Apache を起動してみましょう。

 

# /etc/init.d/apache2 restart

 

今回は http://ホスト名/redmine/ でアクセスしてみます。どうでしょう?RedmineのTOPページが表示されたでしょうか?404や403エラーになる場合、Apacheのエラーログが /var/log/apache2/error.log にあるので、これを見てみると原因が分かるかもしれません。

 

Passengerの詳細な設定項目についてはPhusion Passenger users guideに詳しく書いてあるので一読してみると良いと思います。

 

[tmkm-amazon]4798021377[/tmkm-amazon]

Redmine 0.8.0をインストール

「使ってみないとその善し悪しはわかりません」ということで、プロジェクト管理ツールであるRedmineをインストールしてみました。Installing Redmine通りにやっても微妙にうまくいかなかったので備忘録がてらメモを残しておきます。環境はUbuntu 8.10 + MySQL 5.0.67です。

 

事前準備

 

 

  • Ruby 1.8.6 - 今回はUbuntu の 1.8.7 (2008-08-11 patchlevel 72) を使いました

 

 

 

 

  • Rake 0.8.3

 

 

  • openssl

 

 

  • RMagick

 

 

が必要です。まずはRubyGemsをダウンロードして解凍してインストールしましょう。

 

$ sudo ruby setup.rb

 

これがおわったらgemsでRakeをインストールします。

 

$ sudo gem install rake

 

あとは openssl と rmagickです。

 

$ sudo aptitude install libopenssl-ruby librmagick-ruby

 

これで準備完了です!

 

Redmineのインストール

RubyForgeから0.8.0をダウンロードして解凍します(できたディレクトリを便宜上 $REDMINE_ROOT とします)。そして空のデータベースを作成しておきます。本家のドキュメントではproductionのDBしか作ってないですが、development, testも作っておくとよいでしょう。

 

mysql> create database redmine character set utf8;

mysql> create database redmine_development character set utf8;

mysql> create database redmine_test character set utf8;

 

DBを作成したら $REDMINE_ROOT/config/database.yml.example を database.yml としてコピーし、以下のように編集します。

 

--- config/database.yml.example 2008-12-30 19:09:27.000000000 +0900

+++ config/database.yml 2009-02-11 12:13:15.000000000 +0900

@@ -10,25 +10,28 @@

adapter: mysql

database: redmine

host: localhost

encoding: utf8

+ socket: /var/run/mysqld/mysqld.sock

 

development:

adapter: mysql

database: redmine_development

host: localhost

encoding: utf8

+ socket: /var/run/mysqld/mysqld.sock

 

test:

adapter: mysql

database: redmine_test

host: localhost

encoding: utf8

+ socket: /var/run/mysqld/mysqld.sock

 

test_pgsql:

adapter: postgresql

 

 

socket: /var/run/mysqld/mysqld.sock を足しているのは、何も設定しないと rails が/tmp/mysql.sock を参照するようになっていて、UbuntuMySQLの設定とかみ合っていないからです。また、このsocketのパスは人によってはカスタマイズしているかもしれないので、うまくいかない場合は /etc/mysql/my.cnf を参照し、そこで指定しているパスと同じものを指定するようにしてください。また、username/password もデフォルトから変えている場合は、それも合わせて database.yml に変更を加えてください。

 

次にデータベースの初期設定を行ないます。本家のドキュメントによると RAILS_ENV="production" を指定するようになっていますが、今回はお試しなので development でやってみます。

 

$ rake db:migrate RAILS_ENV="development"

 

 

終わったら $REDMINE_ROOT/tmp/{files,log,tmp} ディレクトリのパーミッションを変更します。

 

$ sudo chmod -R 777 files log tmp

 

今回は説明を簡素化するために端折ってますが、本来なら 777 の設定はよろしくないので、真面目にやるのであれば Webサーバを実行するユーザがこれらのディレクトリを所有するように chown するのがよいでしょう。

 

あとはfcgiスクリプトをコピーして、サーバを起動します。

 

$ cp public/dispatch.fcgi.example public/dispatch.fcgi

$ ruby script/server

 

 

問題なくサーバが起動したら http://サーバ名:3000/ にアクセスしてみましょう。下記のような画面が表示されればインストール完了です。

 

Redmine起動直後の画面

 

使ってみた感想

さっくり30分ぐらい使ってみた感想としてはインターフェースが簡素ということでしょうか。すごく質素なページしか表示されないので、最初何をやればいいのかよくわかりませんでした。チケットの新規発行はトラッカーは設定してないと使えなかったりとか、真面目にドキュメントを読まないとわからなかったりするので、もう少し初心者向けのチュートリアルRedmine自体に組み込んであると良いのかなと思いました。