1. 참고 문서


2. Subversion 패키지 설치


$ yum install subversion

물론 이미 설치 되어 있다면 설치할 필요없다.


3. 저장소 생성


/home/svn 디렉토리를 SVN 서버의 홈으로 사용한다.

$ mkdir /home/svn
$ chown -R root:root /home/svn

4. 프로젝트 디렉토리 추가 - 프로젝트를 추가 할 때 마다 매번 작업


/home/svn/project_name 디렉토리를 프로젝트의 홈으로 사용한다.

project_name 부분은 프로젝트에 맞게 적절히 정하면 된다.

$ svnadmin create --fs-type fsfs /home/svn/project_name

프로젝트에 대한 권한 설정

/home/svn/project_name/conf/svnserve.conf 파일을 불러와서 아래와 같이 설정한다.

realm 은 repository 도메인 (외부에서 볼 때의 이름)이다.

[general]
anon-access = none
auth-access = write
# password-db = passwd
# authz-db = authz
realm = repositryname[sasl]
use-sasl = true
#min-encryption = 0
#max-encryption = 256

개인이 사용 할 때는 password-db 를 사용하고 use-sasl 을 막고 아이디와 비밀번호 설정을

/home/svn/project_name/conf/passwd 파일을 열어서

아이디 = 비밀번호 형식으로 관리하면 쉽다. 하지만 비밀번호가 노출되기 때문에 찝찝하면 sasl을 사용한다.



5. sasl 인증 추가 (아이디 비밀번호 추가)


saslpasswd2 명령 후에 비밀번호 및 확인 입력이 뜬다 그 때 아이디의 비밀번호를 입력한다.

sasldblistusers2 는 등록된 아이디의 목록을 볼 수 있다. 물론 비밀번호는 볼 수 없다.

$ saslpasswd2 -c -u 그룹명 아이디
$ sasldblistusers2

6. init 스크립트 만들기


부팅시 마다 subversion 서버를 실행하려면 service 스크립트를 만들어야 한다.

/etc/sysconfig/subversion 파일을 새로 생성하여 아래와 같이 입력한다.

OPTIONS="--threads --root /home/svn"

그리고 /etc/init.d/subversion 을 만들고 아래와 같이 입력한다.

#!/bin/bash
#
#   /etc/rc.d/init.d/subversion
#
# Starts the Subversion Daemon
#
# chkconfig: 2345 90 10
# description: Subversion Daemon
# processname: svnserve
source /etc/rc.d/init.d/functions
[ -x /usr/bin/svnserve ] || exit 1
### Default variables
SYSCONFIG="/etc/sysconfig/subversion"
### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
RETVAL=0
prog="svnserve"
desc="Subversion Daemon"
start() {
        echo -n $"Starting $desc ($prog): "
   daemon $prog -d $OPTIONS
   RETVAL=$?
   [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
   echo
}
stop() {
   echo -n $"Shutting down $desc ($prog): "
   killproc $prog
   RETVAL=$?
   [ $RETVAL -eq 0 ] && success || failure
   echo
   [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
   return $RETVAL
}
case "$1" in
  start)
   start
   ;;
  stop)
   stop
   ;;
  restart)
   stop
   start
   RETVAL=$?
   ;;
  condrestart)
        [ -e /var/lock/subsys/$prog ] && restart
   RETVAL=$?
   ;;
  *)
   echo $"Usage: $0 {start|stop|restart|condrestart}"
   RETVAL=1
esac
exit $RETVAL

그 다음 실행 권한을 주고 서비스로 등록한다.

$ chmod +x /etc/init.d/subversion
$ cd /etc/init.d
$ chkconfig --add subversion && chkconfig subversion on

7. 서버 시작


서비스 모드

$ service subversion start

데몬 모드

$ svnserve -d -r /svn

8. 클라이언트 프로그램으로 접속 테스트 한다.


추천 클라이언트

이클립스용 : subversive

윈도우용 : tortoiseSVN


9. 기타 


서버 포트 : 3690

+ Recent posts