>> Delete Reply from No. 25752 article
No. RE: [질문]cvs 설정에 관한 질문!! 도와주세요~~

등록 2001-03-31 14:10:00 By localhost     조회 2
이름 임대호    

		cvs 서버 운영하는건 그리 어렵지 않던데요.
 간단한 설치법은 다음과 같습니다.
 * 배포판 : Redhat 6.2
* CVS : cvs-1.11-1
  1.
cvs 사용자 및 그룹을 생성합니다.
# groupadd cvs
# ueradd -g cvs cvs
  2.
/etc/inetd.conf 파일에 다음과 같이 넣어줍니다.
(Redhat 7.0이라면 xinet 관련 설정이 되겠지요.)
 cvspserver      stream  tcp     nowait  root    /usr/bin/cvs cvs -f --
allow-root=/home/cvs pserver
 /etc/service 파일에 cvspserver 라는 항목이 2401번 포트에 정의되어 있어
야 합니다.
  3.
inetd 슈퍼데몬을 재기동합니다.
# killall -HUP inetd
  4.
cvs 시스템을 초기화합니다.
# su - cvs
$ cvs -d /home/cvs init  <-- 최기화 하는 부분
$ ls -Al /home/cvs
drwxr-xr-x    4 cvs      cvs          4096  3월 29 22:59 .
drwxr-xr-x   14 root     root         4096  3월 29 15:28 ..
drwxrwxr-x    3 cvs      cvs          4096  3월 29 22:57 CVSROOT
  5.
cvs 내부 계정을 발급하고 접근권한을 설정합니다.
암호생성을 위해 아파치에서 제공하는 htpasswd 명령을 사용할 수도 있지만
저는 다음과 같은 Perl 스크립트(mkcvspass)를 만들어 사용하고 있습니다.
$ cd CVSROOT
$ (cat << _EOF_
#!/usr/bin/perl
if ($#ARGV ne 1) {
   $basename = $ENV{'_'}; $basename =~ s/.*///g;
   die "Usage:$basename [CVS ID] [Password]";
}
$arr
= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./";
$salt = substr($arr, int(rand(64)), 1) . substr($arr, int(rand
(64)), 1);
print $ARGV[0] . ":" . crypt($ARGV[1], $salt) . ":cvs";
_EOF_
) > mkcvspass
$ chmod +x mkcvspass
$ ./mkcvspass userid userpass
userid:Cj2XCzR4gyYjQ:cvs
$
 추가할 사용자를 위와 같이 ./mkcvspass 명령으로 암호를 생성한 후
다음과 같이 passwd 파일에 기록합니다.
 $ cat passwd
cvs:t1tSih91v8R7o:cvs
myway:9zzGC/u6WEa.:cvs
userid:Cj2XCzR4gyYjQ:cvs
$
 위 정보는 : 기호를 구분자로 하여 다음과 같은 의미를 지닙니다.
  cvsID:암호:시스템실제 cvs 계정
 암호를 passwd 파일에 기록하기 위해서는 다음과 같이 바로 리다이렉션
해도 되겠지요.
./mkcvspass userid userpass >> passwd
  읽기만 허용할 사용자를 readers 파일에 지정합니다.
다음의 경우 cvs로 cvs 시스템에 로그인한 사용자는 cvs 트리의 소스코드를
읽는 권한만 지니게 됩니다.
$ cat readers
cvs
$
  6.
로그인을 시험합니다.
로컬 또는 원격 사용자는 다음과 같이 cvs 시스템에 접근할 수 있습니다.
(다음의 경우 myway 라는 cvs ID를 사용하였습니다.)
$ cvs -d :pserver:myway@127.0.0.1:/home/cvs login
(Logging in to myway@127.0.0.1)
CVS password:
$
 아무 메세지가 출력되지 않았다면 정상 로그인된 것입니다.
 cvs 명령에서 -d 옵션은 cvs root 를 뜻하는 것입니다.
 만약 로컬 시스템이라면 바로 -d /home/cvs 와 같이 접근해도 되지만 파일
및 그룹의 접근권한 설정이 좀 번거롭기 때문에 로컬 시스템 사용자라도
위와 같이 cvs 서버로 로그인하도록 하는게 좋은것 같더군요.
 모든 cvs 명령에 cvs root 정보가 동반되어야 하므로 -d 옵션으로 매번 넣어
주는게 귀찮다면(원격 시스템은 더더욱) CVSROOT 환경변수에 미리 정의해두
거나, 저처럼 alias 걸어두셔도 좋습니다.
 bash의 경우 다음과 같이 해두었습니다.
export CVSROOT=:pserver:myway@127.0.0.1:/home/cvs
또는,
alias cvs='cvs -d :pserver:myway@127.0.0.1:/home/cvs'
 이제부터는 -d 옵션 없이 cvs 명령을 수행해도 됩니다.
$ cvs login
(Logging in to myway@127.0.0.1)
CVS password:
$
   프로젝트 초기화 및 사용법은 다른 문서를 참고하시기 바랍니다.
     : 현재 개발중인 소스를 체계적으로 정리하고자 CVS 를 사용하려고 합니다.
: 설명서에 나와있는대로 저장소를 지정하고 사용자, 그룹을 추가했는데,
: 사용자계정에 암호인증방식으로 접속을 시도해봐도, 도무지 접속이 되지
:  않아, 이렇게 도움을 청합니다.
: 개발자들 사이에서는 많이 사용되고 있는것 같은데, 문서에 나와있는대로
: 따라해봐도, 도무지 접속이 되지 않네요....
: 원격접속은 물론이고, localhost로 접속을 해도 Connection Refused 란 메
시지만 계속 뜨고..
: 며칠째 자료를 뒤져봤지만, 마땅히 설정에 관한 자료는 찾아보기가 힘들어
서..
: 도움을 청합니다.
: 혹시, httpd.conf나 smb.conf 처럼 환경설정해주는 부분이 있는건지..
: 참고로, 실행환경은 Wow Linux 7.0 에 기본설치되어있는 cvs-1.10.8-8 버
전을 사용하고 있습니다.
: 도움주시면 정말 감사하겠습니다.
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved