캠핑과 개발

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 설치|작성자 세바니