암호를 빼먹어서 수정이 안되는군요.
저 아래 mkcvspass 생성 부분에 기호가 하나 빠졌습니다.
고칠 부분은 아래에 표시해 두었습니다.
참고로 mkcvspass 파일은 bash로 생성하셔야 합니다.
: 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";
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
버
: 전을 사용하고 있습니다.
: : 도움주시면 정말 감사하겠습니다.