JAVA & Open Framework2013. 10. 2. 14:58

1. SVN 서버 설치 하기


http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=91 

에 접속하여 Subversion을 다운로드 한다.


작성일(13.10.02) 기준으로 최신 Version인 1.6.6 다운로드 받음.






SVN 서버 설치 완료됨. 별다른 어려움이 설치가 가능하다.




2. SVN repository 지정 및 SVN 서버 설정



SVN용 repository로 사용할 디렉토리 선정. 본 글에서는 E:\svn_repo 를 repository로 사용하기로 결정.



윈도우 - 시작 - cmd 를 통해 명령어프롬포트 실행하여 repository로 사용할 폴더 이동하여 아래 명령어들 수행


E:


CD svn_repo


svnadmin create --fs-type fsfs svn


svn checkout file:///E:/svn_repo/svn


("체크아웃된 리비전 0." 이라는 메시지가 나와야 정상 체크아웃 된 것.)

--> 여기까지하면 SVN repository 설정 완료



repository 설정 후 해당 실제 폴더에 가보면 위에서 설정한 이름으로 폴더(E:\svn_repo\svn) 가 생성되어 있는 것을 알 수 

있다.  새로 생성된 하위 폴더 중에서 conf 폴더에 있는 설정파일들을 수정한다. (svnserve.conf , passwd, authz)


svnserve.conf 설정


기본적으로는 # 으로 주석처리가 되어 있으며, 아래 부분들을 상황에 맞게 주석해제 및 수정해주면 된다.

# anon-access = read  ( 인증 필수 여부 설정 - read : 미인증사용자 읽기가능, none : 미인증시읽기 및 쓰기 불가 )

# auth-access = write ( 인증사용자의 쓰기권한 설정 )

# password-db = passwd ( id/pw 가 등록되어 있는 파일명)

# authz-db = authz ( 그룹별 계정권한 설정 파일명 )

# realm = My First Repository ( 저장소 인증 시 나오는 타이틀 설정 )




svnserve.conf 파일을 설정한 모습.

# anon-access = read  =>  anon-access = none  (필수적으로 인증 필요함)

# auth-access = write => auth-access = write (인증된 사용자 쓰기 가능)

# password-db = passwd => password-db = passwd (passwd파일에서 id/pw 관리)

# authz-db = authz => 그대로 주석 처리 ( 그룹관련 설정 안함 - 유의사항 참조 : http://kldp.org/node/96377 )

# realm = My First Repository => realm = wintness Repository ( 저장소 인증 시 "wintness Repository"가 나오도록 설정 )

단, 주의해야 할 점은 주석해제 후 수정시 앞에 공백이 있으면 안된다!!!

ex) # anon-access = read  =>  anon-access = none 으로 수정 시 anon 앞에 공백이 있으면 인식이 안되므로 주의할 것.



* passwd 설정


화면처럼 [users] 아래에 유저명 = 유저패스워드 로 로그인가능 한 ID / password 를 설정한다.

이 또한 앞에 공백이 있으면 안되니 조심 할 것.


* authz 설정

그룹별 권한을 설정하는 파일로 여기에서는 사용하지 않기로 한다.

참조 : http://kldp.org/node/96377

===> SVN 서버 설정 완료



3. SVN 서버 START


* 방법 1) cmd 창에서 서버 실행


cmd 창에서 아래와 같은 명령어 수행(E:\svn_repo 를 svn용 repository root directory에 해당)

svnserve -d -r E:\svn_repo

단, cmd 창에서 서버를 수행한 경우 cmd창을 끄게 되면 서버수행이 중지된다.



* 방법 2) 윈도우 서비스에 등록하여 서버 수행


cmd 창에서 위와 같이 sc 를 이용하여 서비스에 등록


sc create svn_2 binpath= "C:\Program Files (x86)\Subversion\bin\svnserve.exe --service -r E:\svn_repo" displayname= "Subversion Server_2" depend= Tcpip start= auto


기본적으로 자동시작으로 옵션을 설정했으므로 윈도우 구동시 자동으로 시작된다.


-> 등록한 서비스를 제거하는 경우 아래 명령어를 이용하여 제거.(단, 등록 후 바로 제거하는 경우 제대로 안되는 경우가 

있으므로 이러한 경우 재부팅 후 제거 명령을 수행해야 제대로 제거됨.)

sc delete svn_2 displayname= "Subversion Server_2"



정상적으로 등록된 경우 제어판 - 관리도구 - 서비스에서 위와 같이 "Subversion Server_2"가 생긴 것을 알 수 있다.

윈도우 재구동 시 자동시작이 되며 여기에서 직접  SVN서버 수행 및 정지가 가능하다.




4. SVN 서버와 이클립스 연동


* 사전준비사항

1) SVN서버 구동

2) 이클립스에 SVN 플러그인 사전 설치 ( 참조 : http://tiger5net.egloos.com/5570003 )



이클립스 - SVN Repositories탭 - New - Repository Location.. 클릭




설정했던 URL 정보 ( svn://localhost/svn ) 와 passwd 파일에 설정한 user명과 user패스워드를 입력하고

Finish버튼 클릭



Finish버튼을 눌렀을 경우 아무런 메시지가 나오지 않고 위와 같이 SVN Repositories 탭에 "svn://localhost/svn"가 

추가되었으면 정상적으로 이클립스와 SVN 서버가 연결된 것.

(단, Finish버튼 클릭 시 SVN 인증 실패 및 기타 메시지가 나오는 경우에는 설정 시 잘못된 것이므로 재설정 후

SVN 서버 재구동 하고 다시 추가를 해본다.)








Posted by 아로나