※ Subversion 설치 참고

 

[SVN] WSL2 Subversion 설치

※ 윈도우 WSL2 설치 참고 [Window] 윈도우 10 WSL 2 설치 방법 1. WSL 설치 조건 : Window 11 이상 or Window 10 버전 2004 이상(빌드 19041 이상) PowerShell 혹은 cmd 를 관리자 권한으로 실행 후 입력 wsl --install ※ Win

junghunnote.tistory.com


1. 기본 섹션

[aliases]
#joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
a_team = user1, user2, manager1
b_team = user3, user4, manager2
c_team = user5, user6, manager3
managers = manager1, manager2, manager3
dev_team = @a_team, @b_team, @c_team


[/]
root = rw
@dev_team = r

[/a_project]
@a_team = rw

[/b_project]
@b_team = rw

[/c_project]
@c_team = rw

[/manage]
@managers = rw
  • aliases (별칭 지정)
  • groups (그룹 지정)
  • 이후 경로별 권한 부여 섹션

2. aliase 섹션

  • 별칭을 지정하여 사용한다고 예시가 되어있으나, 테스트가 되지 않음
  • 예시의 joe 별칭은 인증서의 정보를 기준으로 별칭을 만들어서 구분하게 하는듯 함

3. groups 섹션

  • 사용자, 그룹들을 조합해 그룹을 만들 수 있음
dev_team = @a_team, @b_team, @c_team
  • 위와 같이 그룹들을 모아서 새로운 그룹을 만들 수 있음

4. 경로별 권한 부여 섹션

  • 기본적으로 [SVN저장소명:경로] 로 섹션 정의
  • 하지만 SVN저장소 내부의 authz 파일이기 때문에 [경로] 가 편함 (apache-subversion의 경우 다를 수 있음)
  • 섹션 아래에는 아래와 같이 권한 부여
    • 사용자명 = 권한
    • @그룹명 = 권한
  • 권한은 ''(접근불가) 'r'(읽기 가능) 'rw'(읽기쓰기 가능) 3가지
[groups]
a_team = user1
b_team = user2
c_team = user3
dev_team = @a_team, @b_team, @c_team

[/]
root = rw
@dev_team = r

[/a_project]
@a_team = rw
@b_team =
[/]
  - root 사용자 읽기쓰기 가능
  - dev_team 그룹 읽기 가능

[/a_project]
  - root 사용자 읽기쓰기 가능
  - a_team 그룹 읽기쓰기 가능
  - b_team 그룹 접근불가
  - c_team 그룹 읽기 가능

'형상관리 > SubVersion' 카테고리의 다른 글

[SVN] Subversion 기본 Service 등록  (1) 2024.01.04
[SVN] Subversion 포트 지정  (0) 2024.01.04
[SVN] WSL2 Subversion 설치  (0) 2023.12.28

  ※ Subversion 설치 참고

 

[SVN] WSL2 Subversion 설치

※ 윈도우 WSL2 설치 참고 [Window] 윈도우 10 WSL 2 설치 방법 1. WSL 설치 조건 : Window 11 이상 or Window 10 버전 2004 이상(빌드 19041 이상) PowerShell 혹은 cmd 를 관리자 권한으로 실행 후 입력 wsl --install ※ Win

junghunnote.tistory.com


1. SVN 서비스 파일 생성

  • Service 파일 경로 이동
cd /etc/init.d
  • Service 파일 생성
sudo vi 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 /home/user/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
  • DAEMON_ARGS를 환경에 맞게 수정
# DAEMON_ARGS="-d -r /SVN부모폴더경로"
DAEMON_ARGS="-d -r /home/user/svn"

 

  ※ 다른 포트로 등록하고 싶다면

더보기
# DAEMON_ARGS="-d -r /SVN부모폴더경로 --listen-port 원하는포트번호"
DAEMON_ARGS="-d -r /home/user/svn --listen-port 9292"

2. SVN 서비스 등록 / 실행

  • 파일 실행 권한 변경
sudo chmod 755 svnserve
  • 기본 Service 등록
sudo update-rc.d svnserve defaults
  • Service 실행
sudo service svnserve start

 

  ※ Service 정지

더보기
sudo killall svnserve

  ※ svnserve 서비스 자동 시작 안되면

더보기

 

  • 사용중인 초기화 시스템 확인
ps --no-headers -o comm 1
  • init 이 출력되면 정상, systemd 이 출력되면 클릭
  • WSL 시작할때 서비스 실행하도록 설정
echo "/etc/init.d/svnserve start" >> ~/.bashrc

  ※ 윈도우 재부팅시 자동 시작 원하면

 

[Window] 윈도우 10 부팅시 WSL 2 자동 실행

※ 윈도우 WSL2 설치 참고 [Window] 윈도우 10 WSL 2 설치 방법 1. WSL 설치 조건 : Window 11 이상 or Window 10 버전 2004 이상(빌드 19041 이상) PowerShell 혹은 cmd 를 관리자 권한으로 실행 WSL 다운로드 wsl --install

junghunnote.tistory.com


참조

  1. https://bab-dev-study.tistory.com/26

'형상관리 > SubVersion' 카테고리의 다른 글

[SVN] authz 작성 방법  (0) 2024.01.04
[SVN] Subversion 포트 지정  (0) 2024.01.04
[SVN] WSL2 Subversion 설치  (0) 2023.12.28

  ※ Subversion 설치 참고

 

[SVN] WSL2 Subversion 설치

