출처 : http://blueray21.tistory.com/43
1. 설치
[root@centos ~]$ yum -y install subversion |
2. Repository 설정
[root@centos ~]$ mkdir /data/svn_repo |
3. svnserve.conf 설정
[root@centos ~]$ vi /data/svn_repo/conf/svnserve.conf |
1 2 3 4 | [general] anon-access = none auth-access = write password-db = passwd |
4. passwd 설정
[root@centos ~]$ vi /data/svn_repo/conf/passwd |
1 2 | [user] svnuser = 1234 |
5. 서버 기동
[root@centos ~]$ svnserve -d -r /data/svn_repo |
6. SVN 서버 확인
[root@centos ~]$ svn checkout svn://127.0.0.1/ |
7. 기본 디렉토리 만들기
[root@centos ~]$ export SVN_EDITOR=/usr/bin/vim |
6. SVN 구성 확인
[root@centos ~]$ svn list svn://127.0.0.1/ |
출처 : http://bloomoon.tistory.com/105
[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계정 , 암호 입력
( yes , no 넘어가지 않을 경우 )
/usr/bin/vim ~/.subversion/servers
store-passwords = no // 주석 풀고
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 서버 시작(서비스모드)]
서비스를 시작하자.
서비스상태와 등록 여부를 확인하자.
chkconfig --list | grep subversion
netstat -atnp | grep svn
'형상관리' 카테고리의 다른 글
[Git] Git bash Download (0) | 2014.10.09 |
---|---|
[형상관리] linux - svn 명령어사용 (0) | 2014.06.26 |
[형상관리] linux-Centos 5 Git Server 설치 (0) | 2014.06.10 |
[형상관리] GitLab (0) | 2014.06.10 |
[형상관리] Git 설명 (0) | 2013.11.27 |