===== SVN ===== * [[utils:svn|SVN Windows]] ==== SVN설치 ==== sudo apt-get install subversion ==== 저장소 설정 ==== sudo mkdir /home/svn sudo svnadmin create /home/svn/REPO === repository 권한 설정 === # svn 그룹을 만들고 권한 설정을 한다. sudo groupadd svn sudo chgrp svn /home/svn/ sudo chmod g+w /home/svn/ sudo usermod -a -G svn 계정명 ==== 계정 설정 ==== /conf# vi svnserve.conf [general] anon-access = none auth-access = write password-db = passwd authz-db = authz * 패스워드설정 /conf# vi passwd [users] svnuser1 = P@ssw0rd * 사용자의 폴더 권한 설정 conf# vi authz svnuser1 = rw ===== 서비스 ===== ==== 서비스등록 ==== # cd /etc/init.d # vi svnserve svnserve 파일을 생성해서 아래 내용을 입력합니다. DAEMON_ARGS="-d -r /home/svn/repos" 이 부분을 세팅하는 환경에 맞도록 수정하면 됩니다. #! /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 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 위의 파일을 서비스에 등록합니다. # update-rc.d svnserve defaults 서비스 시작/종료/재시작 # service svnserve start # service svnserve stop # service svnserve restart