소스를 공유해야 하는 ( team project ) 환경을 만들어야 하는데, UNIX ( solaris ) 에 에 떻게 구현을 해야 할지
막막 했습니다.
 아래는 그 막막 함을 조금 ( 실제로 정말 조금…)  덜어 주는 글 입니다. solaris 는 안고 HP 장비에 대한 설치기
입니다.
 아직 풀리지 않은게 있는데, 패키지를 설치 해야 하는것 같은데, 어떻게 해야 하는지 아직도 모르고 있습니다.
솔라리스는 오늘 [ pkgadd -d ./gcc-3.4.6-sol9-cparc-local ] 라는 형태로 설치 한다는걸 간신히
알았습니다.



얼마전 CVS 서버를 설치할 일이 있었는데 하필 OS가 HP-UX였다. CVS가 오픈소스여서 그런지 리눅스에 설치하는 가이드는 많지만, Unix에 설치하는 가이드는 정말 찾아 보기 힘들었다. 맨땅에 헤딩하며 물어물어 겨우 설치를 하고는 혹시 나와 같이 고민하는 분들을 위해서 정리된 가이드를 공유하고자 한다.


 


<가이드 전제조건>
– 서버OS : HP-UX 11i
– cvs 실행파일이 있는 디렉토리 : /cvs
– cvs root 디렉토리 : /cvs/repository
– cvs용 사용자 계정 : cvs


☞ 혹시 다른 OS라도 해당 OS에 맞는 명령어로 다음의 과정을 진행하면 된다.


 


 


1. cvs 계정을 생성한다(root 계정으로 실행)


    ☞ CVS 서버를 실행하고 ,관련 디렉토리에 대한 권한을 갖는 계정을 생성한다.



   $ useradd cvs


  cvs 계정 생성



  
$ passwd cvs


   cvs 계정에 대한 암호 설정


 


 


2. /cvs 이하 디렉토리의 권한을 cvs 계정에게 준다(root 계정으로 실행)


    ☞ cvs 계정이 CVS서버 실행명령을 수행하고, repository의 파일을 읽을 수 있도록 권한을 부여한다.



  
$ chown -R cvs /cvs


   cvs 계정에게 /cvs 디렉토리 이하 디렉토리에 대한 소유권 부여


 


 


3. cvs 서버 실행파일 다운로드 후, /cvs 폴더에 업로드(cvs 계정으로 실행)


    ☞ OS에 적합한 CVS 실행파일을 다운로드해 서버에 업로드한다. 컴파일된 실행파일이 아닌 소스코드를 다운로드했을 경우, 서버에서 컴파일 작업이 필요하다.


 


   – www.cvshome.org에서 cvs 실행파일(binary) 다운로드(cvs-1.11.21-HP.bin.gz)한다.


      stable 버전 중에 가장 높은 버전을 선택하는 것이 좋다.


   – 알집으로 압푹을 해제한다.  -> cvs-1.11.21-HP.bin
   – ftp프로그램으로 cvs-1.11.21-HP.bin 파일을 /cvs 폴더에 업로드한다.


     (ftp 로그인시 당연히 cvs 계정을 사용한다.)


   – cvs-1.11.21-HP.bin 파일명을 cvs로 변경한다. -> $ mv cvs-1.11.21-HP.bin cvs
   – cvs파일을 실행가능하도록 변경한다. ->
$ chmod 744 cvs


 


 


4. cvs 계정의 .profile에 CVSROOT 환경변수 등록 및 cvs 실행파일이 있는 디렉토리를 PATH에 추가(cvs 계정으로 실행)


    ☞ CVS 서버 기동시 필요한 환경을 설정하는 과정이다.


 


   완전 Unix 초보를 위한 가이드 ^^;


   $ cd    cvs 계정의 홈디렉토리로 이동


   $ vi .profile   cvs 계정의 환경설정파일(.profile) 파일 열기



   .profile 파일에 아래의 두 라인을 아랫쪽에 추가(OS에 따라 형식이 다를 수 있음)


  PATH=$PATH:/cvs:.
  export CVSROOT=/cvs/repository
  
   수정된 내용을 저장한 다음,


   $ .profile 실행해 새로운 환경을 적용한다.


 


 


5. 레파지토리 구성(cvs 계정으로 실행)


    ☞ CVS에서 데이터를 저장할 레파지토리를 구성하는 과정이다.


 


   $ cvs -d /cvs/repository init
   /cvs/repository 아래에 CVSROOT 라는 디렉토리 생성되고, 그 안에 관련 파일들도 자동 생성된다.


 


 


