문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| linux:svn [2018/12/13 07:20] – [서비스] taekgu | linux:svn [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ===== SVN ===== | ===== SVN ===== | ||
| + | * [[utils: | ||
| ==== SVN설치 ==== | ==== SVN설치 ==== | ||
| <code bash> | <code bash> | ||
| 줄 9: | 줄 9: | ||
| sudo mkdir /home/svn | sudo mkdir /home/svn | ||
| sudo svnadmin create / | sudo svnadmin create / | ||
| - | sudo mkdir trunk tags branches | + | </ |
| + | |||
| + | === repository 권한 설정 === | ||
| + | |||
| + | <code bash> | ||
| + | # svn 그룹을 만들고 권한 설정을 한다. | ||
| + | sudo groupadd svn | ||
| + | sudo chgrp svn / | ||
| + | sudo chmod g+w / | ||
| + | sudo usermod -a -G svn 계정명 | ||
| </ | </ | ||
| ==== 계정 설정 ==== | ==== 계정 설정 ==== | ||
| 줄 35: | 줄 44: | ||
| svnuser1 = rw | svnuser1 = rw | ||
| </ | </ | ||
| - | ==== 서비스 ==== | + | ===== 서비스 |
| - | | + | ==== 서비스등록 ==== |
| <code bash> | <code bash> | ||
| - | # vi /etc/init/svnserve.conf | + | # cd /etc/init.d |
| + | # vi svnserve | ||
| </ | </ | ||
| - | < | + | svnserve 파일을 생성해서 아래 내용을 입력합니다. DAEMON_ARGS=" |
| - | description | + | < |
| - | start on (local-filesystems and net-device-up IFACE=lo and started udev-finish) | + | #! /bin/sh |
| - | stop on runlevel | + | ### BEGIN INIT INFO |
| - | chdir /home/svn | + | # Provides: |
| - | respawn | + | # Required-Start: |
| - | respawn limit 2 3600 | + | # Required-Stop: |
| - | exec /usr/bin/ | + | # Default-Start: |
| + | # Default-Stop: | ||
| + | # Short-Description: | ||
| + | ### END INIT INFO | ||
| + | |||
| + | # Author: Michal Wojciechowski < | ||
| + | |||
| + | PATH=/ | ||
| + | DESC="svnserve" | ||
| + | NAME=svnserve | ||
| + | DAEMON=/ | ||
| + | DAEMON_ARGS=" | ||
| + | PIDFILE=/ | ||
| + | SCRIPTNAME=/ | ||
| + | |||
| + | [ -x " | ||
| + | |||
| + | [ -r / | ||
| + | |||
| + | . /lib/init/ | ||
| + | |||
| + | . / | ||
| + | |||
| + | do_start() | ||
| + | { | ||
| + | start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ | ||
| + | || return 1 | ||
| + | start-stop-daemon | ||
| + | $DAEMON_ARGS \ | ||
| + | || return 2 | ||
| + | } | ||
| + | |||
| + | do_stop() | ||
| + | { | ||
| + | start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME | ||
| + | RETVAL=" | ||
| + | [ " | ||
| + | start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON | ||
| + | [ " | ||
| + | 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> | <code bash> | ||
| - | root@zetawiki: | + | # update-rc.d |
| - | svnserve start/running, process 25491 | + | </code> |
| - | root@zetawiki: | + | 서비스 시작/종료/재시작 |
| - | root | + | <code bash> |
| - | root@zetawiki: | + | # service |
| - | tcp 0 0 0.0.0.0: | + | # service |
| + | # service | ||
| </ | </ | ||
| - | |||