Documents‎ > ‎

리눅스 Subversion 서버 설치

posted Feb 7, 2011, 4:49 AM by hyunghwan chung

 준비

  • 플랫폼 - CentOS 4
  • 저장소 - /data/svnroot
  • svnadmin 및 trigris 사용자와, developer 그룹이 존재한다고 가정
  • tigris사용자는 developer 그룹에 속한다고 가정
  • /etc/services에 svn이 등록되어 있다고 가정.

필요한 패키지

  • subversion - 커맨드라인용 클라이언트와 서버포함
  • mod-dav-svn - 아파치 서버용 모듈. http나 https 프로토콜을 이용하고자 할 경우 필요.

패키지 설치 

  • yum install subversion
  • yum install mod-dav-svn

저장소 생성

  • svnadmin create /data/svnroot

SSH서버을 사용하여 접근하기

서버측

SSH서버를 사용하는 경우에는 로컬 사용자 계정으로 인증하므로 저장소의 소유자와 권한을 설정해야 함.

  1. 저장소의 소유자와 그룹설정: chwon -R svnadmin:develper /data/svnroot
  2. 저장소의 권한 설정: chmod -R 0774 /data/svnroot

위의 경우 svnadmin이라는 사용자와 developer그룹에 속하는 모든 사용자는 /data/svnroot 저장소를 읽고 쓸수 있으며, 다른 사용자는 읽을 수만 있음. 익명접근은 불가능함.

클라이언트측

  • 저장소의 URL: svn+ssh://사용자아이디@서버주소/저장소경로
  • ase라는 서브디렉토리를 저장소에 추가: svn import ase svn+ssh://tigris@192.168.123.21/data/svnroot/ase --message "initial import"
  • 추가된 ase를 checkout: svn checkout svn+ssh://tigris@192.168.123.21/data/svnroot/ase

svnserve를 사용하여

서버측

svnserve를 사용하려면 저장소의 svnserve.conf를 설정해야 함. /data/svnroot/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd
realm = 192.168.123.21

설정후 svnserve를 실행해야 함. svnserve를 데몬으로 실행하거나 xinetd에 등록해서 실행할 수 있음.

xinetd에 등록해서 실행하려면 subversion 설정화일이 필요: /etc/xinetd.d/svn

service svn { 
	flags = REUSE
	socket_type = stream 
	wait = no
	user = svnadmin
	group = developer
	server = /usr/bin/svnserve
	server_args = -i -r /data/svnroot 
	disable = no 
}

xinetd를 재시작해야 함: service xinetd restart

svnserve를 데몬으로 실행하려면 /etc/init.d/svn 을 생성할 것

 

chkconfig --add svn 345 on

service svn start

클라이언트측


Comments