6. (pserver 인증 방식을 위한) passwd 파일 생성 및 사용자 추가(cvs 계정으로 실행)


    ☞ CVS서버에 접속하는 클라이언트 인증을 위하여 아이디와 패스워드를 저장하는 과정으로, cvs라는 하나의 Unix 계정을 이용하여 passwd라는 파일 안의 정보만으로 인증하는 pserver 인증방식만을 설명한다.


 


   – /cvs/repository/CVSROOT에 passwd라는 파일 생성(기본적으로 파일이 없다)
   – htpasswd라는 명령을 이용하여 사용자(cvs client)와 암호화된 패스워드 생성


     (이 명령을 실행했을 때 없다면, find 명령으로 찾는다)
     $ htpasswd -nb tom 123   -> htpasswd -nb [ID] [password]
     위의 명령은 ‘tom’이란 아이디에 ‘123’이라는 패스워드를 사용하겠다는 명령이다.


     그러면 아래와 같은 결과가 화면에 보인다.


     tom:7gSK6kHT4RJ.A


     (같은 패스워드를 반복 실행해도 다른 결과가 나오나 인증에는 문제가 없다 ^^)


 


   – 위의 내용을 터미널에서 복사한 다음, 그 뒤에 :cvs(Unix 사용자계정)를 붙여서 위에서 만든 passwd라는 파일에 차례로 사용자당 한 라인씩 추가시킨다. 생성할 클라이언트 아이디가 많고, 패스워드를 잃어버릴 때마다 관리하기가 귀찮다면 그냥 동일한 암호화된 패스워드를 복사해서 붙여 넣어도 상관없다. 다음은 그 예다.
     $ cat passwd
     tom:7gSK6kHT4RJ.A:cvs
     
ann:7gSK6kHT4RJ.A:cvs


     이렇게 되면 ‘tom’과 ‘ann’이란 아이디에 ‘123’이라는 패스워드를 사용할 수 있다.


 


 


7. cvs server에 remote access를 위한 환경 설정(root 계정으로 실행)


    ☞ CVS 서버가 원격 클라이언트의 접속을 받을 수 있도록 포트를 설정하는 과정이다. 중간에 방화벽이 있을 경우에는 네트웍 담당자에게 방화벽의 포트도 열어 주도록 요청해야 한다.(방화벽은 잘 몰라서 패스 ^^;)



   – /etc/services 파일에 아래의 줄 추가(2401 포트로 tcp 서비스 등록)
     cvspserver 2401/tcp


      추가하기 전 이 포트가 다른 서비스에 등록되지 않았나 미리 확인하고, 사용중이면 다른 포트를 사용해야 한다.



   – /etc/inetd.conf 파일에 아래의 줄 추가(CVS 서비스가 등록되어야 함)
     cvspserver stream tcp nowait root /cvs/cvs cvs –allow-root=/cvs/repository pserver


 


    -> /cvs/cvs : /cvs 디렉토리의 cvs 실행파일


    -> cvs : 위의 cvs 실행파일을 실행하는 Unix 계정
    -> /cvs/repository : CVS ROOT 디렉토리


    나머지 설정에 관한 내용은 Unix를 잘 모르는 관계로 패스~


 


 


8. 7.에서 설정한 환경 적용(root 계정으로 실행)


    ☞ 설정준비가 다 되었으니, 그것을 실제로 적용하는 과정이다.


 


   $ ps -ef | grep inetd
   이 명령을 이용해 inetd의 프로세스ID 확인



   $ kill -HUP [inetd 프로세스ID]
   inetd 데몬 재기동. 이렇게 하면 설정한 내용이 실제로 적용된다.


   한방에 kill -HUP inetd 형태로 적용하면 좋으나, HP-UX는 프로세스ID로 처리해야 하는 모양이다.


 


 


9. 이클립스에서 cvs 연결


    ☞ 다른 CVS 클라이언트도 가능하겠지만, 일단 이클립스로 설명한다.



   [CVS Repository Exploring] Perspective를 Open한다
   New > Repository Location 선택
   – Host : cvs가 설치된 서버의 IP
   – Repository Path(CVSROOT) : /cvs/repository
   – User : tom (6.에서 생성한 아이디)
   – Password : 123 (6.에서 사용한 패스워드)
   – Connection type : pserver
   – Use Default Port : 선택(7.에서 설정한 2401 포트)


      (7.에서 2401 외에 다른 포트를 사용했다면 그 포트를 직접 입력한다)



   위와 같이 입력한 후 Finish 버튼을 클릭하면 연결된다.


 


 


 


나름대로 삽질하면서 배운 정보 열심히 전달하려고 노력했는데, 많은 도움이 되시길…


 

Leave a Reply

Your email address will not be published. Required fields are marked *