일상생활

SVN 사용법

개발/Server2014. 4. 13. 22:31

SVN 서버스 사용법



계정은 SVN 계정으로 합니다.


접속

svn://아이피/저장소명


기동 

svnserve -d -r /data/svn


종료

kill -9 프로세스번호


저장소 생성

-일반방식

svnadmin create --fs-type fsfs [저장소경로]


svnadmin create --fs-type bda [저장소경로]


초기 설정

각 저장소에서 conf 폴더로 이동 후 svnserve.conf 파일 수정 아래 부분 주석 해제

[general] 

# 익명 사용자 읽기 사용 여부

anon-access = read

# 인증 사용자 쓰기 사용 여부

auth-access = write

# 인증에 사용될 패스워드 설정 파일

password-db = passwd


사용자추가

각 저장소의 신규 사용자를 추가할때 사용하며 각 저장소의 conf 폴더로 이동하여 passwd 파일을 열어서 사용자를 추가한다.

[users] 

# svn 사용자의 비밀번호를 지정

# 사용자ID = 비밀번호

test=test123


프로세스 확인

ps -aux | grep svnserv



설치

yum install -y subversion


리눅시 시작시 자동 실행 

vi /etc/rc.d/init.d/subversion 을 이용하여 신규로 파일이 없다면 파일을 만들고 아래 내용을 입력한다.

입력이 완료되면 저장 후 종료하고 

chkconfig subversion on

명령을 입력한다.

#!/bin/bash 

. /etc/rc.d/init.d/functions

[ -x /usr/bin/svnserve ] || exit 1

RETVAL=0

prog="svnserve"

desc="Subversion server"

OPTIONS="--threads --root /home/svn"

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

EOF



centos Subversion

 

1. 설치
# yum install subversion
1.4.x버전이 실행된다.

 


2. Repository 생성 (cent유저로 생성)
# mkdir /home/svn
# chown -R cent.cent /home/svn
# cd /home/svn
# svnadmin create --fs-type fsfs project
project명으로 프로젝트 생성
위치 /home/svn/project

 

 

3. 기본적인 환경설정 (뛰어쓰기 필수)
# cd /home/svn/project/conf/
# ls
authz  passwd  svnserve.conf


# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd


# vi passwd
[users]
# harry = harryssecret
# sally = sallyssecret
seban = seban00


# vi authz
[groups]
[project:/]
* = rw


기본적인 svn 설정완료

 

 

4. subversion 실행을 위한 config 세팅
config 설정 파일(생성)
# vim /etc/sysconfig/subversion

# To pass additional options (for instace, -r root of directory to # server) to the svnserve binary at startup, set OPTIONS here.
OPTIONS="--threads --root /home/svn"

 

 

5. init.d 자동실행될 파일 생성
# vim /etc/init.d/subversion
아래 내용 추가
#!/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

 

 

6. subversion 실행
# cd /etc/init.d/
# chmod 755 /etc/init.d/subversion
# /etc/init.d/subversion start
리스타트는
# /etc/init.d/subversion restart
정상적으로 subversion 실행됨
종료는
# ps -ef | grep svnserve

 

 

7. 테스트
# svn checkout svn://192.168.0.5/project
체크아웃된 리비전 0.
# svn checkout svn://centhost/project
svn checkout svn://ip혹은도메인/(프로젝트명) ex) project


정상적으로 나오는결과물은 passwd 에 설정된 아이디 패스워드 입력창이 나오거나 체크아웃된 리비전 0.

 

 

8. 방화벽 오픈 
# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 3690 -j ACCEPT
# service iptables restart

 

 

9. Booting시 자동 실행
# vi /etc/inittab
우선 서버의 실행 Level을 확인해야 하는데 /etc/inittab의 18번째 줄 내용을 확인한다.
id:5:initdefault:
본 id와 initdefault사이의 값인 5값을 확인한다. (X11로 booting한다는 의미)
# cd /etc/rc5.d
# vi S99local
/etc/init.d/subversion start &
적당한 줄에 상기 내용을 추가

다른 방법
# vi /etc/rc.d/rc.local
아래 내용 추가
svnserve -d -r /home/svn --listen-host=0.0.0.0


[출처] http://seban21.blog.me/70084873748

[출처] centos 5.3 svn 설치|작성자 세바니