본문 바로가기

IT

Subversion, Eclipse를 이용한 소스관리와 다중사용자 개발환경 만들기

반응형
혼자만 개발하다가 다른 사람과 협동개발을 위해서 소스의 관리에 많은 어려움을 느껴서 CVS라던지 SVN에 관심을 두게 되었다. 소스코드 버전관리의 글들이 무지하게 많은데 이곳저곳에서 정보를 끌어모아서 글을 작성한다.

나중에 보더라도 알아볼 수 있게 작성해야지...

일단 Windows 기반의 서버를 구성하기 위해서 Subversion의 윈도우용 서버 프로그램을 구해야 한다.



http://subversion.tigris.org/

해당 홈페이지로 이동하여 Packages를 클릭하여 이동해서 Windows 용의 서브버전 패키지를 받는다.


수많은 OS를 지원한다. (나는 윈도우용이 필요하니 Windows를 클릭한다.)


나는 서버만 필요하고 클라이언트는 eclispe를 사용할 것이므로 서버만 지원하는 Win32SVN를 클릭한다.


소스포지로 이동하게 되고 프로그램을 다운로드 하면 일단 필요한 파일은 준비가 끝난다.

이제부터가 실제 설치다. 어렵다...


설치화면이다. 별다를게 없다. 다음을 누르고,


원하는 폴더를 지정하여 인스톨한다. 별다를게 없다. 설치끝 (--);;;

이제 svnadmin.exe 를 이용해서 repository를 만들어서 서비스를 해줘야 하는데 cmd.exe를 실행해서 커멘드를 직접 입력하는 방법도 있지만, 피라시스닷컴이라는 회사에서 만든 SVNSERVE Manager 라는 프로그램을 이용해서 딱 1개의 repository를 만들어서 사용할 것이다. (너무 많으면 관리하기 힘들다.;;;)

프로그램은 다음 링크를 누르면 받을 수 있는데 트래픽관리가 안되는지 툭하면 트래픽이 초과된다고 나온다. 적당한 시기에 잘 받기 바란다.

<설치파일>
http://www.pyrasis.com/main/SVNSERVEManager?action=download&value=SVNManager-1.1.2-Setup.msi
<압축파일>
http://www.pyrasis.com/main/SVNSERVEManager?action=download&value=SVNManager-1.1.2.zip

맘에 드는 것으로 설치를 한다.

해당프로그램을 다운로드 해서 마찬가지로 다음다음 설치한다.




설치폴더를 잘보면 위에서 설치한 Win32SVN 폴더에 동일하게 들어가는 것을 볼 수 있다. 설정을 편리하게 도와주는 GUI 프로그램이라고 보면 된다. 설치가 끝났으니 '시작'으로 이동하여 방금 설치한 SVN Manager를 실행해본다.


간단히 Repository폴더를 지정한다. 그리고 포트를 지정할 수 있는데 기본 포트를 사용하려면 안적어줘도 된다.
그리고 부팅될 때 자동으로 서비스(윈도우의 기본서비스들처럼)에 등록하기 위해서 Normal인 것을 Service를 체크하면 다음과 같은 화면이 나온다.


Win32SVN의 파일 중 기본이 되는 파일의 위치를 찾아주어야 한다. 확인을 누르고,



설치폴더를 찾아서 열기를 해준다.

성공적으로 서비스를 만들었단다.


자 마지막으로 Start버튼을 눌러서 서비스를 최초 실행해주고,


Hide버튼을 눌러서 숨겨주면 땡!


그런데 이렇게 하면 내가 만든 SVN에 누구나 와서 사용한다는 건가? 사용자는 어떻게 지정하지 이런 생각이 들것이다.

그것은 다음 강좌로~~~~


휴... 온라인을 뒤지면 정말 많은 SVN설정법들이 있는데요... 오래되기도 했고, 처음 시작하는 사람들이 너무 힘들게 설정하는 것 같아서 (저도 힘들었고..) 쉽게 설명한다고 하는데 잘 되었는지 모르겠습니다. 다음엔 보안 설정을 해서 사용자 아이디를 입력해서 실제로 eclipse에서 프로젝트를 SVN관리하는 것까지 해보겠습니다.


-- 2012-02-13 내용추가

 중요한 내용을 빼먹었습니다. ㅡㅡ;;
 위에까지 하면 서비스는 돌아가는데 실제로 repository가 생성되지 않아서 서비스를 정상적으로 운용할 수 없습니다.


 글쓴이는 D드라이브에 Repository라는 폴더를 만들고( D:\>mkdir Repository ) 해당 폴더를 사용하기로 했습니다.
