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: subversion, svn, centos, rhel, howto
Powered by ScribeFire.