wilson's story

Ubuntu 16.04 SVN 설치 본문

Linux

Ubuntu 16.04 SVN 설치

wilson 2019. 8. 6. 14:12
반응형


1. svn 설치

apt-get install subversion

 

2. svn을 적용할 폴더 생성
mkdir /svn/repos

3. 이동

cd /svn/repos

 

4. 저장소 생성하기
svnadmin create 저장소명

5. 저장소 설정하기

cd /svn/repos/저장소명/conf/

 

6. 접근 가능 아이디와 패스워드 생성
vi passwd 

[users]
test=1234

 

7. 접근 가능 설정
vi svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd

 

 


8. svn 서비스로 등록 하기

cd /etc/init.d/

9. svnserve 파일생성 및 작성
vi svnserve

DAEMON_ARGS="-d -r /svn/repos"   2)에서 만든 폴더 작성

하위 내용 복사 하여 붙여넣기

#! /bin/sh 
### BEGIN INIT INFO 
# Provides:          svnserve 
# Required-Start:    $local_fs $syslog $remote_fs 
# Required-Stop:     $local_fs $syslog $remote_fs 
# Default-Start:     2 3 4 5 
# Default-Stop:      0 1 6 
# Short-Description: Start svnserve 
### END INIT INFO 

# Author: Michal Wojciechowski <odyniec@odyniec.net> 

PATH=/sbin:/usr/sbin:/bin:/usr/bin 
DESC="svnserve" 
NAME=svnserve 
DAEMON=/usr/bin/$NAME 
DAEMON_ARGS="-d -r /svn/repos" 
PIDFILE=/var/run/$NAME.pid 
SCRIPTNAME=/etc/init.d/$NAME 

[ -x "$DAEMON" ] || exit 0 

[ -r /etc/default/$NAME ] && . /etc/default/$NAME 

. /lib/init/vars.sh 

. /lib/lsb/init-functions 

do_start() 
{ 
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ 
|| return 1 
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ 
$DAEMON_ARGS \ 
|| return 2 
} 

do_stop() 
{ 
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME 
RETVAL="$?" 
[ "$RETVAL" = 2 ] && return 2 
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON 
[ "$?" = 2 ] && return 2 
rm -f $PIDFILE 
return "$RETVAL" 
} 

case "$1" in 
  start) 
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" 
do_start 
case "$?" in 
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; 
esac 
;; 
  stop) 
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" 
do_stop 
case "$?" in 
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; 
esac 
;; 
  restart|force-reload) 
log_daemon_msg "Restarting $DESC" "$NAME" 
do_stop 
case "$?" in 
  0|1) 
do_start 
case "$?" in 
0) log_end_msg 0 ;; 
1) log_end_msg 1 ;; # Old process is still running 
*) log_end_msg 1 ;; # Failed to start 
esac 
;; 
  *) 
   # Failed to stop 
log_end_msg 1 
;; 
esac 
;; 
  *) 
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 
exit 3 
;; 
esac 

exit 0

 

10. svnserve 등록
update-rc.d svnserve defaults

 

11. 구동방법
service svnserve start
service svnserve stop
service svnserve restart

 

Tip. 

이렇게 해도 동작을 안할시 port가 열려있는지 확인한다

방화벽 확인해 보기
SVN PORT는 3690 


방화벽 열기
sudo ufw allow 3690/tcp
sudo ufw allow 3690/udp

방화벽 규칙 제거
sudo ufw delete allow 3690/tcp 

 

 

반응형