Subversion을 다운로드 받아 설치하였다.
yum install subversion
설치 자체에 시간을 많이 들일수 없었다. 그래서 최신버전은 아닐지라도 트러블 없이 동작할수 있는 yum install을 이용하였다.
우분투/데비안에서는 apt-get install subversion으로 설치할수 있다.
두 명령 모두 서버와 클라이언트 프로그램을 전부 설치한다.
svn 명령이 실행되는것을 확인하고 서버로 이용하기 위한 설정을 시작하였다.
다음은 일반 데몬처럼 시작/중지 할 수 있도록 만든 subversion 실행 스크립트이다. 서버는 fedora core 4가 설치되어 있으며 스크립트도 이 환경에서 동작한다.
#! /bin/bash
#
# Subversion control script
. /etc/init.d/functions
# See how we were called.
case "$1" in
start)
action $"Starting Subversion service: " svnserve -d -r /home/svn
;;
stop)
action $"Shutting down Subversion service: " killproc svnserve
;;
restart|reload)
$0 stop
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
이 스크립트를 /etc/init.d/subversion 파일에 저장한다. 부팅할때 사용될것이다.
저장소 위치를 바꾸려면 -r옵션 뒤의 경로를 바꾸어 주면 되고, 서버를 root권한이 아닌 다른 사용자 권한으로 실행하려면 sudo -u xxx 명령을 앞에 붙여서 저장하면 된다.
시스템 시작시 사용할수 있도록 링크를 걸어준다.
cd /etc/rc3.d
ln -s ../init.d/subversion S57subversion
숫자(57)는 내가 정한 임의의 숫자이고 S로 시작하는 스크립트들이 번호 순서에 따라 부팅시 실행될것이다.
방화벽이 실행중인경우 subversion이 사용할 포트를 열어주어야 한다. svnserve를 포트옵션을 주지 않고 실행하였기 때문에 subversion의 기본 포트인 3690번 포트를 사용할것이다. iptable에서 3690번 tcp포트를 열어주어야 서버로 연결이 가능해진다.
포트를 열어주는법은 다른 post를 보거나 다른데서 찾아보라. redhat 계열 리눅스에서라면 쉘에서 setup 프로그램을 실행하여 설정할수도 있다.
기본적인 데몬의 설치는 끝났다. 이제 부팅할때마다 실행될것이고 화면에도 데몬 실행/중지가 표시될것이다. 데몬을 재시작하는것도 쉬워졌다.
저장소로 지정한 /home/svn으로 이동하여 프로젝트를 만들었다.
subversion은 하나의 서버에서 여러개의 프로젝트를 관리할수 있기 때문에 저장소 아래에 프로젝트 디렉토리를 만들어야 한다.
cd /home/svn
svnadmin create dknand
이제 svn아래에 dknand라는 디렉토리가 생성되었으며 그 안에는 subversion이 생성한 파일들이 들어 있을것이다. 생성된 디렉토리 안의 파일들은 함부로 수정해서는 안된다. 자칫하면 프로젝트 전체를 손상시키거나 파괴할수도 있기 때문이다. 파일을 수정할때는 무엇을 하고 있는지 확실하게 알고 해야 한다.
subversion이 만든 파일중 프로젝트를 관리할 설정파일들을 수정하였다.
cd dknand/conf
vi svnserve.conf passwd
svnserve.conf는 이 프로젝트에 액세스할 정책을 설정하는 파일이고 passwd는 사용자의 id와 패스워드를 설정하는 파일이다.
두 파일 모두 기본 내용이 들어있으니 파일을 열어 주석을 삭제하고 필요한 설정을 하면 된다.
나는, svnserve.conf에서는 anonymous 액세스를 막아주었고 passwd에서는 내 아이디와 비밀번호를 설정하였다.
passwd파일에 저장하는 아이디와 비밀번호는 암호화가 되어있지 않으니 아이디와 비밀번호를 선택할때 조심해야 한다.
이제 데몬을 실행시키고 클라이언트에서 svn 명령으로 프로젝트를 체크아웃 받아보았는데 설정한 id와 비밀번호를 이용하여 정상적으로 체크아웃되었다. 아직 아무것도 들어있지 않았으나 나중에 기본 디렉토리 구조를 생성하고 파일을 생성할것이다.
다음은 subversion을 설정하면서 참고한 사이트들이다.
Comments List
잘 읽어보고 갑니다. 스크립트가 다른 데몬에도 사용할 수 있을 것 같네요. 그런데 이 스크립트로 start는 되는데 stop이 안되네요. 그런데 어느학교 다니세요?
무척 오래 뒤에 답을 드리는군요.. ㅜㅜ.
제가 제 블로그에도 그닥 잘 들어오질 않는터라..
저 스크립트 자체도 다른 스크립트 수정해서 뚝딱뚝딱 만들어낸겁니다.
그런데 저거 왠지 안될것 같지는 않은데요...
혹시 우분투에서 sudo 안 쓰고 돌리시진 않으셨겠죠..?
농담입니다.. ^^;;;
한번 점검 해 보겠습니다.
수정하고 나면 다시 댓글 달아놓을게요. ^^;;;
그리고 전 단국대학교 다닙니다. ㅡㅡ/