2015.05.15

SVN

CentOS

CentOS6.5 subversion設定

今回は Apache(HTTP サーバ)を通じてSubversionリポジトリを取得できるようにします。

subversionをインストールします。

# yum -y install subversion

mod_dav_svnをインストールします。

# yum -y install mod_dav_svn

インストール後、/etc/httpd/conf.dsubversion.confが作成されているのでこれを編集します。

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

以下を追記します。

<Location /repos>
   DAV svn
   SVNParentPath /var/www/svn

   AuthzSVNAccessFile /var/www/svn/authzsvn.conf
   AuthType Basic
   AuthName "Authorization Realm"
   AuthUserFile /var/www/svn/.htpasswd
   Require valid-user
</Location>

次にauthzsvn.confを作成します。(/var/www/svnに作成)

# vi /var/www/svn/authzsvn.conf
[groups]
developers = user1, user2
manager = admin

[/]
@manager = rw
* =

[test:/]
@developers = r
user1 = w

上記の設定は

開発者2名 (user1, user2)
管理者1名 (admin)

管理者はすべてのリポジトリの読書き可
それ以外は読書き不可

testのリポジトリに関してはuser1,user2ともに読み込み可
但し、書き込みはuser1のみ

となります。

BASIC認証用ユーザを登録します。(初回は新規作成なので-cを付加します)

# htpasswd -c /var/www/svn/.htpasswd admin
# htpasswd /var/www/svn/.htpasswd user1
# htpasswd /var/www/svn/.htpasswd user2

リポジトリを作ります。(今回はtrunk, branches, tagsは作成しません)
svnフォルダは/var/www/に、その配下にtestフォルダを作成し、リポジトリを作ります。

# mkdir -p /var/www/svn/test
# svnadmin create /var/www/svn/test

Apacheがリポジトリを読書きできるようにパーミッションを変更します。

# chown -R apache:apache /var/www/svn/test

Apacheを再起動します。

# service httpd restart

ブラウザで以下のURLを入力後に
https://(サーバー名)/repos/test
パスワード確認ダイアログが表示されたら上記で設定した
ユーザ名、パスワードを入力してアクセスできます。