티스토리 뷰

study/기타

window cvs 설정

kwakjun0 2009. 1. 14. 10:37

[CVS] CVS 설정

o 설정

- CVSNT 서버를 운영하는 프로그램은 "제어판 -> CVS for NT" 를 실행하거내 시작 단추를 누르고 메뉴에서 "CVS -> CVS control panel" 를 선택하면 됩니다.

 
 
 

- 일단 CVS Service 와 CVS Lock Service 서버를 각각 Stop 버튼을 눌러 중단합니다.
 
 

- 다음 "Repositories" 탭으로 가서 "Add" 버튼을 누르고 CVS 자료를 저장할 디렉토리를 지 정해줍니다.

 
 

- 이제 "적용(A)" 버튼을 누르고 다시 Service Status 탭으로 가서 서버를 구동하세요. "Start" 버튼을 누르면됩니다.
=> 첫번째 이미지 참고하세요.

※ sspi는 TCP/IP 방화벽을 좀 더 쉽게 오갈 수 있도록 합니다.
:sspi: 프로토콜은 login할 필요가 없습니다.

CVSNT 를 설치한 컴퓨터에서 cmd.exe 를 실행하고 다음을 수행합니다.
$> set cvsroot=:sspi:127.0.0.1:</cvs_repository>
$> cvs ls
Listing modules on server
CVSROOT

 
 

</cvs_repository>는 CVS 서버의 Repository 탭에서 설정해준 repository
(여기서 세번째 이미지의 "Name"값을 입력하는 것 입니다.)이고, 127.0.0.1 은 CVSNT 가 설치된 서버의 IP 주소인데, 현재 서버 자기 자신에서 접속하기 때문에 127.0.0.1 을 사용합니다. CVS 접근 시 반드시 login 하기를 원한다면
%CVSROOT%/passwd 파일의 SystemAuth=No 로 변경합니다.


o CVS 사용자 추가하기
pserver는 CVSNT 서버가 인터넷에 연결되어 있을 때 :pserver: 프로토콜을 사용하여 보안이 약한 사용자를 사용할 수 없게 합니다. 그래서 가상의 여러 아이디를 CVSNT를 위해 만들고, 각 개발자가 그 가상의 아이디를 부여받아 CVS 서버에 접속할 수 있게 합니다. 이제 그 "가상 아이디"를 만듭니다.

$> cvs passwd -r <Administrator> -a <newid>

Adding user <newid>@127.0.0.1
New password: *******
Verify password: *******

옵션
-a Add user
-x Disable user
-X Delete user
-r Alias username to real system user
-R Remove alias to real system user
-D Use domain password


여기서 <Administrator>는 CVSNT가 설치된 서버의 윈도우 사용자 계정이고, <newid> 는 CVS서버에 접속할 때 사용할 사용자의 아이디입니다. 위 명령을 실행하면 새로 만들어지는 ID 에 대한 비밀번호를 두번씩 입력해주라고 나옵니다.

위의 cvs passwd 명령으로 각 개발자들에게 모두 가상 아이디를 만들어주면 됩니다.


 
o CVS 서버 접속 테스트 ( pserver 이용 )

$> set cvsroot=:pserver:<newid>@127.0.0.1:</cvs_repository>
<newid>는 바로 위에서 만든 각 사용자의 ID이고, 127.0.0.1 이 서버의 IP 주소 혹은 도메인네임이 되리라는 것은 설명안해도 알죠?
$> cvs login 이렇게 한 뒤에 비밀번호를 쳐 줍니다.

Logging in to :pserver:<newid>@127.0.0.1:2401:</cvs_repository>
CVS password: *******
%> cvs ls
Listing modules on server
CVSROOT


현재 접속한CVS 리포지토리 상에 존재하는 모듈( 하나의 프로젝트 정도라고 생각하면 될듯함) 목록을 보여줍니다.

 
o CVS 서버 접속 테스트 ( SSL 이용 )

- :sserver:은 보안을 위한 암호화된 프로토콜입니다.
- SSL을 위한 조건
CVSNT 2.0.14 이상
JER 또는 JDK1.3.1 이상
Window 2000 이상
Eclipse 2.1 이상

$> set cvsroot=:sserver:<newid>@127.0.0.1:</cvs_repository>
$> cvs login 이렇게 한 뒤에 비밀번호를 쳐 줍니다.

Logging in to :pserver:<newid>@127.0.0.1:2401:</cvs_repository>
CVS password: *******

Eclipse CVS SSL plugin 공식 홈페이지 주소
http://home.arcor.de/rolf_wilms/cvsssl/cvsssl_help.html


o 특정 사용자에게 관리자 권한 주기

CVS 리포지토리의 CVSROOT 디렉토리에 admin 파일( 확장자 없음!!) 을 만들고 거기에 아이디를 한줄 한줄 적어주면, 각 사용자에게 관리자 권한( 사용자 추가 삭제 등을 할 수 있음)을 줄 수 있게 된다. CVS Service를 재시작 할 필요는 없습니다.


o anonymous 사용자 만들기

anonymous 사용자 즉, CVS 리포지토리에 파일을 편집/저장 할 수 없고, 읽기만 가능한 사용자는 CVS 리포지토리의 CVSROOT 디렉토리에 readers 파일을 만들고 거기에 읽기 전용 사용자의 ID 를 한줄 한줄 적어주면 됩니다. 저는 이 anonymous 사용자를 위한 아이디를 anoncvs 로 만들고, 웹 개발 프로젝트에서 실제로 웹서버에서 anoncvs 계정을 이용해 CVS 의 파일을 가져다가 테스트를 합니다. 이제 각자 개발자들에게 나눠준 ID 와 각 개발자의 CVS 클라이언트를 이용해서 개발에 임하면 됩니다.

o 가끔 나오는 문제

$> cvs passwd -a <new_id>
cvs passwd: Empty password used - try 'cvs login' with a real password
cvs [passwd aborted]: authorization failed: server 127.0.0.1 rejected access to </cvs_repository>

가끔 cvs passwd 명령을 썼을 때 저런 내용들을 볼 수 있다. 이는 CVS 서버에 로그인이 되어 있지 않은 것이다. 로그인만 해주면 문제는 해결된다.

$> cvs login
Logging in to :pserver:<Administrator>@127.0.0.1:2401:</cvs_repository>
CVS password: ******

$> cvs passwd -r sigel -a <new_id>
Adding user entireboy@127.0.0.1
New password: ******
Verify password: ******

$> cvs passwd -X <new_id>
Deleting user <new_id>@127.0.0.1

[출처] CVS 설정|작성자 코비