>> Edit article
이름
제목
패스워드
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