'ubuntu'에 해당되는 글 1건

  1. 2018.09.06 :: aws(아마존) ec2-ubuntu svn 설치
인프라/AWS 2018. 9. 6. 21:38

aws ec2(ubuntu) 기준으로 진행하였습니다.


~$ svn

The program 'svn' is currently not installed. You can install it by typing: sudo apt-get install subversion


->설치가 되지 않은 것입니다. 설치를 해줍니다.


~$ sudo apt-get install subversion


->설치 후 잘 설치가 되었는지 버전을 확인해봅니다.


~$svn --version


->만약 문제 없이 버전이 잘나온다면 설치가 잘된 것이겠죠.


~$mkdir svn


->폴더를 하나 만들어줍니다.(원하는 위치에 하시면 되지만 저는 일단 $HOME에 생성했습니다.)


~$cd svn

~svn$svnadmin create --fs-type fsfs repos


->저장소를 생성해줍니다.


~$cd repos/conf

~$vi svnserve.conf


anon-access = none =>익명사용자 사용불가

auth-access = write =>인증사용자 읽기/쓰기

password-db = passwd =>아이디/패스워드가 담길 파일

authz-db = authz 


->요놈들을 바꿀것은 바꾸고 주석을 풀어줍니다.


~$vi passwd


[users]

yeoseong = 1234 =>아이디/패스워드를 저장해줍니다.


~$vi authz


[groups]


team = yeoseong

[/]

*=r

@team=rw

[repository:/]

@rnbchatbot=rw


->team이라는 그룹에 권한을 넣어주는 설정(나중에 사용자가 여러명이라면 "," 으로 사용자를 추가한다 ex. team=yeoseong,kiseok,wonhyeok)


~$cd /etc/init.d

~/etc/init.d/$vi svnserve


#! /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 /home/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

svnserve 를 서비스로 등록시켜주기 위해 이 파일을 작성해줍니다.(부팅시에 해당 서비스가 자동으로 시작됨. 관리자가 수동으로 실행시켜줄 필요없음)


위에서 

DAEMON_ARGS="-d -r /home/svn/repos"

이부분만 자신의 환경에 맞게 작성해주면 됩니다.


~$sudo chmod 755 /etc/init.d/svnserve


~$sudo update-rc.d svnserve defaults =>서비스로 등록해줍니다.


# service svnserve start
# service svnserve stop
# service svnserve restart


svn://server_ip/reposName 으로 접속해주면 됩니다.

svnserve -d -r /home/ubuntu/svn/repos/


posted by 여성게
: