人気ブログランキング | 話題のタグを見る
LinuxでSubVersionを構築しEclipse Subversive から使う
ソース管理のSubVersionのLinux(CentOS5)での構築方法です。
SubVersion は Apache のモジュールして動くようですね。
(Apacheは元から入ってるパッケージ管理されてるものを使うこととします。)

まず、yum で SubVersion モジュールをインストールします。

# yum -y install subversion mod_dav_svn


次に SubVersion の設定ファイルを編集します。
とりあえず下記のような設定にしてみました。

vi /etc/httpd/conf.d/subversion.conf

<Location /svn>
DAV svn
#SVNPath /var/www/svn (SVNPathは1個のリポジトリだけを指定する)
SVNParentPath /var/www/svn (SVNParentPathは複数のリポジトリがある時その親ディレクトリを指定)
SVNAutoversioning on
Order deny,allow (ここからアクセス権。指定したIPからのみ通信許可)
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/24
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic (認証方式。このあたりはApacheの普通のベーシック認証と同じ)
AuthName "Authorization Realm"
AuthUserFile /var/www/svn/.htpasswd (パスワードファイルを指定)
Require valid-user
</LimitExcept>
</Location>


次にベーシック認証のユーザを作成します。作成方法はApacheベーシック認証おなじみのhtpasswdを使います。

htpasswd -b -c /var/www/svn/.htpasswd hoge passwd (初回時のみ -c が必要)


svnadmin コマンドを使ってリポジトリの作成を行います。

# svnadmin create /var/www/svn/testrepo
chown -R apache:apache /var/www/svn/testrepo/ (所有者をapacheを動かしてるユーザにします)



次にクライアント側の準備です。
今回は Eclipse3.6 で Subversive プラグインを入れて使うことにします。

Eclipseを起動し、メニューバーの Help → Install New Software でダイアログを起動します。
Work with: に http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/ を追加すると、Subversion SVN Connectors を選択してインストールします。

これでEclipseを再起動し、パースペクティブから SVN Repositories を選択します。
New Repository Location でリポジトリ設定ダイアログが開くのでそこで設定をします。
この時ハマったのが URL でした。
この URL ではリポジトリのパスまで入れないといけないのです。上記の設定だと下記のイメージのように設定する必要がります。
LinuxでSubVersionを構築しEclipse Subversive から使う_e0091163_0101125.jpg


WEBブラウザでリポジトリのURLを叩くと中身を見ることができるので、Subversion の生存確認につかるかもしれません。
LinuxでSubVersionを構築しEclipse Subversive から使う_e0091163_0101493.jpg



こう見ると構築自体はあっさりできます。

参考:
バージョン管理システム構築(Subversion) - CentOSで自宅サーバー構築 構築方法です。
Subversiveプラグイン - EclipseWiki EclipseのSubversiveプラグインについてです。
Subversionメモ/SVNPathとSVNParentPath - Piroshiki PukiWiki
Linux/Subversion/yumからインストール - MinacoWiki
SubversionとTracでファイル管理の“迷宮”から脱出 (1/4) - @IT



補足
上記のSubversion設定ファイル(/etc/httpd/conf.d/subversion.conf)で、<LimitExcept GET PROPFIND OPTIONS REPORT> としてましたが、これは読み取りにはアクセス権は必要ないけど、コミットには必要という意味だそうです。

ですので、リポジトリのRead,Writeに認証を描けるには、下記のように、ディレクティブを無しにしてやればいいようです。

<Location /svn>
DAV svn
#SVNPath /var/www/svn (SVNPathは1個のリポジトリだけを指定する)
SVNParentPath /var/www/svn (SVNParentPathは複数のリポジトリがある時その親ディレクトリを指定)
SVNAutoversioning on
Order deny,allow (ここからアクセス権。指定したIPからのみ通信許可)
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/24
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic (認証方式。このあたりはApacheの普通のベーシック認証と同じ)
AuthName "Authorization Realm"
AuthUserFile /var/www/svn/.htpasswd (パスワードファイルを指定)
Require valid-user
</Location>

by jehoshaphat | 2010-11-09 00:11 | Linux


<< (ネットワーク)回線速度測定ツ... (Linux)ユーザホームディ... >>