CVSNT 설치 및 설정 방법 DarkKaiser, 2007년 6월 30일2023년 8월 30일 CVSNT는 윈도우즈 환경에서 사용할 수 있는 CVS 서버로, 설치를 하면 NT 서비스로 등록되어 실행된다. CVSNT 설치가 끝났으면 다음과 같은 작업을 해야 한다. PATH 설정 CVSNT의 예전 버전에서는 설치 후 사용자가 직접 PATH를 설정해야 했지만, 최신 버전에서는 설치가 끝나면 CVSNT가 설치된 디렉터리가 자동으로 PATH 환경 변수에 추가되므로 별도의 작업은 필요 없다. CVS 리포지터리 설정 제어판에서 ‘CVS for NT’ 이이콘을 더블클릭하여 CVSNT 컨트롤 패널을 띄운 다음 Repositories 탭을 선택해 리포지터리를 추가한다. Add 버튼을 누른 다음 적절한 경로를 입력하면 된다. Location은 리포지터리의 물리적 위치고, Name은 이를 참조하는 논리적 이름이다. Location을 지정하면 Name은 드라이브 문자를 제외한 나머지 부분으로 자동 설정된다. Name 항목도 드라이브 문자를 포함할 수 있지만 이렇게 할 경우 UNIX 클라이언트가 접근할 경우 호환성 문제가 발생할 수 있으므로 권장하지 않는다는 경고 메시지가 뜬다. 지정한 디렉터리가 존재하지 않는 경우는 CVSNT가 디렉터리를 만들어준다. 사용자 추가 CVSROOT 환경 변수를 설정한다. 도스창에서 다음과 같이 입력한다. set CVSROOT=:pserver:127.0.0.1:/cvs 그리고 다음 명령을 이용해 CVS에 로그인한다. cvs login 로그인 명령을 입력하고 엔터키를 치면 패스워드를 물어보는데, 현재 로그인한 OS 계정의 패스워드를 입력하면 된다. 그리고 CVS 명령을 사용하여 사용자를 추가한다. cvs passwd -a -r <OS 사용자 이름> <CVS 서버 사용자 이름> <OS 사용자 이름>에는 현재 윈도우에 존재하는 사용자 읾을 지정해 주어야 한다. <CVS 서버 사용자 이름>에는 CVS 서버에 접근할 때 사용할 사용자 이름을 지정한다. 사용자가 정상적으로 추가된 경우 CVSROOT 디렉터리에 passwd 파일이 생성된다. 사용자 추가가 끝나면 CVS 서버를 이용할 수 있게 된다. 네트워크로 연결된 다른 PC에서도 CVSNT가 설치된 IP 주소로 접근하여 CVS를 사용할 수 있다. 기타 고급 설정 파일 시스템이 NTFS인 경우, CVS에 접속할 때 사용하는 OS 계정에 충분한 권한이 없으면 이클립스에서 프로젝트를 CVS에 공유하려 할 때 에러가 발생할 수 있다. 이는 CVS가 작업을 위해 임시 디렉터리에 파일을 만들려다가 실패한 것으로, CVS 서버에 접근할 때 사용하는 OS 계정의 권한이 충분하지 않아 생긴 문제다. 이 문제는 CVS 임시 디렉터리를 아무나 읽고 쓰는 것이 가능하게 만들거나, CVS의 실행 권한을 적절히 바꿔 해결할 수 있다. 제어판에서 CVS 컨트롤 패널을 띄운 다음 Server Settings 탭을 선택하면 아래 그림과 같이 여러 가지 고급 설정을 할 수 있는 패널이 보이는데, 여기서 중간쯤에 있는 Run as 항목을 보면 ‘(client user)’로 설정돼 있는 것을 볼 수 있다. 앞에서 CVS 사용자를 추가할 때 OS 계정은 guest를 사용하게 했으므로, CVS 작업을 할 때 클라이언트가 접근할 때 사용한 GUEST 계정으로 돌아간다는 것을 의미한다. guest가 c:/windows/temp 디렉터리에 쓰기 권한을 갖고 있지 않은 경우에는 에러가 발생할 것이다. 이런 에러가 발생하지 않게 하기 위해서 CVS가 충분한 권한이 있는 계정을 사용하도록 Run as 항목을 수정할 수 있다(가령 Administrator 계정을 사용하도록). 또는 Run as 항목은 그대로 둔 채 guest 계정이 CVS 임시 디렉터리에 읽기/쓰기 권한을 갖도록 수정해도 되고, 누구나 읽기/쓰기가 가능한 별도의 디렉터리를 CVS 임시 디렉터리로 지정해도 된다. 또는 cvsuser와 같은 CVS용 계정을 따로 만들어 사용하는 것도 좋은 방법이다. CVS 접속 계정으로 Administrator와 같은 관리자 권한의 계정을 지정하는 것이 꺼림칙하다면 세 번째 방법을 택하는 것이 좋겠다. CVS CVScvsnt