2018. 9. 6. 21:38ㆍ인프라/AWS
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/
'인프라 > AWS' 카테고리의 다른 글
SVN 사용법(trunk,branches,tags 용어설명 및 생성,사용전략 설명) (0) | 2018.09.19 |
---|---|
이클립스 svn 연동 (0) | 2018.09.07 |
맥에서 아마존 ec2(ubuntu) ssh 접속방법 (0) | 2018.09.05 |