開発メモ

開発関係のメモをいろいろと。たぶん。

Subversionの環境設定

VirtualBoxにインストールしたCentOSでいろいろ実験するシリーズ。

Subversionの環境を整える。

Subversionのインストール

以下のコマンドでインストール。開発ツールのインストールで、まとめて入ってるはず?

# yum install subversion

ついでに、バージョンを確認

[root@localhost ~]# svn --version
svn, version 1.6.11 (r934486)

リポジトリを公開

Subversionリポジトリを公開する場合、よく使われるのは以下の2つのパターン。

  1. http経由で公開
  2. ssh経由で公開

それぞれ、メリット/デメリットはこんな感じ。

http経由で公開する場合

  • httpの環境さえ整ってれば接続可能
  • ユーザー認証はWebサーバーの機能で行う

ssh経由で公開する場合

  • sshの環境さえ整ってれば接続可能
  • ユーザーごとにsshの環境が必要

お手軽で歴史もあるのがhttp経由かな? 閉じてる環境で信頼できるメンバーだけで使うのなら、httpが楽そう。ネットで、不特定多数に公開するのもhttp経由が楽か。

sshはどうしてもセキュリティが気になる場合に選択? 「ssh経由なら更新可能」「http経由は読み取りのみ」って使い分けも可能。

ssh経由で公開

Subversionで使用するグループを作成

グループ名を「svn」として作成。

# groupadd svn

ユーザーをグループに追加

# usermod -G svn [ユーザ名]

リポジトリを配置するディレクトリを準備

「/var/svn/repos」にリポジトリを配置。svnグループから読み書きできるように設定しておく。

# mkdir -p /var/svn/repos
# chgrp -R svn /var/svn
# chmod -R g+w /var/svn

確認用にリポジトリを作成

動作確認のためにリポジトリを作成。

# mkdir -p /var/svn/repos/test
# svnadmin create /var/svn/repos/test
# chgrp -R svn /var/svn/repos/test
# chmod -R g+w /var/svn/repos/test

※「svn」グループから読み書きできるように、権限を設定しておく

適当なクライアントから接続。TortoiseSVNを使う場合は、この辺りを参考に。

TortoiseSVNSSH接続すると、毎回パスワードを聞かれるんですが。。。 - 小窓屋めがね
http://lab.komadoya.com/blog/2011/10/ssh-tortoisesvn.php

sshの環境がすでに出来てるのなら、http経由で公開するよりこっちの方が楽だな。

Redmineで「リポジトリに、エントリ/リビジョンが存在しません」のエラーが出た場合、SELinuxの権限が原因かも?

おまけ

リポジトリの作成が面倒なので、簡単なスクリプトを作ってみた。「create_repo_svn.sh」って名前で保存。実行権限をつけておく。

#!/bin/sh

# repository base dir
repo_base="/var/svn/repos/"

# #############################################

# parameter check
if [ $# -eq 0 ]; then
    echo "> ./create_repo_svn.sh repository_name"
    echo "repository create to -> $repo_base"
    exit
fi

# target dir
target=$repo_base$1

# check exist
if [ -d $target ]; then
    echo "already exist -> $target"
    exit
fi

# make repository
mkdir -p $target
svnadmin create $target
chgrp -R svn $target
chmod -R g+w $target

# ok
echo "create subversion repository -> $target"

情報元

Subversionのインストール (CentOS 5.5 64bit)|赤び~の備忘録 & 子育て月記
http://ameblo.jp/kurabeat/entry-10544974004.html

TortoiseSVNSSH接続すると、毎回パスワードを聞かれるんですが。。。 - 小窓屋めがね
http://lab.komadoya.com/blog/2011/10/ssh-tortoisesvn.php