다음 준비물을 준비하자.
|
CVSNT : http://www.cvsnt.org/wiki/ |
CVSNT는 윈도우용 CVS 서버고 Toroise CVS는 윈도우 탐색기에 Add on 되는 CVS 클라이언트 툴이고 WinCVS는 윈도우 어플리케이션 형태의 CVS 툴이다.
서버 설치하는 방법
1. 시스템 점검
- 파일시스템이 NTFS인지 확인하고, 아니라면 전환한다.
- CVS프로그램 자체가 깔릴 디렉토리는 NTFS가 아니어도 되지만, 3번에서 생성할 디렉토리는 NTFS시스템상에 있어야 한다.
2. CVS 디렉토리를 생성하고 권한설정
- "d:\cvsrepo" 와 "d:\cvstemp" 라는 두 개의 디렉토리를 생성한다.
- SYSTEM 계정에 "모든 권한"을 주도록 한다.

주의: "c:\WINNT\Temp" 나 "C:\Documents and Settings" 밑에 놓으면 권한설정이 제대로 되지 않는다.
3. 파일 받아서 설치
- http://www.cvsnt.org에서 가서, 설치파일을 받아서 설치하고, 서버를 리부팅.
- 옵션은 잘 모르면, 다 체크한다.
- SSH 옵션만 Experimental 일 경우 그냥 체크하지 말자.
- 시작메뉴에도 있지만, 제어판에 봐도, "CVS for NT" 라고 물고기 아이콘이 있는 항목이 생긴다. 이걸 실행한다.
- Service Stauts가 Start 상태이면, Stop 상태로 바꾼다.
4. Repositories 설정
- 3에서 실행된 제어판을 보면 Repositories탭이 있다.
- 여기서 Repository Prefix 체크박스를 설정하고, "..."버튼을 눌러서, 2.에서 설정한 "d:\cvsrepo" 디렉토리를 선택한다.
5. Repsoitory Root 추가하기
- 4에서 Prefix를 설정한 그 화면의 중간에 있는 "Add" 버튼을 누르고, "D:/cvsrespo/" 라고 써진 텍스트에 바로 붙여서 test라고 쓴다.
- 즉, "D:/cvsrespo/test"라고 한다. test는 자기가 원하는 이름을 써도 좋다.
- 새로 만들거냐고 물어보면 OK하면 된다.
6. Advanced 탭 설정
- Advanced 탭에서, impersonation enabled를 체크하면, CVS에 접속한 사용자ID권한을 가지고, 파일핸들링을 하게 된다.
- 그렇지 않다면 CVS Service를 실행한 사용자 권한 (SYSTEM등)의 권한으로 파일핸들링이 된다.
- 도메인에 속해있지 않다면 local user를 쓰도록 설정한다.
- 그리고, 꼭 "Apply"(적용) 버튼을 눌러라.. 포트번호도 한 번 확인해본다.
7. 다시 서버 시작
- 6번까지 했으면 첫 번째 탭 "Server Status"에서 서버를 다시 시작한다.
- Command Prompt에서 Path라고 쳐서, C:\Program Files\cvsnt; 이렇게 Path가 추가가 되어 있지 않다면 리부팅하고 다시 확인해봐라.
8. 사용자 관리- 불안한 프로토콜 제거
- 이제 사용자를 추가를 해야 하는데, 6에서 설정한 대로 ntserver의 유저인증을 그대로 쓸 경우가 있고,
- pserver를 이용하는 경우와 sspi를 쓰는 경우가 있다.
- pserver를 쓸 경우 보안상의 약점이 있으므로 sspi를 쓰기를 권장한다고 한다.
- pserver 프로토콜은 사용자 암호만 암호화 되고, 나머지 내용은 paint text로 송되므로, 인터넷에 공개된 환경에는 적합하지 않다.
- 따라서, pserver protocol을 삭제해야 하는데, 삭제는 물리적으로 cvsnt디렉토리에서, pserver_protocol.dll 을 이름을 pserver_protocol.dll.old 로 바꾸자..
| <주의> ntserver를 사용하지 말고 sspi로 사용하도록 하자. |
9. 사용자 추가
- NT계정을 사용자마다 할당해서 사용할 수 도 있고, 그렇지 않을 수도 있다.
- 여기서는 그렇지 않을 경우를 본다.
- 일단 사용자 계정을 다음과 같이 만든다.
- 코맨드프롬프트를 열고,
set cvsroot=:sspi::/
cvs passwd -a
예) set cvsroot=:sspi:myCom:/test (엔터)
cvs passwd -a testuser(엔터)
그리고, 암호넣으라고 나오면 암호 두번 쳐넣어준다.
참고, pserver를 암호로 쓸 경우, 아래처럼 한다.
set cvsroot=:pserver::/
일단 사용자가 생겼다 하더라도, 실제 시스템 계정과 연결이 되지 않으면 효용이 없다. 즉, 실제 NT계정과 연결(Aliasing)을 해줘야 한다.
아래 처럼 한다.
cvs passwd -r -a
예) cvs passwd -r NTTestUser -a testuser
이러면 동일한 NTUSer의 권한으로 여러 CVS User가 같이 쓰게 된다.
위에서 생성된 사용자 정보는 cvsrepo 디렉토리에 passwd란 파일에 저장된다.
| < 주의> cvs passwd 명령을 하기 위해서는 CVSNT를 설치한 폴더로 dos prompt 상에서 작업 해야 한다. path 가 걸려 있다고 하더라도 cvs passwd 명령이 다른 폴더에서는 나타나지 않는다. (이유는 모름...^^ |
또한, 위에서 impersonation enabled을 체크 했다면 윈도우의 administrator 계정으로 들어가서 사용자를 추가 하는 것이 좋다.
10. NT계정제한
- 기본적으로 NT계정의 모든 유저가 CVS에 접근이 되도록 되어 있는데 이것을 막고, CVS User만 사용하게 하려면, CVSROOT/config 파일에
SystemAuth = No
와 같은 줄을 첨가한다.
하지만 이럴 경우 passwd파일에 있는 패스워드는 의미가 없게 되고, NT계정암호로 인증을 한다고 한다.
여기서 시스템이란 것은 CVS시스템을 말하는 것 같다.