서브버전(Subversion)의 설치법


1.준비물

윈도우용으로 처리할 것이니 Subversion의 WIN32용 최신 패키지를 구한다.

http://subversion.tigris.org/

서비스로 등록하기 위해서 SVNSERVICE.exe를 구한다. (사이트 없어진 것 같다. 가시지 말고 아래에서 다운로드 받을 것)

http://clanlib.org/~mbn/svnservice/

2.아파치로 설치하기

아파치로 설치하기 싫으므로 생략하고 다음에 기회가 되면 업데이트 한다.

3.서비스로 설치하기

자체적으로 작은 서버를 제공한다.-> svnserve.exe 파일

여기서 다운 받으세요.

{.aligncenter}1027347974.zip

먼저 Repository를 생성할 곳을 정해야 한다.

적당한 위치를 정해서 그 곳에 자신이 작업한 내용들이 쌓이도록 한다.

여기에서는 c:/svn/ 을 Repo로 삼는 것으로 하자.

**Repository 생성하기

** [방법 1] 이방법은 알아만둘것

svnadmin create [rep를만들패스] –fs-type fsfs

–fs-type 옵션에서 fsfs는 파일시스템을의미하고, bdb는 버클리DB를 의미한다.

svnadmin create “c:/svn”

[방법2] 이 방법이 편하니 이렇게 하자.

이 절차는 TortoiseSVN이 깔려있으면 쉽게 마우스 오른쪽 클릭해서 “여기에 저장소 생성하기” 혹은 “Create Repository Here”를 눌러도 된다.

생성하고 나면 c:/svn 디렉토리 내부에 몇개의 디렉토리와 파일들이 생성된다.

Repository 설정 변경

만들어진 repository내부의 다음 파일을 수정하여 repository의 설정을 바꾼다.

/conf/svnserve.conf

파일을 다음과 같이 만든다.

[general]
anon-access = none
auth-access = write
password-db = passwd

anon-access : 계정이 없는 anonymous의 권한을 설정한다.

auth-access : 계정이 있는 경우의 권한을 설정한다.

(none : 권한없음, read : 읽기권한, write : 읽기+쓰기권한)

password-db : 계정을 password파일을 사용한다.

사용자 정보 수정

사용자 정보를 수정하기 위해서 다음 파일을 고친다.

/conf/passwd

[users]
kjune = mypassword

‘아이디 = 암호’의 형식으로 설정한다. 암호는 암호화되지 않는다.

**실행하기

** 여기는 그냥 이렇게 실행하는 방법도 있구나라고 알면 된다. 쓰기 편한 방법은 아래의 서비스로 띄우는 방법이다.

svnserve -d -r [저장소경로]

예) svnserve -d -r “e:/svn”

명령어로 서버 동작 조절하는 프로그램

여기도 그냥 이런 법도 있구나 하고 넘어가도록 한다.

명령행에서 일일이 실행하는 불편함을 덜어주는 SVNSERVE Manager같은 프로그램을 이용할 수도 있다. svnserve의 동작/정지 상태를 트레이 아이콘으로 표시해 주며 시스템 시작시 svnserve를 자동으로 실행 하게 할 수 있다.

써봤는데 별로 안좋다.

NT서비스로 띄우기

http://clanlib.org/~mbn/svnservice/ 에서 다운로드 받은 zip파일을 풀어보면, 소스와 SVNService.exe파일이 있는데, 여기선 소스를 볼 건 아니니 SVNService.exe파일만 Subversion이 풀어진 디렉토리의 bin디렉토리에 놓는 것이 좋을 것 같다.

사이트가 없어진 것 같아서 파일만 위에 링크해 놨으니 가져가시도록…

C:program filesSubversionbin 디렉토리 정도?

SVNService -install -d -r ‘c:/svn”

이렇게 하면 서비스에 SVNService가 등록된다.

Usage instructions:

SVNService -? to display this list

SVNService -install to install the service

SVNService -setup to change command line parameters for svnserve

SVNService -remove to remove the service

SVNService -debug to run as a console app for debugging

Example:

SVNService -install -d -r c:svnrepo

SVNService -setup -d -r c:otherplacesvnrepo

서비스 시작하기

이제 서비스로 가서 보면

SVNService라는 새로운 서비스가 있다.

시작유형은 자동으로 하고, 서비스를 시작하면 서버의 설정은 모두 완료되었다.

포트설정

아파치를 사용하지 않고, 서비스로 등록된 경우 외부와 연결되는 포트는

3690 포트를 사용한다. 방화벽과 공유기 등등에서 적절하게 설정해준다.

4.여담

CVS를 윈도우에 설치할 때는 CVS for NT가 있어서 그냥 제어판에서 서비스로 등록하고 다 해서 편했는데, SVN은 윈도우 쪽에서 설치할 때 여러모로 못 마땅하다. 조만간 SVN for NT라는 프로그램이 나오지 않을까 예측해 본다.

5.cvs repo를 svn으로 바꾸기

cvs2svn이란 python으로 작성된 변환기가 있다.