OS/Linux
Ubuntu 18.04 : svn 설치
파란크리스마스
2018. 10. 8. 03:11
728x90
출처
- 우분투에서 Subversion 설치 및 설정
- Ubuntu – How to install SVN (Subversion)
- 리눅스 svn서버 설치 및 설정
- SVN 권한 설정
- [Centos] Subversion 설치하기
- CentOS에 Subversion 설치후 설정하기
svn 설치
# apt-get install -y subversion
저장소(repository) 생성
# svnadmin create --fs-type fsfs /bluesanta/Repositories
svn 환경파일(/conf/svnserve.conf) 수정
# vi /bluesanta/Repositories/conf/svnserve.conf
[general] #인증되지않은(즉 계정이 없는) 사용자에 대해 접근을 거부한다. anon-access = none #인증된 사용자에 대해 쓰기 권한을 준다. auth-access = write #인증된 사용자에 대한 계정 정보(아이디/패스) 정보가 기록된 파일명을 의미한다.(기본값 passwd) password-db = passwd #인증된 사용자에 대해 저장소에 대한 권한 설정이 기록된 파일명(기본값) #authz-db = authz #현재 파일에 해당되는 저장소의 영역에 대해 설정 #realm = bluesanta_proj
사용자 관리(/conf/passwd) 파일
# vi passwd
[users] bluesanta = {password}
사용자 관리(/conf/authz) 파일
# vi authz
[/android_library] bluesanta = rw
svn 시작
# svnserve -d -r /bluesanta/Repositories
svn 종료
# killall svnserve
svn 포트 개발(3690)
# firewall-cmd --permanent --zone=public --add-port=3690/tcp # firewall-cmd --reload
svn editor 설정
# SVN_EDITOR=/usr/bin/vim # export SVN_EDITOR
svn 기본 디렉토리 만들기
$ svn mkdir svn://localhost/android_library
svn 데몬 자동실행
$ sudo vi /etc/rc.local
# Subversion svnserve -d -r /bluesanta/Repositories
서비스 등록
$ 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 /bluesanta/Repositories" 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 파일 복사
$ sudo cp svnserve /etc/init.d $ sudo chmod u+x /etc/init.d/svnserve
서비스 등록
$ sudo update-rc.d svnserve defaults
서비스 실행
$ sudo service svnserve start
서비스 실행 정보 확인
$ sudo service svnserve status ● svnserve.service - LSB: Start svnserve Loaded: loaded (/etc/init.d/svnserve; generated) Active: active (running) since Wed 2018-10-03 21:37:05 KST; 11s ago Docs: man:systemd-sysv-generator(8) Process: 2338 ExecStop=/etc/init.d/svnserve stop (code=exited, status=0/SUCCESS) Process: 2380 ExecStart=/etc/init.d/svnserve start (code=exited, status=0/SUCCESS) Tasks: 1 (limit: 4915) CGroup: /system.slice/svnserve.service └─2387 /usr/bin/svnserve -d -r /bluesanta/Repositories 10월 03 21:37:05 bluesanta-ubuntu systemd[1]: Starting LSB: Start svnserve... 10월 03 21:37:05 bluesanta-ubuntu svnserve[2386]: DIGEST-MD5 common mech free 10월 03 21:37:05 bluesanta-ubuntu systemd[1]: Started LSB: Start svnserve.