....

CentOS 5.3 에 Subversion + SSL + Trac 설치하기 [1] 본문

Linux

CentOS 5.3 에 Subversion + SSL + Trac 설치하기 [1]

idkook 2009. 11. 20. 19:35

윈도우로 다 구축해놓고...
SVN에 커밋돼었을때... 커밋된 소스만을 따로 추출해서 별도의 revision별 추출을 하는 후킹 스크립트를 짜다가 완전 ㅈㅈ치고 리눅스로 다시 밀어버리는중..

원격데탑의 편의성에 잠깐 매료되었다가 작업 자동화에서 심각한 난점을 맞이했다고 해야 하나..

도저히 윈도 진영의 배치파일로는 20년을 넘게 써온 계열의 OS임에도 자동화 작업이 잘 안된다.
익숙하지 않은 탓이 크겠지만... 뭐 하나 할려고 하면 탁탁 막히는것 투성이니..

결국 다시 리눅스로 서비스를 옮기는 중....

최종 목표는 다음과 같다.
  1. OpenSSL을 이용해서 https:// 로 서비스한다.
  2. SVN을 아파치에서 핸들링 해서 https://서버주소/svn/프로젝트 와 같은 경로로 SVN클라이언트가 접근해서 사용할 수 있도록 한다.
  3. Trac은 https://서버주소/trac 으로 사용한다.
  4. 80포트를 이용한 http서비스, svn에 다이렉트로 들어오는 3390포트는 막을 것이다....

목표는 OpenSSL을 이용해서 사설 인증서를 발급하여 암호화 통신을 사용하며
/svn을 통해서 SVN 형상관리에 접근하고, /trac을 이용해서

우선 Subversion설치는 아주아주 심플하다.
> yum install subversion
   - subversion을 설치. (관련 컴파일이 필요하다면 subversion-devel 을 설치)
> mkdir /var/svn
   - SVN의 루트디렉토리를 만든다
> svnadmin create /var/svn/sample
   - 실제 생성할 소스 프로젝트를 만든다.


아래 부분은 기존 SVN을 그대로 가져와야 하는 경우이다.
기존에 구축된 서브버젼을 가져와야 하므로 svnsync를 한다.
> echo '#!/bin/sh' > /var/svn/sample/hooks/pre-revprop-change
   - sh해더만 선언되어 있는 빈 스크립트 파일을 후킹 경로에 만든다
> chmod 777 /var/svn/sample/hooks/pre-revprop-change
   - 해당 후킹 파일에 실행 권한을 주고
> svnsync init file:///var/svn/sample https://기존SVN서버주소/svn/sample
   - svnsync 초기화
> svnsync sync file:///var/svn/sample
   - 실제 동기화 실행. 리비젼이 좌르르륵 올라간다.


svnsync로는 SVN의 접근 권한 설정까지는 가져오지 않는다.
따라서 해당 파일들을 기존 설정에서 그대로 가져온다.
> vi /var/svn/sample/conf/passwd
   - 필요한 사용자를 추가한다. ( idkook = 암호 )
> vi /var/svn/sample/conf/svnserv.conf
   - anon-access = none  #비인증 사용자 접근권한 제거
   - auth-access = write #인증 사용자는 쓰기(커밋)까지 가능
   - password-db = passwd #위에 수정한 passwd파일을 인증DB로 지정
       이 부분은 conf를 상대경로로 지정해서 여러 프로젝트에서 같은 passwd파일을 사용하도록 할 수 있다
   - realm = [프로젝트 이름을 맘대로 쓴다]

이제 SVN 데몬을 시작한다. subversion은 init startup 스크립트가 지원되지 않는다.
(실제로 그다지 필요하지도 않다...)
> svnserv -d -r /var/svn    # 이게 전부이다. 서비스가 실행된다....
> echo -e "\n/usr/bin/svnserve -d -r /var/svn" >> /etc/rc.local
   - 서버 재시작 후에도 자동으로 시작되도록 /etc/rc.local 맨 마지막 줄에 실행 명령을 추가한다.
     기존 명령어 뒤에 붙어서 들어가는걸 막기 위해 -e 옵션으로 줄바꿈을 넣어주는 센스..
     그냥 구찮으면 vi를 써서 직접 편집해도 된다.

SVN 설치는 끝났다....
클라이언트에서 checkout이 잘되는지 테스트도 해보자..

2장에서 계속...

Comments