문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| linux:svn [2024/12/02 12:00] – [저장소 설정] taekgu | linux:svn [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| + | ===== SVN ===== | ||
| + | * [[utils: | ||
| + | ==== SVN설치 ==== | ||
| + | <code bash> | ||
| + | sudo apt-get install subversion | ||
| + | </ | ||
| + | ==== 저장소 설정 ==== | ||
| + | <code bash> | ||
| + | sudo mkdir /home/svn | ||
| + | sudo svnadmin create / | ||
| + | </ | ||
| + | === repository 권한 설정 === | ||
| + | |||
| + | <code bash> | ||
| + | # svn 그룹을 만들고 권한 설정을 한다. | ||
| + | sudo groupadd svn | ||
| + | sudo chgrp svn /home/svn/ | ||
| + | sudo chmod g+w /home/svn/ | ||
| + | sudo usermod -a -G svn 계정명 | ||
| + | </ | ||
| + | ==== 계정 설정 ==== | ||
| + | <code bash>/ | ||
| + | < | ||
| + | [general] | ||
| + | anon-access = none | ||
| + | auth-access = write | ||
| + | password-db = passwd | ||
| + | authz-db = authz | ||
| + | </ | ||
| + | * 패스워드설정 | ||
| + | <code bash> | ||
| + | /conf# vi passwd | ||
| + | </ | ||
| + | < | ||
| + | [users] | ||
| + | svnuser1 = P@ssw0rd | ||
| + | </ | ||
| + | * 사용자의 폴더 권한 설정 | ||
| + | <code bash> | ||
| + | conf# vi authz | ||
| + | </ | ||
| + | < | ||
| + | svnuser1 = rw | ||
| + | </ | ||
| + | ===== 서비스 ===== | ||
| + | ==== 서비스등록 ==== | ||
| + | <code bash> | ||
| + | # cd /etc/init.d | ||
| + | # vi svnserve | ||
| + | </ | ||
| + | svnserve 파일을 생성해서 아래 내용을 입력합니다. DAEMON_ARGS=" | ||
| + | <code bash svnserve> | ||
| + | #! /bin/sh | ||
| + | ### BEGIN INIT INFO | ||
| + | # Provides: | ||
| + | # Required-Start: | ||
| + | # Required-Stop: | ||
| + | # Default-Start: | ||
| + | # Default-Stop: | ||
| + | # Short-Description: | ||
| + | ### END INIT INFO | ||
| + | |||
| + | # Author: Michal Wojciechowski < | ||
| + | |||
| + | PATH=/ | ||
| + | DESC=" | ||
| + | NAME=svnserve | ||
| + | DAEMON=/ | ||
| + | DAEMON_ARGS=" | ||
| + | PIDFILE=/ | ||
| + | SCRIPTNAME=/ | ||
| + | |||
| + | [ -x " | ||
| + | |||
| + | [ -r / | ||
| + | |||
| + | . / | ||
| + | |||
| + | . / | ||
| + | |||
| + | 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/ | ||
| + | RETVAL=" | ||
| + | [ " | ||
| + | start-stop-daemon --stop --quiet --oknodo --retry=0/ | ||
| + | [ " | ||
| + | rm -f $PIDFILE | ||
| + | return " | ||
| + | } | ||
| + | |||
| + | case " | ||
| + | start) | ||
| + | [ " | ||
| + | do_start | ||
| + | case " | ||
| + | 0|1) [ " | ||
| + | 2) [ " | ||
| + | esac | ||
| + | ;; | ||
| + | stop) | ||
| + | [ " | ||
| + | do_stop | ||
| + | case " | ||
| + | 0|1) [ " | ||
| + | 2) [ " | ||
| + | esac | ||
| + | ;; | ||
| + | restart|force-reload) | ||
| + | log_daemon_msg " | ||
| + | do_stop | ||
| + | case " | ||
| + | 0|1) | ||
| + | do_start | ||
| + | case " | ||
| + | 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 " | ||
| + | exit 3 | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | exit 0 | ||
| + | </ | ||
| + | |||
| + | 위의 파일을 서비스에 등록합니다. | ||
| + | <code bash> | ||
| + | # update-rc.d svnserve defaults | ||
| + | </ | ||
| + | 서비스 시작/ | ||
| + | <code bash> | ||
| + | # service svnserve start | ||
| + | # service svnserve stop | ||
| + | # service svnserve restart | ||
| + | </ | ||