Ubutu 16.04 subversion install
########### subversion
apt-get update apt-get install subversion
######### 저장소 생성
mkdir -p /server/svn svnadmin create /server/svn/repos
########## 저장소의 기본 설정
cd /server/svn/repos/conf vi svnserve.conf anon-access = read auth-access = write password-db = passwd
############ 사용자 추가
vi passwd dev = dev
############ svn 서버 시작
svnserve -d -r /server/svn
############# Creating basic directory structure
svn mkdir --parents -m" Creating basic directory structure" \
svn://192.168.137.150/repos/trunk svn://192.168.137.150/repos/branches svn://192.168.137.150/repos/tags
svn mkdir --parents -m" Creating basic directory structure" \
> svn://192.168.137.150/repos/trunk svn://192.168.137.150/repos/branches svn://192.168.137.150/repos/tags
Authentication realm: ffac4039-ad9e-41c3-85d9-065681a619ab
Password for 'root': ********
Authentication realm: ffac4039-ad9e-41c3-85d9-065681a619ab
Username: dev01
Password for 'dev01': *****
-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm:
ffac4039-ad9e-41c3-85d9-065681a619ab
can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? no
Committing transaction...
Committed revision 1.
######### 서버 시작시 svn 서버 자동 시작하도록 rc.local 에 추가
vi /etc/rc.local svnserve -d -r /server/svn
########### svn 서버를 서비스로 등록
touch /etc/init.d/svnserve chmod 755 /etc/init.d/svnserve vi /etc/init.d/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 WojciechowskiPATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="svnserve" NAME=svnserve DAEMON=/usr/bin/$NAME DAEMON_ARGS="-d -r /server/svn" 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|stop|restart

