1. 먼저 설치가 되어 있는지 확인한다.

cvs -v   명령을 내리면 설치가 되어 있는지 확인할 수 있다.

설치가 되어 있지 않다면 command not found 메시지가 나올것이며, http://www.cvshome.org/에서 소스를 받아 설치를 한다.


2. 저장소 디렉토리 생성 및 초기화

다음과 같이 프로젝트 파일을 보관하는 저장소(Repository)를 생성한다.

mkdir /home/cvs

그리고 초기화를 한다. 초기화란 저장소디렉토리에 cvs에서 사용하는 제어 파일들이 들어 있는 디렉토리를 생성하는 일이다.

cvs -d /home/cvs init

위와 같이 실행하면 /home/cvs 디렉토리 밑에 CVSROOT 디렉토리가 만들어진다.


3. cvs 유저생성 및 권한 설정

cvs 유저 그룹을 등록하고, 저장소 디렉토리의 그룹이 cvs를 바꾸고, cvs 그룹에 대해 저장소 디렉토리에 대한 읽기,쓰기,실행 권한을 줘야 한다.

adduser cvs

chown root.cvs /home/cvs -R

chmod 770 /home/cvs -R


4. cvs 사용자 등록

/home/cvs/CVSROOT 디렉토리 밑에 passwd 라는 파일을 생성한다.  그리고 passwd파일에 사용자 정보를 직접 기제한다.  예를 들자면 다음과 같다.


satgat:ETND93SaXW5yw:cvs

udong:gl.H2YK1mxMm2:cvs

anonymous::cvs


:으로 세개의 필드가 구분되어 있는데 첫번째는 ID이며 두번째는 패쓰워드, 세번재는 저장소 접근 때 시스템에 등록된 cvs유저의 권한으로 접근한다는 의미이다.


여기서 패스워드는 crypt 알고리즘을 이용하는데 생성 방법은 다음과 같다.


htpasswd -nb [ID] [PASS]

즉, satgat라는 ID에 1234라는 패쓰워드를 넣고 싶다면


htpasswd -nb satgat 1234


하면 그 결과가 출력된다.  이 결과를 passwd파일에 복사해서 넣으면 된다.


** htpasswd는 Apache 웹서버 패키지에 포함되어 있는 것이다. 없으면 패키지를 설치하던지 패스워드를 생성하는 프로그램을 만들어서 해야한다.


** 익명의 사용자에게 소스를 공개하려면 부가적으로 작업이 좀더 필요하다 (추후 보강)


5. cvs 서버 실행


/etc/xinetd.d 디렉토리 밑에 cvspserver 파일을 생성한다. 

그리고 cvspserver 에 다음의 내용을 적어넣는다.


service cvspserver
{
       disable         = no
       flags           = REUSE
       socket_type     = stream
       wait            = no
       user            = cvs
       server          = /usr/bin/cvs
       server_args     = -f --allow-root=/home/cvs pserver
}

### 이후 저장소를 추가하는 경우
server_args = -f --allow-root=/home/cvs/project1, -f --allow-root=/home/cvs/project2, .......

그리고 xinetd 슈퍼 데몬을 다시 실행한다.


cd /sbin

service xinetd restart


cvs 서버가 돌고 있는지는 netstat -an 명령으로 확인한다.


netstat -an | grep 2401


돌고 있다면 2401 포트가 열려 있다고 나올 것이다.

+ Recent posts

티스토리 툴바