<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>www.sakuttoly.com &#187; さくらインターネット</title>
	<atom:link href="http://www.sakuttoly.com/blog/tag/%e3%81%95%e3%81%8f%e3%82%89%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%8d%e3%83%83%e3%83%88/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sakuttoly.com</link>
	<description></description>
	<lastBuildDate>Sun, 10 Apr 2011 13:25:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.sakuttoly.com/blog/tag/%e3%81%95%e3%81%8f%e3%82%89%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%8d%e3%83%83%e3%83%88/feed" />
		<item>
		<title>さくらインターネットで、Subversion運用と、Eclipse+Subversiveでのsvn+ssh接続と、RedmineとSubversion連携を行う</title>
		<link>http://www.sakuttoly.com/blog/2009/07/sakura_subversion_eclipse_redmine.html</link>
		<comments>http://www.sakuttoly.com/blog/2009/07/sakura_subversion_eclipse_redmine.html#comments</comments>
		<pubDate>Sat, 25 Jul 2009 18:40:11 +0000</pubDate>
		<dc:creator>kuborn</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Redmine]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Poderosa]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[subversive]]></category>
		<category><![CDATA[さくらインターネット]]></category>
		<category><![CDATA[ヤクの毛を刈る]]></category>

		<guid isPermaLink="false">http://www.sakuttoly.com/?p=483</guid>
		<description><![CDATA[こんにちは。kubomaです。 今日はさくらインターネットでのSubversion運用と、そのSubversionに対するEclipse+Subversiveからの鍵交換方式SSHの接続設定(svn+ssh)をするまでの [...]]]></description>
			<content:encoded><![CDATA[				<p>こんにちは。kubomaです。</p>
				<p>今日はさくらインターネットでのSubversion運用と、そのSubversionに対するEclipse+Subversiveからの鍵交換方式SSHの接続設定(svn+ssh)をするまでの設定について記載します。<br />
				またRedmineとSubversionの連携についても記載します。</p>
				<p>ここではRedmineは別サーバで稼働するケースを想定しています。<br />
				# 実際さくらインターネット上でのRedmine稼働は可能ですが、かなり遅くて実用には向かないと思いました。</p>
				<h3>今回のゴール</h3>
				<ol>
				<li>さくらインターネットのサーバとPoderosaを用いて鍵交換方式のSSH接続を行う</li>
				<li>さくらインターネットのサーバでSubversionを稼働させる</li>
				<li>さくらインターネットのサーバ上のSubversionに、クライアント側(Windows)のEclipse+Subversiveから接続、使用できるようにする</li>
				<li>別サーバのRedmineとさくらインターネットのサーバ上のSubversionを連携させる</li>
				</ol>
				<p>サーバはさくらインターネットのレンタルサーバ、クライアントは自宅のWindows XPです。<br />
				またRedmineが別サーバのCentOS上にインストール済みです。<br />
				Redmineのインストールから稼働までについては、当ブログの以前の記事<a href="http://www.sakuttoly.com/blog/2009/04/redmine_passenger_centos.html">サクッとCentOS 5.3にRedmine + Passenger環境をインストール</a>を参考にしてください。<br />
				<span id="more-483"></span></p>
				<h3>注意点</h3>
				<p>当記事中の<span class="strong">user</span>は、さくらインターネット上のユーザ名を示します。<br />
				また<span class="strong">server</span>は、さくらインターネット上のサーバ名を示します。<br />
				みなさんの環境に合わせて読み替えてください。</p>
				<h3>使用したソフトウェアのバージョン</h3>
				<table>
				<tr>
				<th>さくらインターネットのOS</th>
				<td>FreeBSD 7.1-RELEASE-p6 i386</td>
				<td></td>
				</tr>
				<tr>
				<th>Poderosa</th>
				<td>4.1.0</td>
				<td></td>
				</tr>
				<tr>
				<th>Subversion</th>
				<td>1.6.3</td>
				<td>sourceからインストール</td>
				</tr>
				<tr>
				<th>Eclipse+Subversive</th>
				<td>3.4.2</td>
				<td><a href="http://mergedoc.sourceforge.jp/pleiades_distros3.4.html">Pleiades All in One 3.4.2.20090426のJavaバージョン</a>を使用。</td>
				</tr>
				<tr>
				<th>Redmine</th>
				<td>0.8.3.stable</td>
				<td></td>
				</tr>
				</table>
				<h3>さくらインターネットのサーバとPoderosaを用いて鍵交換方式のSSH接続を行う</h3>
				<p>ここでやっていることは、一般的な鍵交換方式によるSSH接続の設定になります。<br />
				なおさくらインターネットのSSH(sshd)はパスワードによる認証を禁止することは恐らくできません。</p>
				<h4>Poderosaで公開鍵/秘密鍵のペアを作成</h4>
				<p>Poderosaの[ツール]-[SSH鍵作成ウィザード]でDSA-2048bitで鍵を作成し(RSAや2048bit以外のbit数でも上手く行くと思いますが、確認はしていません)、秘密鍵と<span class="strong">OpenSSH形式</span>の公開鍵を保存します。<br />
				秘密鍵はローカルのどこかに置きます。<br />
				公開鍵はWinSCPなどでさくらサーバの以下の場所に置きますので、いったんローカルに保存します。</p>
				<h4>生成した公開鍵を、WinSCPなどでさくらサーバの所定の位置に配置</h4>
				<p>配置場所は、</p>
				<pre>
$HOME/.ssh/authorized_keys2
</pre>
				<p>です。<br />
				既にそのファイルが存在する場合には、置き換えではなく追記するようにします。</p>
				<pre class="console">
	cat id_dsa.put >> authorized_keys2
</pre>
				<h4>Poderosaで接続</h4>
				<p>[ファイル]-[新規TELNET/SSH接続]を実行し、新規接続ダイアログを開きます。<br />
				[SSHパラメータ]の認証方法を<span class="strong">公開鍵</span>とし、パスフレーズは鍵生成時に入力したものを指定、鍵ファイルはローカルに保存した秘密鍵を指定します。<br />
				[OK]ボタンを押し、ログインに成功すれば無事完了です。</p>
				<h3>さくらインターネットのサーバでSubversionを稼働させる</h3>
				<p>Subversionへのインターフェース(スキーマ)はhttp/https/svn/svn+sshなど色々な形があります。<br />
				ここではセキュリティを考慮し、svn+sshスキーマを用いることにします。</p>
				<p>ググると分かりますが、Subversionのインストールについて書かれた様々な文書がWeb上にはあり、またTracとの連携を前提としたものなども多く、結構混乱します。<br />
				公式には何を入れればよいのかは未だによく分かっていませんが、ここでは私が上手くいった方法を記載します。<br />
				これはかなり2つのアーカイブのみでインストールが完了する簡単な方法です。</p>
				<h4 id="subversion_install">Subversionのインストール</h4>
				<p><a href="http://kayakaya.net/d/20090323.html">さくらインターネットに(簡単に)Subversionを入れてみる</a>の手順に従って行いました。<br />
				~/archives以下で作業し、$HOME/local以下にインストールしています。</p>
				<pre class="console">
[user@server ~/archives]$ wget http://subversion.tigris.org/downloads/subversion-1.6.3.tar.gz
[user@server ~/archives]$ wget http://subversion.tigris.org/downloads/subversion-deps-1.6.3.tar.gz
[user@server ~/archives]$ tar zxvf subversion-1.6.3.tar.gz
[user@server ~/archives]$ tar zxvf subversion-deps-1.6.3.tar.gz
[user@server ~/archives]$ cd subversion-1.6.3
[user@server ~/archives/subversion-1.6.3]$ ./configure --prefix=$HOME/local --with-ssl --without-berkeley-db
[user@server ~/archives/subversion-1.6.3]$ gmake clean
[user@server ~/archives/subversion-1.6.3]$ gmake
[user@server ~/archives/subversion-1.6.3]$ gmake install
</pre>
				<p>今のSubversionはデフォルトでBerkeleyDBではなくFSFSを使用するため、configure時に&#8211;without-berkeley-dbを指定しているものと思います。</p>
				<p>インストール後、$HOME/local/binにPATHが通ってる場合、</p>
				<pre class="console">
[user@server ~/archives/subversion-1.6.3]$ which svn
/home/user/local/bin/svn
</pre>
				<p>となるはずです。</p>
				<h4>svnコマンドの文字化け(LANGの設定変更？)</h4>
				<p>上記インストール後、</p>
				<pre class="console">
svn --version
</pre>
				<p>などを実行すると、</p>
				<pre class="console">
svn, ?\227?\131?\144?\227?\131?\188?\227?\130?\184?\227?\131?\167?\227?\131?\179 1.6.3 (r38063)
   ?\227?\130?\179?\227?\131?\179?\227?\131?\145?\227?\130?\164?\227?\131?\171?\230?\151?\165?\230?\153?\130: Jul 25 2009, 12:37:00

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

?\228?\187?\165?\228?\184?\139?\227?\129?\174?\227?\131?\170?\227?\131?\157?\227?\130?\184?\227?\131?\136?\227?\131?\170?\227?\130?\162?\227?\130?\175?\227?\130?\187?\227?\130?\185 (RA) ?\227?\131?\162?\227?\130?\184?\227?\131?\165?\227?\131?\188?\227?\131?\171?\227?\129?\140?\229?\136?\169?\231?\148?\168?\227?\129?\167?\227?\129?\141?\227?\129?\190?\227?\129?\153:

(後略)
</pre>
				<p>という風に文字化けして表示されることがあります。</p>
				<p>どうも環境変数LANGがらみの問題らしいですが、私自身はこの現象があまり理解できていません。<br />
				とりあえず<a href="http://d.hatena.ne.jp/gnarl/20080521/1211335942">さくらインターネット、svn、文字化け</a>にあるように、環境変数LANGをUTF-8にすると化けないようです。</p>
				<pre class="console">
[user@server ~/.ssh]$ svn
?\228?\189?\191?\231?\148?\168?\230?\150?\185?\230?\179?\149?\227?\130?\146?\231?\159?\165?\227?\130?\138?\227?\129?\159?\227?\129?\132?\227?\129?\168?\227?\129?\141?\227?\129?\175 'svn help' ?\227?\129?\168?\230?\137?\147?\227?\129?\163?\227?\129?\166?\227?\129?\143?\227?\129?\160?\227?\129?\149?\227?\129?\132?\227?\128?\130
[user@server ~/.ssh]$ echo $LANG
ja_JP.UTF-8
[user@server ~/.ssh]$ export LANG=UTF-8
[user@server ~/.ssh]$ echo $LANG
UTF-8
[user@server ~/.ssh]$ svn
Type 'svn help' for usage.
</pre>
				<p>結局元々.bashrcで</p>
				<pre>export LANG=ja_JP.UTF-8</pre>
<p>と指定していたのを、</p>
<pre>export LANG=UTF-8</pre>
				<p>と変更しました。</p>
				<h4 id="subversion_repos">Subversionのレポジトリ作成</h4>
				<p>例えば<span class="strong">test</span>というレポジトリを作ってみます。</p>
				<pre class="console">
[user@server ~]$ mkdir -p svn/repos
[user@server ~]$ cd svn/repos
[user@server ~/svn/repos]$ svnadmin create test
[user@server ~/svn/repos]$ cd ~/temp
[user@server ~/temp]$ svn co file:///home/user/svn/repos/test test
[user@server ~/temp]$ cd test
[user@server ~/temp/test]$ svn mkdir trunk branches tags
[user@server ~/temp/test]$ svn commit -m "first commit"
[user@server ~/temp/test]$ cd ..
[user@server ~/temp]$ rm -rf test
</pre>
				<p>最後に、以下のように<span class="strong">ローカルからfileスキーマ</span>接続し、先ほどコミットしたtrunk/branches/tagsが確認できればOKとなります。</p>
				<pre class="console">
[user@server ~]$ svn list file:///home/user/svn/repos/test
branches/
tags/
trunk/
</pre>
				<p>$HOME/svn/repos/testにテスト用のレポジトリがあり、branches/tags/trunkというディレクトリが出来ている場合、上記のようになるはずです。</p>
				<h3>さくらインターネットのサーバ上のSubversionに、クライアント側(Windows)のEclipse+Subversiveから接続、使用できるようにする</h3>
				<p>前章で無事Subversionが稼働していますが、httpやhttpsによる公開は行っていない状態です。<br />
				ではどうやって自分のクライアント側から利用するかですが、Subversionの鍵交換方式によるsvn+sshスキーマを利用します。</p>
				<p>これは基本的に当ブログの過去の記事<a href="http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html">Subversiveで鍵交換方式によるSSH接続</a>の手順で行けますが、2点注意点があります。<br />
				1点はPuttyではなくPoderosaを利用している点、もう1点はさくらインターネットのレンタルサーバを利用している点、です。</p>
				<h4>Poderosaで作ったSECSH形式の秘密鍵をOpenSSH形式に変換する</h4>
				<p>上記の記事ではPuttyで作成したSSHの秘密鍵(Putty形式)をOpenSSH形式に変換することがポイントですが、今回はPoderosaを使用しています。<br />
				この記事の冒頭、Poderosaで生成した秘密鍵はSECSH形式でありOpenSSH形式ではありませんので、同じくOpenSSH形式に変換する必要があります。<br />
				(OpenSSH形式に変換するのは、SubversiveがOpenSSH形式の鍵を必要とするからです。)</p>
				<p>Poderosa自身にはこの機能はありませんので、Puttyを利用します。<br />
				具体的な手順は、<br />
				<a href="http://memo.hirosiki.jp/article/106311259.html">SSHクライアントの秘密鍵／公開鍵についてまとめ</a>の後半「SECSH←→OpenSSH形式の相互変換はどうするの？編：」を参照してください。<br />
				上記の手順でOpenSSH形式に変換できます。</p>
				<h4>svn+sshスキーマでのさくらインターネットサーバへの接続が、<span class="strong">svnserve: command not found</span>により失敗する</h4>
				<p>これはサーバにおいてSSHのコマンド検索パス上にSubversionの各実行ファイルが存在しないことが原因です。</p>
				<p><a href="http://d.hatena.ne.jp/ntaku/20080921/1221930088">さくらサーバでsvn+sshを利用する方法(Linux/Mac)</a>や<a href="http://blog.livedoor.jp/memozilla/archives/54933239.html">さくらインターネットに設置した subversion で ssh ログイン時に発生するエラー</a>を参照していただくと分かりますが、SSHのコマンド検索パスと.bashrcなどの各種シェル環境設定ファイル上で設定したPATHは関連していないようです。</p>
				<p>私の環境では
				<pre>$HOME/local/bin</pre>
<p>以下にSubversionのコマンド群がインストールされていますが、$HOME以下でSSHのコマンド検索パス上にあるのは
<pre>$HOME/bin</pre>
				<p>だけです。<br />
				そのためコマンドが見つからないというエラーが発生します。<br />
				これを解決するには、以下のようにシンボリックリンクを貼るなどして、
				<pre>$HOME/bin</pre>
<p>にSubversionのコマンド群が存在するようにします。</p>
<pre class="console">
[user@server ~]$ ln -s $HOME/local/bin $HOME/bin
</pre>
				<h3>別サーバのRedmineとさくらインターネットのサーバ上のSubversionを連携させる</h3>
				<p>RedmineとSubversionの連携設定をします。<br />
				タイトルに<span class="strong">別サーバの</span>とありますが、同一サーバである場合も同じ設定で動きそうです。(fileスキーマを使う方が簡単かもしれませんが)</p>
				<h4>Redmineの稼働について</h4>
				<p>今回は別サーバですでにRedmineが稼働しているものとします。<br />
				Redmineのインストールから稼働までについては、当ブログの以前の記事<a href="http://www.sakuttoly.com/blog/2009/04/redmine_passenger_centos.html">サクッとCentOS 5.3にRedmine + Passenger環境をインストール</a>を参考にしてください。</p>
				<h4>RedmineとSubversionの連携1: Redmineの入ったサーバで、Subversionのコマンド群を利用可能にする</h4>
				<p><a href="http://redmine.jp/guide/RedmineRepositories/">プロジェクト管理ソフトウェアRedmine 日本語情報 (unofficial) &#8211; リポジトリ</a>などに記載のある通り、RedmineとSubversionを連携させる場合、RedmineのサーバでSubversionのコマンド群が利用可能になっている必要があります。<br />
				ここでは当記事の<a href="#subversion_install">Subversionのインストール</a>などに従い、Subversionを適切にインストールしたものとします。</p>
				<h4>RedmineとSubversionの連携2: RedmineサーバからSubversionサーバに対し、Redmine(Apache)の実行ユーザで、パスフレーズの入力なしで(non-interactive, ノンパス)SSH接続可能にする</h4>
				<p>今回さくらインターネット上に構築したSubversionは、http/httpsスキーマでの公開をしていないため、svn+sshスキーマで接続することになります。<br />
				この場合RedmineサーバからSubversionサーバに対し、Redmine(Apache)の実行ユーザで、パスフレーズの入力なしに鍵交換方式のSSH接続が出来ている必要があります。<br />
				<a href="http://webos-goodies.jp/archives/50672669.html">ssh-agent でパスフレーズの入力を省く</a>などを参考にして、それらの設定を行ってください。</p>
				<p>これらの設定が完了した場合には、Redmineが稼働しているサーバのRedmine(Apache)の実行ユーザで以下のコマンドを実行し、パスワードを入力することなしに結果が返ってくるはずです。</p>
				<pre class="console">
[redmine@redmine ~]$ svn list svn+ssh://user@server/home/user/svn/repos/test
branches/
tags/
trunk/
</pre>
				<p>これは、当記事の<a href="#subversion_repos">Subversionのレポジトリ作成</a>で確認したローカルからのfileスキーマでの接続確認の、svn+sshスキーマ版となります。<br />
				ここではredmineユーザにてコマンドを実行しています。<br />
				接続URLで<span class="strong">user@server</span>という風にさくらインターネット上のユーザを指定していることに注意してください。</p>
				<h4>RedmineとSubversionの連携3: Redmine上でリポジトリの設定を行い、Redmine上からリポジトリを参照可能にする</h4>
				<p>ようやく最後です。<br />
				Redmine上からさくらインターネット上のSubversionへの参照を行います。</p>
				<p>まずプロジェクトの[設定]-[リポジトリ]から、SCMの設定を行います。</p>
				<table>
				<tr>
				<th>入力欄</th>
				<th>入力例</th>
				</tr>
				<tr>
				<th>SCM</th>
				<th>Subversion</th>
				</tr>
				<tr>
				<th>URL</th>
				<td>svn+ssh://server/home/user/svn/repos/test<br />(svn+ssh://[サーバ][リポジトリのフルパス]</td>
				</tr>
				<tr>
				<th>ログイン</th>
				<td>さくらインターネット上のユーザ名</td>
				</tr>
				<tr>
				<th>パスワード</th>
				<td>なし</td>
				</tr>
				</table>
				<p>次にメニューの[ファイル]等をクリックし、いったんプロジェクトメニューを再描画します。<br />
				するとメニューに[リポジトリ]が現れる([設定]-[リポジトリ]とは別です)ので、クリックします。<br />
				これで以下のようにSubversionのリポジトリが表示されれば成功です。</p>
				<p><a href="http://www.sakuttoly.com/wp-content/uploads/2009/07/repository.png"><img src="http://www.sakuttoly.com/wp-content/uploads/2009/07/repository-300x117.png" alt="repository" title="repository" width="300" height="117" class="aligncenter size-medium wp-image-500" /></a></p>
				<p>上手く行ったでしょうか？<br />
				Redmineのバージョンに依るかもしれませんが、私の環境(0.8.3.stable)では以下のエラーメッセージが画面上に表示されました。</p>
				<pre class="se">
リポジトリに、エントリ/リビジョンが存在しません。
</pre>
				<p>Redmineのログを見てみると、以下のようなエラーが出ています。</p>
				<pre class="caution">
Error parsing svn output: #&lt;REXML::ParseException: No close tag for /lists/list&gt;
/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:28:in `parse'
/usr/lib/ruby/1.8/rexml/document.rb:205:in `build'
/usr/lib/ruby/1.8/rexml/document.rb:42:in `initialize'
/home/redmine/lib/redmine/scm/adapters/subversion_adapter.rb:85:in `new'
/home/redmine/lib/redmine/scm/adapters/subversion_adapter.rb:85:in `entries'
/home/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:177:in `call'
/home/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:177:in `shellout'
/home/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:175:in `popen'
/home/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:175:in `shellout'
/home/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:165:in `shellout'
/home/redmine/lib/redmine/scm/adapters/subversion_adapter.rb:82:in `entries'
/home/redmine/app/models/repository.rb:63:in `entries'
/home/redmine/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:173:in `send'
/home/redmine/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:173:in `method_missing'
/home/redmine/app/controllers/repositories_controller.rb:71:in `show'
/home/redmine/vendor/rails/actionpack/lib/action_controller/base.rb:1166:in `send'
/home/redmine/vendor/rails/actionpack/lib/action_controller/base.rb:1166:in `perform_action_without_filters'
/home/redmine/vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters'
/home/redmine/vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
/home/redmine/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
/home/redmine/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/home/redmine/vendor/rails/actionpack/lib/action_controller/rescue.rb:201:in `perform_action_without_caching'
/home/redmine/vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `passenger_orig_perform_action'
/home/redmine/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
/home/redmine/vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
/home/redmine/vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `passenger_orig_perform_action'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/request_handler.rb:53:in `perform_action'
/home/redmine/vendor/rails/actionpack/lib/action_controller/base.rb:529:in `send'
/home/redmine/vendor/rails/actionpack/lib/action_controller/base.rb:529:in `process_without_filters'
/home/redmine/vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
/home/redmine/vendor/rails/actionpack/lib/action_controller/session_management.rb:130:in `process'
/home/redmine/vendor/rails/actionpack/lib/action_controller/base.rb:389:in `process'
/home/redmine/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:149:in `handle_request'
/home/redmine/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:107:in `dispatch'
/home/redmine/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `synchronize'
/home/redmine/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `dispatch'
/home/redmine/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi'
/home/redmine/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:35:in `dispatch'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/request_handler.rb:38:in `process_request'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_request_handler.rb:197:in `main_loop'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/application_spawner.rb:340:in `start_request_handler'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/application_spawner.rb:298:in `handle_spawn_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/utils.rb:176:in `safe_fork'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/application_spawner.rb:296:in `handle_spawn_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:332:in `__send__'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:332:in `main_loop'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:182:in `start_synchronously'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:149:in `start'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/application_spawner.rb:192:in `start'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/spawn_manager.rb:260:in `spawn_rails_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server_collection.rb:121:in `lookup_or_add'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/spawn_manager.rb:254:in `spawn_rails_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server_collection.rb:75:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server_collection.rb:74:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/spawn_manager.rb:253:in `spawn_rails_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/spawn_manager.rb:148:in `spawn_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/spawn_manager.rb:285:in `handle_spawn_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:332:in `__send__'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:332:in `main_loop'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:182:in `start_synchronously'
/usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/bin/passenger-spawn-server:50
...
No close tag for /lists/list
Line:
Position:
Last 80 unconsumed characters:
Output was:
 &lt;?xml version=&quot;1.0&quot;?&gt;
&lt;lists&gt;
&lt;list
   path=&quot;svn+ssh://server/home/user/svn/repos/test&quot;&gt;
Rendering template within layouts/base
Completed in 1.37096 (0 reqs/sec) | Rendering: 0.02282 (1%) | DB: 0.01060 (0%) | 500 Internal Server Error
</pre>
				<p>ググって見ると、<a href="http://d.hatena.ne.jp/devillikeaangel/20090521/1242903090">Redmineとsvnの連携でエラー</a>経由で<a href="http://www.redmine.org/issues/816">Redmine公式のチケット</a>が見つかりました。<br />
				<a href="http://www.redmine.org/issues/816#note-10">そのコメント中では</a>、<span class="strong">lib/redmine/scm/adapters/subversion_adapter.rb</span>ファイルの</p>
				<pre class="console">
cmd = "#{SVN_BIN} list --xml #{target(path)}@#{identifier}"
</pre>
				<p>を</p>
				<pre class="console">
cmd = "#{SVN_BIN} list --xml #{target(path)}@#{identifier} 2>&#038;1"
</pre>
				<p>に変更しろと言っていますので、その通りにしてみます。<br />
				その上で再度リポジトリ画面にアクセスすると、以下のような画面になるはずです。</p>
				<p><a href="http://www.sakuttoly.com/wp-content/uploads/2009/07/repository.png"><img src="http://www.sakuttoly.com/wp-content/uploads/2009/07/repository-300x117.png" alt="repository" title="repository" width="300" height="117" class="aligncenter size-medium wp-image-500" /></a></p>
				<h3>まとめ</h3>
				<p>長々と書きましたが、無事さくらインターネット上のSubversionに対して、</p>
				<ol>
				<li>さくらインターネットのサーバ上のSubversionに、クライアント側(Windows)のEclipse+Subversiveから接続、使用できるようにする</li>
				<li>別サーバのRedmineとさくらインターネットのサーバ上のSubversionを連携させる</li>
				</ol>
				<p>が出来たでしょうか？</p>
				<p>はまりどころが大変多いですので、皆様気をつけてください。<br />
				当記事の記述にも私の理解不足などの理由から不正確な点があると思います。</p>
				<h3>余談</h3>
				<p>私は本日土曜日の半日ほどをこれらの作業に費やしています(さらに半日は、この記事の執筆に費やしています)<br />
				私のスキルが不足していることは当然としても、一つはまって、解決してはまた一つはまって、を繰り返しているなかで、<a href="http://0xcc.net/">高林哲さん</a>のいうバッドシグナル(現<a href="http://gihyo.jp/magazine/wdpress">Web+DB Press</a>で連載中の記事<a href="http://0xcc.net/blog/archives/000210.html">バッドシグナル通信</a>)や<a href="http://0xcc.net/blog/archives/000210.html">ヤクの毛を刈る</a>を痛感した一日となりました。。。<br />
				なお高林哲さんと言えば、<a href="http://0xcc.net/misc/bad-knowhow.html">バッドノウハウと「奥が深い症候群」</a>もプログラマ必読です。</p>
				<div class="amazlet-box" style="margin-bottom:0px;">
				<div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4274066800/sakutto0b-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51CaMHjJPSL._SL160_.jpg" alt="Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)" style="border: none;" /></a></div>
				<div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%">
				<div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4274066800/sakutto0b-22/ref=nosim/" name="amazletlink" target="_blank">Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)</a>
				<div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4274066800/sakutto0b-22/ref=nosim/" title="Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)" target="_blank">amazlet</a> at 09.07.26</div>
				</div>
				<div class="amazlet-detail">Mike Mason <br />オーム社 <br />売り上げランキング: 13561</div>
				<div class="amazlet-review" style="margin-top:10px; margin-bottom:10px">
				<div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4.0" /></div>
				<p><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> trunk,branches,tagsでとまどったら<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-2-0.gif" alt="2" /> Subversionを使う上で&#8221;は&#8221;よい本だと思う<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 日本語のSubversion解説本の最高作</div>
				<div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4274066800/sakutto0b-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div>
				</div>
				<div class="amazlet-footer" style="clear: left"></div>
				</div>
]]></content:encoded>
			<wfw:commentRss>http://www.sakuttoly.com/blog/2009/07/sakura_subversion_eclipse_redmine.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.sakuttoly.com/blog/2009/07/sakura_subversion_eclipse_redmine.html" />
	</item>
	</channel>
</rss>

