[서버 - linux]

Fedora Core 6에서 CVS 서버 설치하기
 
step 1. xinetd이 이 없다면 설치 한다 (FC 설치시 옵션에 따라서 xinetd가 설치가 안됨. 기본 값 설치시에는 xinetd 포함)

step 2. cvs 에서 사용하는 프로그램들을 설치 한다 [optional]
        cvs, cvsgraph, cvsweb를 설치해준다

step 3. cvs 유저를 및 cvs 그룹을 만든다
        a. useradd cvs 하여 cvs 유저와 그룹을 만든 다음 passwd에서 cvs의 로그인 쉘을 /sbin/nologin 으로 바꾸어 준다
        b. '사용자 관리자' 에서  cvs  유저와 cvs 그룹을 추가 후 로그인 쉘을 /sbin/nologin으로 바꾸어준다
        c. cvs[user]/cvs[group]가 없을 경우 module이 없다는 엉뚱한 에러 메시지가 발생한다.

step 4. cvs를 저장할 곳을 생성하고 디렉토리의 권한을 설정한다.
        그룹이 같이 사용하기 위해서는  CVS 루트 디렉토리의 권한이 그룹에도 write할 수 있도록 되어야 한다
        a. chmod -R $CVS_HOME 775
        b. $CVSROOT 디렉토리의 그룹/유저 권한이 설정되어 있지 않다면 파일을 읽을 수 없으므로
            module 목록을 받아 올 때 에러가 발생하게 된다.

step 5. cvs 루트 디렉토리를 추가한다
        a. cvs -d $CVSROOT init

step 6. 루트 디렉토리 안에 CVSROOT 라는 디렉토리가 생성되었나 확인한다

step 7. CVS를 사용할 유저들을 CVS 그룹에 넣는다

step 8. CVSROOT 디렉토리로 들어 가서 passwd 파일을 생성한다
        a. htpasswd -c passwd $USERID  // 최초 생성시
        b. htpasswd passwd $USERID    // 유저 추가시

step 9. cvs 클라이언트를 이용해서 cvs를 사용한다

step 10. cvs 클라이언트 접속시 cvs pserver: cannot open /var/cvst/CVSROOT/config: Permission denied 라는
            에러가 뜨면 대부분 SELinux 활성화로 인해 충돌이 일어 나는 것이므로,
        a. # setenforce 0 로 selinux를 해제하거나
        b. selinux 설정에서 cvs 보호를 해제 한다. 조금더 안전한 방법을 찾아 봐야함<-
        c. cvs repository의 permission을 확인해본다. 일반적으로 cvs 그룹에 속해 있지 않거나,
            파일을 추가한 사람의 퍼미션을 따라가면서 others의 권한으로 읽다 보니 이런 경우가 발생함
[참고 : http://blog.naver.com/neutrino37/110011154935 & http://forums.fedoraforum.org/archive/index.php/t-100962.html]

 

 cvsweb을 굳이 설치 해야 할 이유는 없으나, 설치 하지 않을시 Tortoise CVS 에서 아래와 같이 설정을 해주어야 한다.

웹 로그를 설치 하지 않은채 '웹 로그 파싱'을 끄지 않으면 웹 로그 서버를 찾는데 엄청나게 오랜 시간 동안 멈추어 버리므로
웹 로그 설치하지 않았다면 반드시 웹 로그 파싱을 끄도록 한다.

 '빈 폴더 제거'의 경우 기본 설정이지만, 일부 프로그램에서 컴파일 결과용 폴더라던가 내용이 없는 폴더의 경우 이 옵션은 꺼주는 것이 좋다. 그게 아니라면, 없어진 폴더를 일일이 생성을 해야 하는 귀차니즘을 경험하게 될 것이다.
(컴파일시 결과 출력 디렉토리라면 컴파일 시 에러가 발생할 것 이다)
 
'네트워크(원격) 드라이브의 저장소 허용'의 경우 꺼지는 것이 기본 설정이지만,리눅스 서버에서 개발을 하고 소스 수정은
windows에서 하는 경우에는 대부분 samba나 nfs를 사용할텐데, 이경우 cvs가 작동이 되지 않게 되는 원인이 바로 이녀석이다. 이녀석을 체크해주면 원격 드라이브에서도 cvs를 사용할 수 있으므로, 개발 환경 구축이 편해지는 장점이 있다.
<20080619 추가>




2008/12/12 - [프로그램 사용] - TortoiseCVS - CVS client for windows
Posted by 구차니