출처 http://blog.daum.net/urlover/7591417
프로그래밍 협업시에 가장 많이 사용하는 CVS 설치 및 사용에 대해서 간략히 적어봅니다.
## CVS설치
0. 설치전 유의사항
- 로컬드라이브에 설치
- cvsnt 레포지토리 디렉토리가 있는 디스크는 NTFS이어야 함
- 재설치시 기존의 cvsnt는 삭제 후 재설치를 원칙으로 함
1. cvs 서버를 다운받기
http://www.cvsnt.org에서 플랫폼에 맞춰 다운받는다.
다운버전 = cvsnt 2.5.03.2382
2. cvs 설치
다운받은 파일을 설치
설치 후 리부팅 => 패스잡히게 됨(확인)
3. 설치 후 작업
레포지토리와 템프 디렉토리를 만들어야 한다.
레포지토리는 CVS Data의 저장소이고, 템프디렉토리는 임시 저장소이다.
임시저장소 작성시 C:\WINNT\Ttemp 나 C:\Documents and Settings 디렉토리 아래에 만들지 않도록 한다. (체크)
temp = c:\cvs\temp
4. 설정
CVSNT 서버 운영 프로그램은
제어판>CVS for nt 를 실행하거나 시작>프로그램>cvsnt>CVS control panel를 선택.
일단 CVS Service 와 CVS Lock Servic 서버를 각각 Stop 버튼을 눌러 중단시킨다.
- Repository 설정
Repositories탭>Add버튼 => CVS자료를 저장할 디렉토리를 지정함(위 3번에서 만든 디렉토리로 지정)
Name - cvs/repository
- temp 지정
Advanced탭 => Temporary를 위 3번에서 만든 디렉토리로 지정해 줌.
이니셜라이징 (유닉스는 수동, 윈도우즈는 자동)
필요옵션 체크
- 클라이언트
neoecteam
cd\
c:\set CVSROOT -:pserver:Administrator@127.0.0.1:/cvs/repository
참고 : pserver - 패스워드방식
admin(in Windows)이 사용함
@는 IP
Repository path.
c:\cvs login
c:\cvs passwd -r Administorator -a neoec
참고 : admin에 대한 alias
admin권한을 가진 neoec 추가
= 이하 상세설명.
@@ 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 접근 시 반드시 login 하기를 원한다면
%CVSROOT%/passwd 파일의 SystemAuth=No 로 변경!!
- CVS 사용자 추가하기(pserver방식)
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
여기서 C:\cvs\repository 는 CVSNT 설정에서 지정해준 리포지토리 이름이고
newid 는 CVS서버에 접속할 때 사용할 사용자의 아이디이다.
127.0.0.1 은 CVSNT 가 설치된 서버의 IP 주소인데, 현재 서버 자기 자신에서 접속하기 때문에 127.0.0.1 을 사용한다.
위 명령을 실행하면 새로 만들어지는 ID 에 대한 비밀번호를 두번씩 입력해주라고 나옴.
- 위의 cvs passwd 명령으로 각 개발자들에게 모두 가상 아이디를 만들어주면 된다.
- CVS 서버 접속 테스트
$> 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 리포지토리 상에 존재하는 모듈( 하나의 프로젝트 정도라고 생각하면
될듯함) 목록을 보여줌
- 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: *******
- CVS SSL plugin 공식 홈페이지 주소
http://home.arcor.de/rolf_wilms/cvsssl/cvsssl_help.html
- 특정 사용자에게 관리자 권한 주기
CVS 리포지토리의 CVSROOT 디렉토리에 admin 파일( 확장자 없음!!) 을 만들고
거기에 아이디를 한줄 한줄 적어주면, 각 사용자에게 관리자 권한(사용자 추가 삭제 등을 할 수 있게)을 줄 수 있게 된다. CVS Service를 재시작 할 필요는 없다.
- anonymous 사용자
anonymous 사용자 즉, CVS 리포지토리에 파일을 편집/ 저장 할 수 없고, 읽기만 가능한 사용자는 CVS 리포지토리의 CVSROOT 디렉토리에 readers 파일을 만들고 거기에 읽기 전용 사용자의 ID 를 한줄 한줄 적어주면 된다.
개발 테스트시에 anonymous 사용자를 위한 아이디를 anoncvs 로 만들고, 웹 개발 프로젝트에서 실제로 웹서버에서 anoncvs 계정을 이용해 CVS 의 파일을 가져다가 테스트를 함. 이제 각자 개발자들에게 나눠준 ID 와 각 개발자의 CVS 클라이언트를 이용해서 개발에 임하면 된다.