Solaris CVS 설치 및 설정 SMF

Solaris 2008. 9. 26. 17:12 posted by CecilDeSK
반응형
솔라리스 10 (Solaris 10)에서 CVS 설치 간단한 방법에 대해서 설명합니다.

우선 CVS를 http://www.sunfreeware.com 에서 받아옵니다.

ftp://ftp.sunfreeware.com/pub/freeware/intel/10/cvs-1.11.23-sol10-x86-local.gz (Solaris 10 for X86)
ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/cvs-1.11.23-sol10-sparc-local.gz (Solaris 10 for Sparc)


[sol10:/]#wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/cvs-1.11.23-sol10-x86-local.gz

우선 압축을 풀고 패키지를 설치합니다.
[sol10:/]# gunzip cvs-1.11.23-sol10-x86-local.gz
[sol10:/]# pkgadd -d cvs-1.11.23-sol10-x86-local

설치를 마쳤다면 몇가지 설정을 ...
우선 cvs repository 를 설정하고 유저 그룹을 생성합니다.

[sol10:/]# mkdir /export/home/cvsroot
[sol10:/]# mkdir /export/home/cvsroot/cvsrepo
[sol10:/]# groupadd cvs
[sol10:/]# useradd cvs -d /home/cvs -s /bin/bash -g cvs cvs

[sol10:/]# chown -R root:cvs /export/home/cvsroot
[sol10:/]# chmod -R 770 /export/home/cvsroot

cvs 저장소가 위치할 곳과 관리계정등을 생성하고 퍼미션 설정을 대략 마쳤습니다.


이제 Repository 생성 초기화 해야겠죠?
[sol10:/]# cvs -d /export/home/cvsroot/cvsrepo init

이렇게 해주면 cvsrepo 안에 CVSROOT 라는 폴더가 생성되고 저장소가 초기화 됩니다.
여기까지 하시면 사용할 대략적인 준비는 끝났고 남은 일은 서비스에 등록하고 cvs사용자등을 생성해주시면됩니다.



/etc/services 화일을 수정해 줍니다.
[sol10:/]# chmod +w /etc/services (services 화일이 readonly 일겁니다. 우선 퍼미션을 풀어줍니다.)

[sol10:/]# vi /etc/services 하셔서 마지막 줄에 아래 두라인을 삽입해줍니다.

cvspserver 2401/tcp # CVS pserver tcp port
cvspserver 2401/udp # CVS pserver udp port

[sol10:/]# chmod -w /etc/services

그리고 임의의 화일 inetd_cvs 화일을 만들어 줍니다. (임시적인 화일이므로 아무이름이나 상관없습니다.)
inetd_cvs라는 화일을 만드시고 난후 화일내용에

cvspserver stream tcp nowait root /usr/local/bin/cvs -f --allow-root=/export/home/cvsroot/cvsrepo pserver
이란 내용을 삽입해 줍니다.

참고로
/usr/local/bin/cvs 는 cvs실행화일에대한 경로 입니다.
/export/home/cvsroot/cvsrepo 는 cvs의 Repository의 경로 입니다.


위 내용을 삽입하시고 화일을 만드셨다면 이제 SMF에 등록해야겠죠
[sol10:/]# inetconv -f -i ./inetd_cvs
cvspserver -> /var/svc/manifest/network/cvspserver-tcp.xml
cvspserver-tcp.xml을(를) 가져오는 중 ...완료

위와 같이 메세지가 나오면 정상입니다. (/var/svc/manifest/network/cvspserver-tcp.xml 화일이 생성됩니다.)

여기까지 완료하셨다면 /var/svc/profile/inetd_services.xml 을 수정해 주시면 되는데
inetd_services.xml의 내용에




를 삽입해주시기 바랍니다.
수정하시기전에 미리 퍼미션 설정을 바꾸어주세요
[sol10:/]# chmod +w /var/svc/profile/inetd_services.xml (완료후에 다시 원래 .....)


이제 서비스를 다시 재시작 해주시고 간단히 테스트 해봅시다.
[sol10:/]# svcadm restart svc:/network/inetd:default


[sol10:/]# svcs |grep ccvs
online 15:56:43 svc:/network/cvspserver/tcp:default

[sol10:/]# netstat -a |grep cvs
*.cvspserver *.* 0 0 49152 0 LISTEN

정상적으로 잘 작동되는군요 ..


이제 CVS에 접속할 유저 등록을 해주어야하는데
/export/home/cvsroot/cvsrepo/CVSROOT/passwd 화일안에 기록해주면됩니다.
없다면 새로 생성해주세요

passwd 화일의 내용은
유저이름:암호화된패스워드
이런식으로 작성되어야하는데 패스워드는 그냥 적는것이 아니고 암호화 되어야하기에
간단한 유틸을 사용합니다.
아파치가 설치되어있다면
htpasswd -nb [cvs_user] [cvs_user_password]
형태로 입력하시면 결과를 passwd 화일에 기록하시면 됩니다.

[sol10:/]# /usr/local/apache2/bin/htpasswd -nb cvs cvspasswd
cvs:/TNR22xVxjKm6

[sol10:/]# vi /export/home/cvsroot/cvsrepo/CVSROOT/passwd 하셔서
cvs:/TNR22xVxjKm6 를 삽입해주시면되고 추가되는사용자는 그 다음 라인에 입력하시면됩니다.


해당화일이 없거나 다른 perl 스크립을 워하시는 분을 위해서createcvspasswd


화일을 다운받으셔서 실행하시면 자동으로 유저와 패스워드가 해당 passwd화일에 기록합니다.
다만 경로가 위와 틀린경우 스크립내용중에 2번라인
$cvsroot="/export/home/cvsroot/cvsrepo";
이부분을 해당하는 경로로 바꾸어 주세요 CVSROOT가 있는 바로 이전 경로까지 적어주시면됩니다.

사용법: createcvspasswd [유저이름]



반응형