※ 윈도우 WSL2 설치 참고 [Window] 윈도우 10 WSL 2 설치 방법 1. WSL 설치 조건 : Window 11 이상 or Window 10 버전 2004 이상(빌드 19041 이상) PowerShell 혹은 cmd 를 관리자 권한으로 실행 후 입력 wsl --install ※ Win

junghunnote.tistory.com


포트 지정

  • 포트를 지정해 실행 서비스에 등록
# sudo svnserve -d -r /SVN부모폴더경로 --listen-port 원하는포트번호
sudo svnserve -d -r /home/user/svn --listen-port 9292
  • WSL 포트 방화벽 열기
# sudo ufw allow 원하는포트번호/tcp
sudo ufw allow 9292/tcp

 

'형상관리 > SubVersion' 카테고리의 다른 글

[SVN] authz 작성 방법  (0) 2024.01.04
[SVN] Subversion 기본 Service 등록  (1) 2024.01.04
[SVN] WSL2 Subversion 설치  (0) 2023.12.28

  ※ 윈도우 WSL2 설치 참고

 

[Window] 윈도우 10 WSL 2 설치 방법

1. WSL 설치 조건 : Window 11 이상 or Window 10 버전 2004 이상(빌드 19041 이상) PowerShell 혹은 cmd 를 관리자 권한으로 실행 후 입력 wsl --install ※ Window 빌드 확인 방법 더보기 cmd 를 실행 후 입력 ver ※ 조건

junghunnote.tistory.com


1. Subversion 패키지 설치

  • wsl 창 실행
  • apt 업데이트
sudo apt update
  • Subversion 패키지 설치
sudo apt-get install subversion

2. Subversion 저장소 생성

  • SVN 저장소 부모 폴더 생성 (하위에 여러 SVN 저장소 생성 가능)
# sudo mkdir /원하는경로/원하는폴더명
sudo mkdir /home/user/svn
  • SVN 저장소(repository) 생성
# sudo svnadmin create /부모폴더경로/원하는저장소명
sudo svnadmin create /home/user/svn/test

3. Subversion 서버 설정

  • 설정 폴더로 이동
# cd /SVN저장소경로/conf
cd /home/user/svn/test/conf
  • SVN 서버 설정
-  svnserve.conf 파일 편집
sudo vi ./svnserve.conf​


-  하얀부분 주석 해제

[general]
anon-access = none	# 익명의 엑세스 읽기, 쓰기 비허용
auth-access = write	# 권한있는 엑세스 읽기, 쓰기까지 가능
password-db = passwd	# 사용자 계정 정보 DB로 passwd 파일 사용
authz-db = authz	# 사용자 계정 권한 정보 DB로 authz 파일 사용
  • 유저 정보 설정
-  passwd 파일 편집
sudo vi ./passwd​


-  유저 정보 추가 ( 아이디 =  비밀번호 )

[users]
root = test123


아이디 = root
비밀번호 = test123

  • 유저 권한 설정
-  authz 파일 편집
sudo vi ./authz​


-  유저 권한 설정

[/]
root = rw


계정명 = r(읽기), w(쓰기)

  ※ 유저 권한 설정 참고

 

[SVN] authz 작성 방법

※ Subversion 설치 참고 [SVN] WSL2 Subversion 설치 ※ 윈도우 WSL2 설치 참고 [Window] 윈도우 10 WSL 2 설치 방법 1. WSL 설치 조건 : Window 11 이상 or Window 10 버전 2004 이상(빌드 19041 이상) PowerShell 혹은 cmd 를 관

junghunnote.tistory.com


4. Subversion 서버 실행

  • 실행 서비스에 등록
# sudo svnserve -d -r /부모폴더경로
sudo svnserve -d -r /home/user/svn
  • WSL 포트 방화벽 열기
sudo ufw allow 3690/tcp

 

  • SVN 저장소 확인 ( svn 클라이언트 등 )
-  로컬 접속 URL
# svn://localhost:3690/SVN저장소명
svn://localhost:3690/test


- 외부 접속 URL (공유기를 거친다면 포트포워딩 작업이 필요)

# svn://공인IP주소:3690/SVN저장소명
svn://123.123.321.321:3690/test


  ※ 외부에서 접속시 윈도우PC - WSL 포트포워딩 작업 필요

 

[Window] 윈도우 10 WSL 2 포트포워딩

※ 윈도우 WSL2 설치 참고 [Window] 윈도우 10 WSL 2 설치 방법 1. WSL 설치 조건 : Window 11 이상 or Window 10 버전 2004 이상(빌드 19041 이상) PowerShell 혹은 cmd 를 관리자 권한으로 실행 WSL 다운로드 wsl --install

junghunnote.tistory.com

 

  ※ 서비스 정지

더보기
sudo killall svnserve

    PC 재부팅시 SVN 서버 꺼지는 문제

 

[SVN] Subversion 기본 Service 등록

※ Subversion 설치 참고 [SVN] WSL2 Subversion 설치 ※ 윈도우 WSL2 설치 참고 [Window] 윈도우 10 WSL 2 설치 방법 1. WSL 설치 조건 : Window 11 이상 or Window 10 버전 2004 이상(빌드 19041 이상) PowerShell 혹은 cmd 를 관

junghunnote.tistory.com

    Subversion - Apache 연동

추후 링크  연결


참조

  1. https://qteveryday.tistory.com/94
  2. https://typingdog.tistory.com/99

'형상관리 > SubVersion' 카테고리의 다른 글

[SVN] authz 작성 방법  (0) 2024.01.04
[SVN] Subversion 기본 Service 등록  (1) 2024.01.04
[SVN] Subversion 포트 지정  (0) 2024.01.04

+ Recent posts