출처 : http://blueray21.tistory.com/43

1. 설치

[root@centos ~]$ yum -y install subversion


2. Repository 설정

[root@centos ~]$ mkdir /data/svn_repo
[root@centos ~]$ svnadmin create --fs-type fsfs /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
[root@centos ~]$ svn mkdir svn://127.0.0.1/trunk
[root@centos ~]$ svn mkdir svn://127.0.0.1/branches
[root@centos ~]$  svn mkdir svn://127.0.0.1/tags


6. SVN 구성 확인

[root@centos ~]$ svn list svn://127.0.0.1/
branches/
tags/
trunk/





출처 : http://bloomoon.tistory.com/105


[svn 설정 - 필수 설정]

사용자 계정 svn을 생성하고, svn 저장소를 생성하자. 
아래의 경우 저장소(repository는 /svn 이다.

[root]$ mkdir /svn
[root]$ chown -R root:root /svn

그리고 프로젝트폴더를 생성하자. 아래의 경우 프로젝트 이름이 repos가 된다.

[root]$ svnadmin create --fs-type fsfs /svn/repos


권한을 설정하자. /svn/repos/conf/svnserve.conf 의 주석을 제외한 부분이 아래와 같아야 한다.,

realm 은 리파지토리의 도메인명(외부에서 볼 때의 이름)이라고 할 수 있다.


[general]
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 가 된다.

[users]
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 에서는 
방화벽설정 -> 그 외의 포트에서 3690포트 tcp프로토콜 svn서비스 추가하면 됨!

[svn 설정 - 리눅스 서비스 등록]

/etc/sysconfig/subversion 을 아래 내용으로 만들자.
OPTIONS="--threads --root /svn"  에서 /svn은 저장소 위치이다.

# Configuration file for the Subversion service 

# 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= 에 위에서 만든 파일의 경로를 적는다.

#!/bin/bash 

#   /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]$ chmod +x etc/init.d/subversion
[root]$ cd /etc/init.d/
[root]$ chkconfig --add subversion && chkconfig subversion on


[svn 서버 시작(서비스모드)]
서비스를 시작하자.

[root]$ service subversion start


서비스상태와 등록 여부를 확인하자.

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

+ Recent posts