출처:http://tykim.wordpress.com/2007/06/04/centos-50%ec%97%90-subversionsvn-%ec%84%a4%ec%b9%98/
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 /svn
#cd /svn
#svnadmin create --fs-type fsfs project
이렇게하면 /data1/svn에 project directory 및 기본적으로 하위 디렉토리들이 만들어 진다.
인증/보안을 위한 몇가지 옵션을 설정해 주어야 한다.
2) 기본적인 환경 설정
#vi /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 /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시 메일로 통보 받기
추가 : 서브버전 하나의 저장소 밑에 여러개의 프로젝트를 추가 하고 싶을 경우
----------------------------------------------------------------------------------------------------
서버 설정을 위해 CentOS 5를 설치했습니다. 그리고 아픔이 시작되었습니다.
APM 환경을 yum을 통해 손 쉽게 설치할 수 있을거라고 생각했는데 그게 그렇게 쉬운것 만은 아니더군요.(mysql 5는 CentOS 5부터 기본으로 제공이 되질 않는다고 메시지가 나오더군요.)그래서 APM을 소스로 인스톨해봤습니다. 그런데 Subversion과 Virerc까지 함께 설치를 할려고 봤더니 넘 복잡한 겁니다.(중간에 Trac도 시도해 봤는데 python 설치 스크립트에서 에러를 무지하게 뿌려 댑니다...ㅠ.ㅠ) 포기할까 하다가 구글링을 하던 중 발견한 블로그에서 좋은 정보를 얻게 되었습니다. 제가 고민하던 부분을 거의 모두 다 해결을 해 주셨더군요. 게다가 맥을 사용해서 다양한 시도들을 하고 계시더군요...^^ 감동이에요....ㅠ.ㅠb 거의 그대로 따라 했기 때문에 링크로 대신합니다.
몇개의 버전이 업데이트 된것을 제외하면 거의 그대로 따라해도 됩니다. 서비스를 위한 것이 아니라 테스트를 위한 환경이므로 부담 없이 설정해 주면 됩니다. svn의 경우 데몬을 올릴려고 할 때 사용하는 명령어 정도만 주의해야 하구요.
위에서 언급한 서비스들을 서버 시작할때 등록하고 싶다면 걍 /etc/rc.local에
/svnserve -d -r /svn_root_directory
이 정도 추가해 주면 귀찮을 일은 없을 것 같습니다.