[svn 구조]
[svn 설치]
먼저 subversion(svn)을 설치하자.
정상적으로 설치되었는지 확인하자.
사용자 계정 svn을 생성하고, svn 저장소를 생성하자.
아래의 경우 저장소(repository는 /svn 이다.
[root]$ chown -R root:root /svn
그리고 프로젝트폴더를 생성하자. 아래의 경우 프로젝트 이름이 repos가 된다.
권한을 설정하자. /svn/repos/conf/svnserve.conf 의 주석을 제외한 부분이 아래와 같아야 한다.,
realm 은 리파지토리의 도메인명(외부에서 볼 때의 이름)이라고 할 수 있다.
anon-access = none
auth-access = write
password-db = passwd
# authz-db = authz
realm = bage
[sasl]
# use-sasl = true
#min-encryption = 0
#max-encryption = 256
계정을 추가하자. /svn/repos/conf/passwd 의 내용을 모두 지우고, 아래처럼 입력.
아래의 경우 id는 bage 이며, 암호는 xxxxx 가 된다.
bage= xxxxx
* 만약 개인용 서버가 아니라면 sasl을 이용하여 인증하는 방식을 이용하자. 왜냐햐면 passwd 방식(위 방식)은 암호를 누구나 확인할 수 있어서 내 리파지토리에 다른 사람이 접근할 가능성이 높기 때문이다.
설정이 완료되고 svn checkout svn://(사용자 도메인)/repos 으로 접속하면 ID와 비밀번호를 입력하여 성공하면 "checked out revision 0" 이 나온다.
#svn mkdir등 명령어를 사용하기 위해서 bash_profile 추가해야함
맨 아래에 추가한다.
~]#vi .bash_profile
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR
#source .bash_profile <-- 적용시킨다.
아래와 같은 명령으로 : trunk, tags, brances 폴더를 만들어 준다.
#svn mkdir svn://[ip]/repos/[mkdir]
A svn://195.168.152.25/repos/....
~
~
~
~
~
빠져나온다. :q
선택 : C
루트계정 암호 , svn계정 , 암호 입력
SQLITE 어쩌구 에라가 난다면 svn버전과 sqlite버전이 맞지 않는 문제다. sqlite버전 업데이트 시켜죠야한다.
#yum install sqlite
list 명령으로 만든 폴더 확인
#svn list svn://[ip]/repos/
여기서 잠깐!!! [http://blog.jidolstar.com/82]지돌스타
외부에서 우리가 설치한 SVN에 접근하기 위해서는 반드시 3690 포트가 열려 있어야 한다.
3690 포트가 열려있는지 확인하기 위해 다음과 같이 확인해보자
# nmap localhost -p1-9999
....(생략)
3690/tcp open unknown
....(생략)
Nmap run completed -- 1 IP address (1 host up) scanned in 1.165 seconds
3690 포트가 없다면 방화벽을 의심해본다.
# vi /etc/oops-firewall/filter.conf에서 TCP_ALLOWPORT에 3690을 추가한다.
그리고 firewall을 다시 실행한다.
# service oops-firewall restart
참고로 fedora 에서는
[svn 설정 - 리눅스 서비스 등록]
/etc/sysconfig/subversion 을 아래 내용으로 만들자.
OPTIONS="--threads --root /svn" 에서 /svn은 저장소 위치이다.
#
# To pass additional options (for instace, -r root of directory to # server) to the svnserve binary at startup, set OPTIONS here.
#
#OPTIONS=
OPTIONS="--threads --root /svn"
/etc/init.d/subversion 를 만들자.
SYSCONFIG= 에 위에서 만든 파일의 경로를 적는다.
#
# /etc/rc.d/init.d/subversion
#
# Starts the Subversion Daemon
#
# chkconfig: 2345 90 10
# description: Subversion Daemon
# processname: svnserve
source /etc/rc.d/init.d/functions
[ -x /usr/bin/svnserve ] || exit 1
### Default variables
SYSCONFIG="/etc/sysconfig/subversion"
### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
RETVAL=0
prog="svnserve"
desc="Subversion Daemon"
start() {
echo -n $"Starting $desc ($prog): "
daemon $prog -d $OPTIONS
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
echo
}
stop() {
echo -n $"Shutting down $desc ($prog): "
killproc $prog
RETVAL=$?
[ $RETVAL -eq 0 ] && success || failure
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
RETVAL=$?
;;
condrestart)
[ -e /var/lock/subsys/$prog ] && restart
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart}"
RETVAL=1
esac
exit $RETVAL
서비스로 등록하자.
[root]$ cd /etc/init.d/
[root]$ chkconfig --add subversion && chkconfig subversion on
[svn 서버 시작(서비스모드)]
서비스상태와 등록 여부를 확인하자.
[svn 접속 테스트]
클라이언트 접속 테스트를 하자.
subversive -> 추천(다음 이클립스에 포함될 예정)
subclipse -> 비추천(버그 많음)
[참고] 윈도우용 SVN 클라이언트
tortoiseSVN -> 추천(svn 폴더관리 및 cleanup에 유용함)
윈도우에서 Linux SVN Server에 접속하고 사용해보자
Linux에서 SVN 서버를 구축했다.
먼저 윈도우에서 SVN을 사용할 수 있도록 TortoiseSVN을 설치해야한다.
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
에 가면 쉽게 다운로드 받을 수 있다. 현재(2007-06-06) svn-1.4.3-setup.exe가 최신버전이다.
설치완료후 폴더를 하나 만들고 아래 그림과 같이 폴더를 선택후 오른쪽마우스를 선택하면 SVN 체크아웃이 나온다.
체크아웃하고 아래와 같은 방법으로 저장소 URL을 입력한다. 그리고 확인 버튼을 누른다.
성공하면 아래와 같이 완료된다.
위에서 리비전:0이 나온것은 앞서 설명한 Linux SVN을 설치하고 만든 저장소가 최초의 것이기 때문이다. 앞으로 계속 커밋(commit)이 수행될 때 마다 리비전은 계속 증가한다.
그럼 커밋(commit)을 수행해보자.
만든 폴더에 branches, tags, trunk 폴더(폴더에 대한 자세한 설명은 http://blog.naver.com/hbesthee/20031075569 를 참고)를 만든다.
그리고 아래 그림과 같이 TortoiseSVN에서 "+추가"를 선택한다.
그럼 메시지를 적는 란과 변경된 파일명이 뜬다. 메시지에는 변경되는 파일명에 대해 자세히 기록을 남긴다.
메시지를 적은뒤 확인을 누르면 사용자명과 암호를 입력하는 란이 나온다. 앞서 안녕리눅스에 SVN을 설치할 때 인증과정을 거치기 위해 conf설정에 대해 언급했다.
정상적으로 인증과정을 거치면 아래와 같은 화면이 나오고, 리비전이 0에서 1로 바뀐다.
'운영체제 > 리눅스' 카테고리의 다른 글
리눅스에서 iptables와 함께 NFS 사용하기 (0) | 2011.06.22 |
---|---|
Starting httpd: Warning: DocumentRoot [] does not exist (0) | 2011.06.21 |
CentOS SELINUX 끄기 (0) | 2011.04.29 |
CentOS5 에서 yum으로 php 5.2 설치하기 (0) | 2011.03.07 |
CentOS iptables 80번 포트 해제 (0) | 2011.03.07 |