Home | 문태준 | 시스템어드민 메일링 | Sys Admin 세미나
Skip to end of metadata
Go to start of metadata

subversion admin

http://subversion.tigris.org/

linux subversion 설치 및 설정

rpm 이용하여 subversion 설치
아래에서는 subversion reposigory 로 /data/opssvn 디렉토리를 이용함.

apache 연동

http를 이용하여 접속하도록 구성하기 위해서 mod+authz_ldap, mod_dav_svn 모듈 설치
mod_dav_svn 설치를 하면 /etc/httpd/conf.d/subversion.conf 파일이 생기며 해당 모듈만 올리므로 subversion 레포지토리에 대한 접근설정을 해야 함. LDAP을 이용하는 경우 별도 설명을 함
apache 연동을 하므로 레포지디렉토리에 apache 그룹의 쓰기 권한을 줌

/etc/httpd/conf.d/authz_ldap.conf 에서 ldap 연동을 위한 mod_authz_ldap.so 모듈을 올림

/etc/httpd/conf.d/subversion.conf 기본 파일은 모듈만 올라오도록 되어 있으며 mod_dav_svn 을 이용하려면 Location 을 지정하여 필요한 설정을 해야 함.

LDAP 연동

Subversion with Apache and LDAP 참고하여 설정함
/etc/httpd/conf.d/subversion.conf 에 필요한 그룹만 접속할 수 있도록 설정함

subversion ACL 설정

/etc/httpd/conf.d/subversion.conf 에서 AuthzSVNAccessFile 에 ACL 설정을 함.
디렉토리/레포지토리별 또는 조합을 하여 사용자/그룹별로 제한을 할 수 있다. http://svnbook.red-bean.com/en/1.1/ch06s04.html 참고
각 레포지토리별로 rw, r 권한을 가진 사용자를 구성함.
/ 에 지정한 값이 기본적으로 적용이 되며 각 디렉토리 또는 레파지토리별 별도 설정을 하여 변경할 수있음.

groups 를 이용하는 경우 각 사용자를 , 를 이용하여 구분해야 한다. 빈 공백으로 하는 경우에는 적용이 안된다.

hook scripts를 통하여 acl을 설정할 수 있으며 rpm 으로 설치한 경우 /usr/share/doc/subversion-1.4.2/tools/hook-scripts/svnperms.conf.example 파일에 예제가 있다. 이 부분은 테스팅을 해보지 않았다.

 

hook script 활용

svn hook script를 이용하여 각종 다양한 작업이 가능함.

pre-commit : puppet 문법체크, tcp wrapper 체크, 위험한 명령어 찾기 등.

post-commit : svn slave 서버로 데이터 동기화, 담당자에게 commit 이메일 발송  등

subversion 관리

백업하기

앞인수는 백업할 repo, 뒤에는 특정 디렉토리 적어주면 됨.

subversion web ui 프로그램

php로 되어 있는 WebSVN 을 설치하여보자. 사전에 httpd 와 php 는 설치가 되어 있어야 한다.
아래 링크에서 프로그램을 다운로드 받아 특정 html 폴더에 풀고 config.php 에서 svn 디렉토리를 지정하여 주면 된다. http://www.websvn.info/download/

여기에 ldap 인증을 추가하여 보안을 강화할 수 있다.

Labels
  • No labels