ソース管理のSubVersionのLinux(CentOS5)での構築方法です。
SubVersion は Apache のモジュールして動くようですね。
(Apacheは元から入ってるパッケージ管理されてるものを使うこととします。)
まず、yum で SubVersion モジュールをインストールします。
# yum -y install subversion mod_dav_svn
次に SubVersion の設定ファイルを編集します。
とりあえず下記のような設定にしてみました。
vi /etc/httpd/conf.d/subversion.conf
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.
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic (認証方式。このあたりはApacheの普通のベーシック認証と同じ)
AuthName "Authorization Realm"
AuthUserFile /var/www/svn/.htpasswd (パスワードファイルを指定)
Require valid-user
次にベーシック認証のユーザを作成します。作成方法は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 ではリポジトリのパスまで入れないといけないのです。上記の設定だと下記のイメージのように設定する必要がります。
WEBブラウザでリポジトリのURLを叩くと中身を見ることができるので、Subversion の生存確認につかるかもしれません。
こう見ると構築自体はあっさりできます。
参考:
バージョン管理システム構築(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)で、
ですので、リポジトリのRead,Writeに認証を描けるには、下記のように、ディレクティブを無しにしてやればいいようです。
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