화면에 보이는 것처럼 명령어를 입력하시면 됩니다. (이전에 svn프로그램의 bin폴더가 윈도우 설정의 PATH에 설정되어있어야 합니다. ^^) svnadmin create --fs-type fsfs D:\Repository 라고 명령어를 입력합니다. 그러면 해당 폴더안에 SVN을 위한 파일과 폴더가 생성된다. 이곳을 직접적으로 엑세스하거나 수정하거나 하면 안된다. (절대!)

 일단 폴더의 구성은


 이런 구성을 하고 있고, 우리가 유일하게 편집할 부분은 conf 폴더안의 내용입니다. conf폴더로 이동하게 되면..


 이렇게 3개의 파일이 보입니다. 기본적인 설정은 svnserve.conf파일에 내용이 들어있으며, auths 와 passwd는 딱봐도 인증과 관련된 파일이구나 싶을 겁니다. ^^;

 일단 우리는 개인이 사용할 것이고 간단히 사용자에게 패스워드만 지정해줘서 사용하고 anonymous 사용자는 접근할 수 없도록 제어할 것입니다.

 svnserve.conf파일을 열어서 다음과 같이 편집합니다.



 수정할 부분은 붉은 색부분이고, 파란색부분은 사용하지 않을 부분입니다. 파란색부분은 좀더 세세한 설정을 위한 것이므로 넘어가고, 위에서부터 보면 anon-access = none 으로 바꿔놓았는데 인증되지 않는 사용자들에게 어떠한 권한을 주는 것인지를 써놓은 것입니다. 저는 none으로 적어놓아서 모든 (쓰기, 삭제, 읽기 모두 안됨) 권한을 주지 않아서 접근할 수 없습니다. 혹시 읽기 권한만 주겠다는 분은 none부분을 read로 변경하시면 됩니다.

 바로 밑의 auth-access = write 라는 것은 인증된 (아이디와 패스워드로 접근한) 사용자의 권한을 적어놓은 것이니다. write라는 것은 (쓰기, 삭제, 읽기) 모든 권한을 부여한 것이라 생각하시면 됩니다.

 그 밑의 password-db = passwd 라는 것은 패스워드 정보를 어디서 가져올 것인가를 써놓은 것입니다. 뒤에 passwd는 아까 conf디렉토리에서 보았던 파일과 같은 이름이죠? 그 파일에 적혀있는 아이디, 패스워드를 사용하겠다는 겁니다.

 이제 하나 더 밑의 authz-db = authz 라는 부분은 주석처리해놓았습니다. 쓰지 않겠다는 의미입니다. 사용하시려면 주석을 해제하시고 해당 파일에 들어가서 수정을 하시면 됩니다. (자세한 내용은 해당파일을 참조하시고, 웹을 조금 검색해보시면 나올겁니다.)

 마지막으로 realm = Dante2k Repository 라는 것은 해당 레포지토리에 접속하는 경우 보여주는 이름입니다. 자신이 원하는 형태로 작성하시면 됩니다. 저는 제 닉을 적어놓았습니다.

 이제 passwd파일을 봅니다.


 파일을 열어보시면 정말 간단히 되어있습니다. 심지어 암호화도 되어있지 않습니다;;; 뭐 그게 중요한게 아니니까.. 사용자를 지정하는 형태는 간단히 '아이디 = 패스워드' 쌍으로 지정해주면 됩니다. 저는 테스트를 위해서 아이디와 패스워드를 적어놓았습니다. 사용하다가 필요없는 아이디가 생긴다면 삭제할 필요없이 위의 harry나 sally 처럼 주석처리하면 사용하지 않는 사용자가 됩니다.

 이렇게 설정을 하면 일단 접속을 위한 설정은 끝이납니다.

 실제로 eclipse에서 SVN을 사용해보겠습니다. eclipse 를 실행하고 메뉴에서 Windows -> Open perspective -> Other를 선택합니다. 다음과 같은 창이 뜨면 SVN Repository Exploring 을 눌러줍니다.



 창이 뜨면 다음과 같이 새로운 repository를 연결합니다.


 파란색 줄은 무시하시기 바랍니다. 다른 SVN의 설정입니다. ^^; 다음과 같은 창이 뜨면 그곳에 자신의 Repository에 해당하는 주소를 넣습니다. 넣는 방법은 다음과 같습니다.



반응형