<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SNS開発者の雑記帳 &#187; Redmine</title>
	<atom:link href="http://www.synapz.jp/mrsy/tag/redmine/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.synapz.jp/mrsy</link>
	<description></description>
	<lastBuildDate>Fri, 05 Mar 2010 02:11:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>プロジェクト管理ツール Redmine</title>
		<link>http://www.synapz.jp/mrsy/2008/05/redmine/</link>
		<comments>http://www.synapz.jp/mrsy/2008/05/redmine/#comments</comments>
		<pubDate>Mon, 12 May 2008 12:10:47 +0000</pubDate>
		<dc:creator>mrsy</dc:creator>
				<category><![CDATA[TIPS]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Redmine]]></category>

		<guid isPermaLink="false">http://www.synapz.jp/mrsy/2008/05/12/post52/</guid>
		<description><![CDATA[
フリーで使えるBTS(バグトラッキングツール)を導入しようと思い情報収集していたところ、
Tracより良さげなRedmineにたどり着きました。
Tracと比較してのメリットは、こちらに詳しく掲載されています。
ということで、今回はRedmineインストールの顛末記です。

Tracと比較して個人的にメリットを感じたのは、

複数プロジェクトを管理できる
デフォルトで日本語対応している
ガントチャートが使える
RailsアプリでPassenger(mod_rails)に対応(v0.7より)

の4つです。Tracはプロジェクト毎に公開ディレクトリを作成してApacheのhttpd.confを書き換えたりしなければならないのに対し、Redmineは一度設置すればあとは画面上でプロジェクトを作成できます。

また、プロジェクト毎に担当者を設定できるので、社外開発者に解放しても心配ありません。

最後のPassenger対応については、mongrelサーバで動かすよりも実際簡単でした。インストール方法も公式ページに詳細が掲載されています。


■メール通知をGmailのsmtpサーバを利用するようにカスタマイズ
Gmailのsmtpを利用するには、RailsにTLSプラグインを入れなければなりません。
# gem install tlsmail

そして、Redmineの config/environment.rbの最後に以下の2行を追加します。
require "tlsmail"
Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)

これで送信することができました。


■Subversionリポジトリと連携
Redmineが動作しているサーバに、Subversionリポジトリがあるので連携させようと思ったのですが、ここでハマりました。どのように設定しても、「リポジトリに、エントリ/リビジョンが存在しません。」というエラーが表示されます。


同一サーバ上にリポジトリが存在するので、URLは「file:///リポジトリへのパス」と指定すればいいはずなのですが、一向にうまくいきません。。その他スキーム（http://, svn://）も試したのですがダメでした。

エラーログは下記の通り。
You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]


エラーが出ている箇所のソースは以下の22行目です。
$REDMINE_HOME/lib/redmine/scm/adapters/subversion_adapter.rb


# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
require 'redmine/scm/adapters/abstract_adapter'
require 'rexml/document'
module Redmine
module Scm
module Adapters
class SubversionAdapter &#60; AbstractAdapter
# SVN executable name
SVN_BIN = &#34;svn&#34;
# Get info [...]]]></description>
			<content:encoded><![CDATA[<p>
フリーで使えるBTS(バグトラッキングツール)を導入しようと思い情報収集していたところ、<br />
<a href="http://trac.edgewall.org/" target="_blank">Trac</a>より良さげな<a href="http://redmine.jp/" target="_blank">Redmine</a>にたどり着きました。<br />
Tracと比較してのメリットは、<a href="http://d.hatena.ne.jp/zenpou/20080414/1208189475" target="_blank">こちら</a>に詳しく掲載されています。<br />
ということで、今回はRedmineインストールの顛末記です。<br />
<br />
Tracと比較して個人的にメリットを感じたのは、<br />
<ul>
<li>複数プロジェクトを管理できる</li>
<li>デフォルトで日本語対応している</li>
<li>ガントチャートが使える</li>
<li>RailsアプリでPassenger(mod_rails)に対応(v0.7より)</li>
</ul>
の4つです。Tracはプロジェクト毎に公開ディレクトリを作成してApacheのhttpd.confを書き換えたりしなければならないのに対し、Redmineは一度設置すればあとは画面上でプロジェクトを作成できます。<br />
<br />
また、プロジェクト毎に担当者を設定できるので、社外開発者に解放しても心配ありません。<br />
<br />
最後のPassenger対応については、mongrelサーバで動かすよりも実際簡単でした。インストール方法も<a href="http://redmine.jp/redmine_today/2008/04/13/20080413-apache-passenger/" target="_blank">公式ページに詳細が掲載されています。</a><br />
<br />
<br />
<strong><big>■メール通知をGmailのsmtpサーバを利用するようにカスタマイズ</big></strong><br />
Gmailのsmtpを利用するには、RailsにTLSプラグインを入れなければなりません。<br />
<pre><code># gem install tlsmail</code></pre>
<br />
そして、Redmineの config/environment.rbの最後に以下の2行を追加します。<br />
<pre><code>require "tlsmail"
Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
</code></pre>
これで送信することができました。<br />
<br />
<br />
<strong><big>■Subversionリポジトリと連携</big></strong><br />
Redmineが動作しているサーバに、Subversionリポジトリがあるので連携させようと思ったのですが、ここでハマりました。どのように設定しても、「<strong>リポジトリに、エントリ/リビジョンが存在しません。</strong>」というエラーが表示されます。<br />
<br />
<br />
同一サーバ上にリポジトリが存在するので、URLは「file:///リポジトリへのパス」と指定すればいいはずなのですが、一向にうまくいきません。。その他スキーム（http://, svn://）も試したのですがダメでした。<br />
<br />
エラーログは下記の通り。<br />
<pre><code>You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
</code></pre>
<br />
エラーが出ている箇所のソースは以下の22行目です。<br />
<strong>$REDMINE_HOME/lib/redmine/scm/adapters/subversion_adapter.rb</strong><br />
<br />
<br />
<pre><code># Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
require 'redmine/scm/adapters/abstract_adapter'
require 'rexml/document'
module Redmine
module Scm
module Adapters
class SubversionAdapter &lt; AbstractAdapter
# SVN executable name
SVN_BIN = &quot;svn&quot;
# Get info about the svn repository
def info
cmd = &quot;#{SVN_BIN} info --xml #{target(&#39;&#39;)}&quot;
cmd &lt; doc.elements["info/entry/repository/root"].text,
:lastrev =&gt; Revision.new({
:identifier =&gt; doc.elements["info/entry/commit"].attributes['revision'],
:time =&gt; Time.parse(doc.elements["info/entry/commit/date"].text).localtime,
:author =&gt; (doc.elements["info/entry/commit/author"] ? doc.elements["info/entry/commit/author"].text : "")
})
})
rescue =&gt; e
logger.error(e)
end
</code></pre>
<br />
16行目の、#{SVN_BIN} info &#8211;xml #{target(&#8221;)}　こいつを手動で叩くと（もちろんApache実行ユーザで）、きちんとXMLで結果が返ってきているのは確認しています。<br />
<br />
Redmineを使ってドキュメント〜ソースまで一気通貫で管理できる！と<br />
意気込んでいたのですが、諦めようかな。。<br />
どなたかヒントをお持ちでしたらご教授いただけますか？<br />
<br />
<br />
<br />
<strong><big>2008/05/15 追記</big></strong><br />
解決しました。svnの設定情報が/root配下のものを読み込んでおり、Redmineの実行ユーザがapache<br />
なのでPermissionエラーとなっていたようです。<br />
<br />
&#8211;config-dir オプションを利用して、apacheユーザーのホームディレクトリの設定情報を読み込むように変更します。<br />
<strong>$REDMINE_HOME/lib/redmine/scm/adapters/subversion_adapter.rb</strong><br />
<br />
<pre><code>require 'redmine/scm/adapters/abstract_adapter'
require 'rexml/document'
module Redmine
module Scm
module Adapters
class SubversionAdapter &lt; AbstractAdapter
# SVN executable name
#        SVN_BIN = &quot;svn&quot;
SVN_BIN = &quot;svn --config-dir /home/apache &quot; # こうする
# Get info about the svn repository
def info
</code></pre>
<br />
11行目のように書き換える。<br />
あー、すっきりした！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synapz.jp/mrsy/2008/05/redmine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

