1. subversion 패키지 설치
sudo apt-get install subversion
2. SVN에서 사용할 repository 디렉토리 생성
sudo mkdir -p /data/svn/repository
3. repository 설정
cd /data/svn/repository
sudo svnadmin create javasvn
4. 계정 설정
sudo nano /data/svn/repository/javasvn/conf/passwd
[users] 의 맨 아래에 자신이 사용할 계정 이름과 비밀번호를 추가한다.
[users]
# harry = harryssecret
# sally = sallyssecret
chordncode = 12345!
5. 접속 환경 설정
svnserve.conf 파일을 열어 주석 처리된 줄을 몇 개 해제하고 수정한다.
sudo nano /data/svn/repository/javasvn/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
6. 자동 실행을 위한 service 파일 생성
svn을 서비스에 등록하기 위해 /etc/init.d 디렉토리에 파일을 생성한다.
sudo nano /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
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="svnserve"
NAME=svnserve
DAEMON=/usr/bin/$NAME
DAEMON_ARGS="-d -r /data/svn/repository"
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
파일 작성 후 권한을 설정하고 서비스에 등록한다.
sudo chmod 755 /etc/init.d/svnserve
sudo update-rc.d svnserve defaults
sudo service svnserve start
오류가 없었다면 설치에 성공한 것이다.
sudo service svnserve status
7. 포트 개방
외부에서 svn 서버에 접속을 하기 위해서는 3690번 포트를 개방해야한다.
sudo ufw allow 3690
'Linux' 카테고리의 다른 글
자바에서 리눅스에 명령 내리기 (1) | 2023.01.06 |
---|---|
리눅스 기본 명령어 (0) | 2023.01.01 |
우분투 20.04 윈도우 공유 폴더 접근하기 (0) | 2022.12.28 |
리눅스 날짜 설정 (0) | 2022.12.26 |
우분투 20.04 웹서버 구축 (0) | 2022.12.25 |