Peter .WEB2

June 4, 2007

CentOS 5.0에 subversion/svn 설치

Filed under: IT, System Guru — Peter Kim @ 10:29 pm

CentOS (RHEL 5.0)에 Subversion 1.4.3의 설치 Know-How를 공유한다.

대표적인 형상관리 서버로 CVS/CVSNT, Subversion등이 있다.

Reference Site :
1) http://www.pyrasis.com/main/Subversion-HOWTO
2) http://blog.empas.com/mcchae/19118563
3) http://svnbook.red-bean.com/

우선 순서는
1) Subversion 설치
2) Repository 생성
3) Daemon 설정
4) Client 사용
5) 활용

으로 설명하려 한다.

1. 설치
yum으로 의외로 쉽게 설치된다.
#yum install subversion

기본적으로 이렇게 설치하면 File System으로 관리할 수 있는 기본 패키지가 설치된다.
Subversion으로 repository관리는 두가지로 File System 및 Berkeley DB를 선택 사용할 수 있다.
Berkely DB를 사용하기 위해서는 http://www.oracle.com/technology/software/products/berkeley-db/db/index.html
에서 설치하고 쓸 수 있는데.. 이곳저곳에서 관리 파일 용량이 많아지면 문제가 있다는 report가 있어 안전하고 직관적(실제 물리적 foder/file구조로 관리할 수 있게끔 file system 방식으로만 쓰고자 한다.

2. Repository 생성
1) Repository 생성
우선 Root Repository를 생성해야 한다. (이유: 3.1) 참조)
#mkdir /data1/svn
#cd /data1/svn
#svnadmin create –fs-type fsfs project

이렇게하면 /data1/svn에 project directory 및 기본적으로 하위 디렉토리들이 만들어 진다.
인증/보안을 위한 몇가지 옵션을 설정해 주어야 한다.

2) 기본적인 환경 설정
#vi /data1/svn/project/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd기본적으로 anonymous access 불가, 인증 성공한 사람만 write권한, 인증방식은 passwd 파일 방식

#vi /data1/svn/project/conf/passwd

[users]
userid1=password1
userid2=password2

접속을 허용할 userid 및 password를 기재해주면 된다.

3. Daemon 설정
기 제작한 project repository에 대한 file-system으로의 생성, 인증, password의 본적은 환경 설정은 마쳤고, 이제 subversion daemon을 실행하기 위한 시스템 환경 설정이 남았다.

1) 환경 설정
#vi /etc/rc.d/init.d/subversion 을 열어 17 줄의 SYSCONFIG 내용을 확인한다.
SYSCONFIG=”/etc/sysconfig/subversion”
#vi /etc/sysconfig/subversion
OPTIONS=”–threads –root /data1/svn”

이렇게 하여 svn의 root repository directory를 설정해 준다.

2) 시스템 가동

#/etc/rc.d/init.d/subversion start

이렇게 하면 subversion이 daemon으로 동작하게 된다.

환경 변수를 바꾸고 subversion을 restart해야한다면

#/etc/rc.d/init.d/subversion restart

3) Booting시 자동 실행

#vi /etc/inittab

우선 서버의 실행 Level을 확인해야 하는데 /etc/inittab의 18번째 줄 내용을 확인한다.
id:5:initdefault:

본 id와 initdefault사이의 값인 5값을 확인한다. (X11로 booting한다는 의미)

#cd /etc/rc5.d
#vi S99local

/etc/rc.d/init.d/subversion start &
적당한 줄에 상기 내용을 추가한다.

4. Client 사용
- http://blog.empas.com/mcchae/19118563 에 워낙 잘 설명이 되어 있어서 pass

5. 활용
- 전체적으로 subversion으로 여러 사람의 협업을 통해 소스 형상 관리 및 Binary 관리등을 관리해야 하고, 프로젝트별 권한, Backup 및 Restore, 관리자 통계(오늘 어떤 파일/내용이 수정되었고, 누가 올렸고.. 등등) 여러가지 Tunning작업을 해야한다.
- IT Project에서는 trac을 많이 쓰고 있고, 비슷한 형태로 http://oss.segetech.com/bugzilla-svn-wiki.html을 참고해도 될 것 같다.

참고 :
#01.
CentOS 5.0 subversion/svn 설치
#02. CentOS 5.0 subversion – viewvc 설치
#03. Subversion 사용 통계/현황 요약 보기
#04. Subversion commit 메일로 통보 받기

Technorati Tags: , , , ,

Powered by ScribeFire.

7 Comments »

  1. [...] viewvc 설치 Filed under: IT-PM Skill, Project Management, System Guru — Peter Kim @ CentOS 5.0에 subversion/svn 설치 이후에 tortoisesvn(Windows), svnX (Mac), svn terminal (10.5 Leopard에 [...]

    Pingback by CentOS 5.0에 subversion - viewvc 설치 « Peter .WEB2 — December 27, 2007 @ 2:30 pm | Reply

  2. [...] : 1. CentOS 5.0에 subversion/svn 설치2. CentOS 5.0에 subversion – viewvc [...]

    Pingback by Subversion 사용 통계/현황 요약 보기 « Peter .WEB2 — February 20, 2008 @ 7:33 pm | Reply

  3. [...] : #01. CentOS 5.0에 subversion/svn 설치#02. CentOS 5.0에 subversion – viewvc 설치#03. Subversion 사용 통계/현황 요약 [...]

    Pingback by Subversion commit시 메일로 통보 받기 « Peter .WEB2 — February 21, 2008 @ 2:06 pm | Reply

  4. [...] : #01. CentOS 5.0에 subversion/svn 설치 #02. CentOS 5.0에 subversion – viewvc 설치 #03. Subversion 사용 [...]

    Pingback by Subversion commit시 log를 필수 입력하도록 설정하는 방법 « Peter .WEB2 — February 22, 2008 @ 1:52 pm | Reply

  5. [...] : #01. CentOS 5.0에 subversion/svn 설치 #02. CentOS 5.0에 subversion – viewvc 설치 #03. Subversion 사용 [...]

    Pingback by Trac을 Windows에서 쉽게 설치하여 사용하기 « Peter .WEB2 — February 22, 2008 @ 1:57 pm | Reply

  6. yum 으로 설치시 /etc/rc.d/init.d/subversion 그외 설정이 일부 없습니다

    Comment by kk11111111111 — August 20, 2009 @ 4:21 pm | Reply

    • /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

      Comment by Peter Kim — August 22, 2009 @ 12:10 am | Reply


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.